From 1c9f2601a86ab5009babc327a6146d00dc2b3554 Mon Sep 17 00:00:00 2001 From: Joel16 Date: Mon, 11 Jul 2022 23:03:30 -0400 Subject: [PATCH] ntpsp: Initial commit --- .gitignore | 58 ++ LICENSE | 29 + Makefile | 7 + app/Makefile | 44 + app/build.mak | 190 ++++ app/data/intraFont.prx | Bin 0 -> 17874 bytes app/data/iop.prx | Bin 0 -> 8062 bytes app/data/logo.png | Bin 0 -> 22213 bytes app/data/vlf.prx | Bin 0 -> 637586 bytes app/include/log.h | 3 + app/include/net.h | 4 + app/include/ntp.h | 5 + app/include/utils.h | 6 + app/source/crt0.c | 78 ++ app/source/log.c | 29 + app/source/main.c | 70 ++ app/source/net.c | 40 + app/source/ntp.c | 208 ++++ libs/include/vlf.h | 2035 ++++++++++++++++++++++++++++++++++++++++ libs/lib/libvlfgu.a | Bin 0 -> 101070 bytes libs/lib/libvlfgui.a | Bin 0 -> 161820 bytes libs/lib/libvlflibc.a | Bin 0 -> 88944 bytes libs/lib/libvlfutils.a | Bin 0 -> 211468 bytes plugin/Makefile | 27 + plugin/exports.exp | 16 + plugin/rtc_driver.c | 21 + 26 files changed, 2870 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 Makefile create mode 100755 app/Makefile create mode 100755 app/build.mak create mode 100755 app/data/intraFont.prx create mode 100755 app/data/iop.prx create mode 100755 app/data/logo.png create mode 100755 app/data/vlf.prx create mode 100644 app/include/log.h create mode 100644 app/include/net.h create mode 100644 app/include/ntp.h create mode 100644 app/include/utils.h create mode 100755 app/source/crt0.c create mode 100644 app/source/log.c create mode 100755 app/source/main.c create mode 100644 app/source/net.c create mode 100644 app/source/ntp.c create mode 100755 libs/include/vlf.h create mode 100755 libs/lib/libvlfgu.a create mode 100755 libs/lib/libvlfgui.a create mode 100755 libs/lib/libvlflibc.a create mode 100755 libs/lib/libvlfutils.a create mode 100644 plugin/Makefile create mode 100644 plugin/exports.exp create mode 100644 plugin/rtc_driver.c diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c96bc30 --- /dev/null +++ b/.gitignore @@ -0,0 +1,58 @@ +# Prerequisites +*.d +.vscode/ + +# Object files +*.o +*.ko +*.obj +*.elf +*.SFO + +# Linker output +*.ilk +*.map + +# Precompiled Headers +*.gch +*.pch + +# Libraries +*.lib +*.la +*.lo + +# Shared objects (inc. Windows DLLs) +*.dll +*.so +*.so.* +*.dylib + +# Executables +*.exe +*.out +*.app +*.i*86 +*.x86_64 +*.hex +*.PBP + +# Debug files +*.dSYM/ +*.su +*.idb +*.pdb + +# Kernel Module Compile Results +*.mod* +*.cmd +.tmp_versions/ +modules.order +Module.symvers +Mkfile.old +dkms.conf + +# CMFileManager PSP Specific objects +app/NTPSP.prx +app/drivers/*.S +app/data/rtc_driver.prx diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f629479 --- /dev/null +++ b/LICENSE @@ -0,0 +1,29 @@ +BSD 3-Clause License + +Copyright (c) 2022, Joel +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..0da9f81 --- /dev/null +++ b/Makefile @@ -0,0 +1,7 @@ +SUBDIRS = plugin app + +all: + @for dir in $(SUBDIRS); do $(MAKE) -C $$dir; done + +clean: + @for dir in $(SUBDIRS); do $(MAKE) clean -C $$dir; done diff --git a/app/Makefile b/app/Makefile new file mode 100755 index 0000000..60fd52a --- /dev/null +++ b/app/Makefile @@ -0,0 +1,44 @@ +TARGET = NTPSP + +SOURCES := data drivers source +CFILES := $(foreach dir, $(SOURCES), $(wildcard $(dir)/*.c)) +SFILES := $(foreach dir, $(SOURCES), $(wildcard $(dir)/*.S)) +CPPFILES := $(foreach dir, $(SOURCES), $(wildcard $(dir)/*.cpp)) +FONTFILES := $(foreach dir, $(SOURCES), $(wildcard $(dir)/*.pgf)) +GFXFILES := $(foreach dir, $(SOURCES), $(wildcard $(dir)/*.png)) +PRXFILES := $(foreach dir, $(SOURCES), $(wildcard $(dir)/*.prx)) + +OBJS := $(addsuffix .o,$(BINFILES)) $(CFILES:.c=.o) $(SFILES:.S=.o) $(CPPFILES:.cpp=.o) \ + $(FONTFILES:.pgf=.o) $(GFXFILES:.png=.o) $(PRXFILES:.prx=.o) + +VERSION_MAJOR := 1 +VERSION_MINOR := 0 + +INCDIR = ../libs/ ../libs/include include +CFLAGS = -Os -G0 -Wall -ffast-math -Wno-narrowing -Wno-unused-variable \ + -DVERSION_MAJOR=$(VERSION_MAJOR) -DVERSION_MINOR=$(VERSION_MINOR) +CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti -std=gnu++17 +ASFLAGS := $(CFLAGS) + +BUILD_PRX = 1 +PSP_LARGE_MEMORY = 1 + +LIBDIR = ../libs/lib +LDFLAGS = -nostdlib -nodefaultlibs +LIBS = -lpspmodinfo -lpsprtc -lvlfgui -lvlfgu -lvlfutils -lvlflibc + +EXTRA_TARGETS = EBOOT.PBP +PSP_EBOOT_TITLE = NTPSP v$(VERSION_MAJOR).$(VERSION_MINOR)$(VERSION_MICRO) +# PSP_EBOOT_ICON = ../ICON0.PNG + +PSPSDK=$(shell psp-config --pspsdk-path) +include ./build.mak + +%.o: %.pgf + bin2o -i $< $@ $(addsuffix _pgf, $(basename $(notdir $<) )) + +%.o: %.png + bin2o -i $< $@ $(addsuffix _png, $(basename $(notdir $<) )) + +%.o: %.prx + bin2o -i $< $@ $(addsuffix _prx, $(basename $(notdir $<) )) diff --git a/app/build.mak b/app/build.mak new file mode 100755 index 0000000..82f4740 --- /dev/null +++ b/app/build.mak @@ -0,0 +1,190 @@ +# PSP Software Development Kit - http://www.pspdev.org +# ----------------------------------------------------------------------- +# Licensed under the BSD license, see LICENSE in PSPSDK root for details. +# +# build.mak - Base makefile for projects using PSPSDK. +# +# Copyright (c) 2005 Marcus R. Brown +# Copyright (c) 2005 James Forshaw +# Copyright (c) 2005 John Kelley +# +# $Id: build.mak 2333 2007-10-31 19:37:40Z tyranid $ + +# Note: The PSPSDK make variable must be defined before this file is included. +ifeq ($(PSPSDK),) +$(error $$(PSPSDK) is undefined. Use "PSPSDK := $$(shell psp-config --pspsdk-path)" in your Makefile) +endif + +CC = psp-gcc +CXX = psp-g++ +AS = psp-gcc +LD = psp-gcc +AR = psp-ar +RANLIB = psp-ranlib +STRIP = psp-strip +MKSFO = mksfo +PACK_PBP = pack-pbp +FIXUP = psp-fixup-imports + +# Add in PSPSDK includes and libraries. +INCDIR := $(INCDIR) . $(PSPSDK)/include +LIBDIR := $(LIBDIR) . $(PSPSDK)/lib + +CFLAGS := $(addprefix -I,$(INCDIR)) $(CFLAGS) +CXXFLAGS := $(CFLAGS) $(CXXFLAGS) +ASFLAGS := $(CFLAGS) $(ASFLAGS) + +ifeq ($(PSP_LARGE_MEMORY),1) +MKSFO = mksfoex -d MEMSIZE=1 +endif + +ifeq ($(PSP_FW_VERSION),) +PSP_FW_VERSION=150 +endif + +CFLAGS += -D_PSP_FW_VERSION=$(PSP_FW_VERSION) +CXXFLAGS += -D_PSP_FW_VERSION=$(PSP_FW_VERSION) + +ifeq ($(BUILD_PRX),1) +LDFLAGS := $(addprefix -L,$(LIBDIR)) -specs=$(PSPSDK)/lib/prxspecs -Wl,-q,-T$(PSPSDK)/lib/linkfile.prx $(LDFLAGS) +EXTRA_CLEAN += $(TARGET).elf +# Setup default exports if needed +ifdef PRX_EXPORTS +EXPORT_OBJ=$(patsubst %.exp,%.o,$(PRX_EXPORTS)) +EXTRA_CLEAN += $(EXPORT_OBJ) +else +EXPORT_OBJ=$(PSPSDK)/lib/prxexports.o +endif +else +LDFLAGS := $(addprefix -L,$(LIBDIR)) $(LDFLAGS) +endif + +# Library selection. By default we link with Newlib's libc. Allow the +# user to link with PSPSDK's libc if USE_PSPSDK_LIBC is set to 1. + +PSPSDK_LIBC_LIB = + +# Link with following default libraries. Other libraries should be specified in the $(LIBS) variable. +# TODO: This library list needs to be generated at configure time. +# +ifeq ($(USE_KERNEL_LIBS),1) +PSPSDK_LIBS = -lpspdebug -lpspdisplay_driver -lpspctrl_driver -lpspsdk +LIBS := $(LIBS) $(PSPSDK_LIBS) $(PSPSDK_LIBC_LIB) -lpspkernel +else +ifeq ($(USE_USER_LIBS),1) +PSPSDK_LIBS = -lpspdebug -lpspdisplay -lpspge -lpspctrl -lpspsdk +LIBS := $(LIBS) $(PSPSDK_LIBS) $(PSPSDK_LIBC_LIB) -lpspnet \ + -lpspnet_inet -lpspnet_apctl -lpspnet_resolver -lpsputility \ + -lpspuser +else +PSPSDK_LIBS = -lpspdisplay -lpspge -lpspctrl -lpspsdk +LIBS := $(LIBS) $(PSPSDK_LIBS) $(PSPSDK_LIBC_LIB) -lpspnet \ + -lpspnet_inet -lpspnet_apctl -lpspnet_resolver -lpsputility \ + -lpspuser -lpspkernel +endif +endif + +# Define the overridable parameters for EBOOT.PBP +ifndef PSP_EBOOT_TITLE +PSP_EBOOT_TITLE = $(TARGET) +endif + +ifndef PSP_EBOOT_SFO +PSP_EBOOT_SFO = PARAM.SFO +endif + +ifndef PSP_EBOOT_ICON +PSP_EBOOT_ICON = NULL +endif + +ifndef PSP_EBOOT_ICON1 +PSP_EBOOT_ICON1 = NULL +endif + +ifndef PSP_EBOOT_UNKPNG +PSP_EBOOT_UNKPNG = NULL +endif + +ifndef PSP_EBOOT_PIC1 +PSP_EBOOT_PIC1 = NULL +endif + +ifndef PSP_EBOOT_SND0 +PSP_EBOOT_SND0 = NULL +endif + +ifndef PSP_EBOOT_PSAR +PSP_EBOOT_PSAR = NULL +endif + +ifndef PSP_EBOOT +PSP_EBOOT = EBOOT.PBP +endif + +ifeq ($(BUILD_PRX),1) +ifneq ($(TARGET_LIB),) +$(error TARGET_LIB should not be defined when building a prx) +else +FINAL_TARGET = $(TARGET).prx +endif +else +ifneq ($(TARGET_LIB),) +FINAL_TARGET = $(TARGET_LIB) +else +FINAL_TARGET = $(TARGET).elf +endif +endif + +all: $(EXTRA_TARGETS) $(FINAL_TARGET) + +kxploit: $(TARGET).elf $(PSP_EBOOT_SFO) + mkdir -p "$(TARGET)" + $(STRIP) $(TARGET).elf -o $(TARGET)/$(PSP_EBOOT) + mkdir -p "$(TARGET)%" + $(PACK_PBP) "$(TARGET)%/$(PSP_EBOOT)" $(PSP_EBOOT_SFO) $(PSP_EBOOT_ICON) \ + $(PSP_EBOOT_ICON1) $(PSP_EBOOT_UNKPNG) $(PSP_EBOOT_PIC1) \ + $(PSP_EBOOT_SND0) NULL $(PSP_EBOOT_PSAR) + +SCEkxploit: $(TARGET).elf $(PSP_EBOOT_SFO) + mkdir -p "__SCE__$(TARGET)" + $(STRIP) $(TARGET).elf -o __SCE__$(TARGET)/$(PSP_EBOOT) + mkdir -p "%__SCE__$(TARGET)" + $(PACK_PBP) "%__SCE__$(TARGET)/$(PSP_EBOOT)" $(PSP_EBOOT_SFO) $(PSP_EBOOT_ICON) \ + $(PSP_EBOOT_ICON1) $(PSP_EBOOT_UNKPNG) $(PSP_EBOOT_PIC1) \ + $(PSP_EBOOT_SND0) NULL $(PSP_EBOOT_PSAR) + +$(TARGET).elf: $(OBJS) $(EXPORT_OBJ) + $(LINK.c) $^ $(LIBS) -o $@ + $(FIXUP) $@ + +$(TARGET_LIB): $(OBJS) + $(AR) cru $@ $(OBJS) + $(RANLIB) $@ + +$(PSP_EBOOT_SFO): + $(MKSFO) '$(PSP_EBOOT_TITLE)' $@ + +ifeq ($(BUILD_PRX),1) +$(PSP_EBOOT): $(TARGET).prx $(PSP_EBOOT_SFO) + $(PACK_PBP) $(PSP_EBOOT) $(PSP_EBOOT_SFO) $(PSP_EBOOT_ICON) \ + $(PSP_EBOOT_ICON1) $(PSP_EBOOT_UNKPNG) $(PSP_EBOOT_PIC1) \ + $(PSP_EBOOT_SND0) $(TARGET).prx $(PSP_EBOOT_PSAR) +else +$(PSP_EBOOT): $(TARGET).elf $(PSP_EBOOT_SFO) + $(STRIP) $(TARGET).elf -o $(TARGET)_strip.elf + $(PACK_PBP) $(PSP_EBOOT) $(PSP_EBOOT_SFO) $(PSP_EBOOT_ICON) \ + $(PSP_EBOOT_ICON1) $(PSP_EBOOT_UNKPNG) $(PSP_EBOOT_PIC1) \ + $(PSP_EBOOT_SND0) $(TARGET)_strip.elf $(PSP_EBOOT_PSAR) + -rm -f $(TARGET)_strip.elf +endif + +%.prx: %.elf + psp-prxgen $< $@ + +%.c: %.exp + psp-build-exports -b $< > $@ + +clean: + -rm -f $(FINAL_TARGET) $(EXTRA_CLEAN) $(OBJS) $(PSP_EBOOT_SFO) $(PSP_EBOOT) $(EXTRA_TARGETS) + +rebuild: clean all diff --git a/app/data/intraFont.prx b/app/data/intraFont.prx new file mode 100755 index 0000000000000000000000000000000000000000..2b5a94b4b95ba4eca7725bd90bd1f19fb757d66b GIT binary patch literal 17874 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 T)zK{HPu=pm`Ze`SqD21&NAiii literal 0 HcmV?d00001 diff --git a/app/data/iop.prx b/app/data/iop.prx new file mode 100755 index 0000000000000000000000000000000000000000..5034ce64c25cb21dbfa0c03262614b95b1ead1cb GIT binary patch literal 8062 zcmeI1UuawB8OA>yD~{5rogAFj7w&crh*%fKc#Q_W(1pl9Y~rr&>VPjiA}3a37bQw0 zWpRs3)WsLRNN0D1;1!o1wx|)SsJ+zd#BdjN37*-^@P;Xd1tMrK9BhUu&IoH+_q^vk z$5EWft>X|F?7;Ewd%yF1-}`?5&ymmWZ$030xs-F6Uwf2e1(7+rLn&9|FMUC!BR`;? zRy(cd5f%vhR5}Dr821+B`Izru;p>m`6FTQOe^|nqTU* z>-U8&S5}5XJ9huft)_y3sx7;uTy@nx_}LON^sw4?C!%$3&G_H-*}BQL@;diZ8UHg? zw(js$dEH87#=lr+>+*HwbxYeb{-r&(E>}@rcix-v-)^^cRbQ6Z4Q$EyR}R^_*H4w# z&7r+VkJ`Exe|cR9?Kt|1tvmN-d0q9B8NcVatvi)1uUo3f_}@BX>&$i9yYxiH?|sA8 zT{~F5zESwS_`a<>ySKc~i+;J4vvmsx*3rT5J6CMo=*{xF+HD#Cd(?drD6eaGXZ)A* zc6}@1^11=kxA>W@Yh7oaUh-u8+ZJtI?|S0~-D_V|hF%<<3d-CsH}40~-itkzA^&dC zeZP!O*SaxJ=dHD_g2kL#AP)@7X=gK1^x3Jdw_ zn5_L@S>?x(cKfqP8^d8`q{He{N$a`>t!Cv9hLvcsMm58yYbbx8A0Pb8!%vO+Xv`S5 z{pj#htA00Dt$vGrWMa(7>Mp}nF4<4SzcEr&#&AK|d(gNQkC8UjYCL(w1K&nKX+|S_ zH$^lfoYstHQ=7BmDIiAOjuCO&F%}V{(%^dtzK0Oc5d06p{{#CcfViE#&=|JkcJ{n` z;uN9=A>tHkU z>G~$-(?;7j{gCb3sGq_^`q@lB{^2q9?YbL{kq=x%3dgY;(hy} zjIW%<+!OPw;~QRc)_uG2Eg}x<{59=)R)cvaXY$>1Sh<|D&KN8*p2FR8SoU9ur%_>l z)~)^dBP%BOmv@4}h`lGTp24Oy?~EEJ2hzr%TlW7lC3aqEH@@ff zk`M8qmEMN$b4{H`+I&i>Rx8hiJeRtF^f>amSMzqN5v23T>$mcxtV=B+9r=#q#^zR^ za<#~};@dI%F{ISHE2ZvINv zXR2O5wQ}g}-iz-q9JrNR317~e6>puX`to-BCxQ2_oXUER|NGkCUS;g@6RAX8qJB_Y zl1HO0FIXXWo#;9iO-SQP+i)mp=UI*Z|DSK{0T&cMhz8qh8w3_~LiB8t&=eXNMz{@Ff z47OPk-yGtLP_qqm;yaDB6Q8Vi*?*imMDC=|mFOh4Fmz!N@N)X-7qHC|zrpV+{1Rzj zUcmADA<~Xt+5ghG?VZEcI)48I(=4g46ZJX1WZF3O-9*}{PxejO|GJUqTuy!eM26^| z!@Uem8zxYTBLYPy&;LbMfbyHE{I*(piAJukaLYJD=UY#wp#XKO^*J#~Jx+QnbmG&w zVrcIU#~Cu6r1XKzvs&CT_jR%nl)6H+_mR@~qHm_%3W~0Sc7%2hD7rq}Qg50Z07XAY z`#dPR5!xo1C3B$Y$7xT1qA$>%CTGbxQ1tV(Z-Am-puJ4qA*J6%FC8LrxVzlNLD0&ZVFDUvN+Bz8^>p{^s(hh>657TZY+sJlM^c}Q2LDBcn zPLX|NKPdV%?Ez5q!?c4)i#Ag4+1cJ?zFAcG|Sd1%Fdo*W@_WS%UL zwO(5vAj4!E*+EW_1#*rok_%)A|Cp5iYbHC%9`YnPK^Djva-J-b^>`_f`kKgAvV)9} zeRzk$7Gr&935RK4AVf^pIZCM+V4xQZ=NaeJRzD zh{l-0m(WY8(?@8Y&ms{TjOWN$aZTdOX~U)BDww;M9cR1M-#H6)KDld8e` Olk7>R5~;2uO8pn56G!X- literal 0 HcmV?d00001 diff --git a/app/data/logo.png b/app/data/logo.png new file mode 100755 index 0000000000000000000000000000000000000000..bd0a4bc8ec9854c5a610e4debb15f51bf3a03a6d GIT binary patch literal 22213 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 Yy`=8eN=5lGBH(hRyVST{ej> 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

18>60j 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 z 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

odpUjYOI>;=+BKB*C`WhnQB|~2HO3aB>={6m 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

R879NirJ02th+v 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 literal 0 HcmV?d00001 diff --git a/app/include/log.h b/app/include/log.h new file mode 100644 index 0000000..81f6309 --- /dev/null +++ b/app/include/log.h @@ -0,0 +1,3 @@ +#pragma once + +int debug(const char *format, ...); diff --git a/app/include/net.h b/app/include/net.h new file mode 100644 index 0000000..b7c2cb3 --- /dev/null +++ b/app/include/net.h @@ -0,0 +1,4 @@ +#pragma once + +int netInit(void); +void netExit(void); diff --git a/app/include/ntp.h b/app/include/ntp.h new file mode 100644 index 0000000..df5bc32 --- /dev/null +++ b/app/include/ntp.h @@ -0,0 +1,5 @@ +#pragma once + +#include + +int ntpGetTime(pspTime *psp_time_ntp); diff --git a/app/include/utils.h b/app/include/utils.h new file mode 100644 index 0000000..11d9f0f --- /dev/null +++ b/app/include/utils.h @@ -0,0 +1,6 @@ +#pragma once + +/// Checks whether a result code indicates success. +#define R_SUCCEEDED(res) ((res) >= 0) +/// Checks whether a result code indicates failure. +#define R_FAILED(res) ((res) < 0) diff --git a/app/source/crt0.c b/app/source/crt0.c new file mode 100755 index 0000000..49d62e7 --- /dev/null +++ b/app/source/crt0.c @@ -0,0 +1,78 @@ +#include +#include +#include + +#include + +extern unsigned char intraFont_prx_start[], iop_prx_start[], rtc_driver_prx_start[], vlf_prx_start[]; +extern unsigned int intraFont_prx_size, iop_prx_size, rtc_driver_prx_size, vlf_prx_size; + +extern int app_main(int argc, char *argv[]); + +int SetupCallbacks(void) { + int CallbackThread(SceSize args, void *argp) { + int exit_callback(int arg1, int arg2, void *common) { + sceKernelExitGame(); + return 0; + } + + int cbid = sceKernelCreateCallback("Exit Callback", exit_callback, NULL); + sceKernelRegisterExitCallback(cbid); + sceKernelSleepThreadCB(); + return 0; + } + + int thid = sceKernelCreateThread("NTPSP_callback_thread", CallbackThread, 0x11, 0xFA0, 0, 0); + if (thid >= 0) + sceKernelStartThread(thid, 0, 0); + + return thid; +} + +void LoadStartModuleBuffer(const char *path, const void *buf, int size, SceSize args, void *argp) { + SceUID mod, out; + + sceIoRemove(path); + out = sceIoOpen(path, PSP_O_WRONLY | PSP_O_CREAT, 0777); + sceIoWrite(out, buf, size); + sceIoClose(out); + + mod = sceKernelLoadModule(path, 0, NULL); + mod = sceKernelStartModule(mod, args, argp, NULL, NULL); + sceIoRemove(path); +} + +int start_thread(SceSize args, void *argp) { + char *path = (char *)argp; + int last_trail = -1; + + for(int i = 0; path[i]; i++) { + if (path[i] == '/') + last_trail = i; + } + + if (last_trail >= 0) + path[last_trail] = 0; + + sceIoChdir(path); + path[last_trail] = '/'; + + LoadStartModuleBuffer("intraFont.prx", intraFont_prx_start, intraFont_prx_size, args, argp); + LoadStartModuleBuffer("iop.prx", iop_prx_start, iop_prx_size, args, argp); + LoadStartModuleBuffer("rtc_driver.prx", rtc_driver_prx_start, rtc_driver_prx_size, args, argp); + LoadStartModuleBuffer("vlf.prx", vlf_prx_start, vlf_prx_size, args, argp); + + vlfGuiInit(15000, app_main); + return sceKernelExitDeleteThread(0); +} + +int module_start(SceSize args, void *argp) { + SetupCallbacks(); + + SceUID thread = sceKernelCreateThread("NTPSP_start_thread", start_thread, 0x10, 0x4000, 0, NULL); + if (thread < 0) + return thread; + + sceKernelStartThread(thread, args, argp); + return 0; +} diff --git a/app/source/log.c b/app/source/log.c new file mode 100644 index 0000000..f1686a5 --- /dev/null +++ b/app/source/log.c @@ -0,0 +1,29 @@ +#include +#include +#include +#include + +#include "utils.h" + +int debug(const char *format, ...) { + SceUID log = 0; + + if (R_SUCCEEDED(log = sceIoOpen("debug.log", PSP_O_WRONLY | PSP_O_CREAT | PSP_O_APPEND, 0777))) { + va_list list; + char string[256] = {0}; + + va_start(list, format); + vsprintf(string, format, list); + va_end(list); + + printf("%s", string); + + int ret = 0; + if (R_FAILED(ret = sceIoWrite(log, string, strlen(string)))) + return ret; + + sceIoClose(log); + } + + return 0; +} diff --git a/app/source/main.c b/app/source/main.c new file mode 100755 index 0000000..bc0a3dc --- /dev/null +++ b/app/source/main.c @@ -0,0 +1,70 @@ +#include +#include +#include +#include + +#include "net.h" +#include "ntp.h" + +PSP_MODULE_INFO("NTPSP", PSP_MODULE_USER, VERSION_MAJOR, VERSION_MINOR); +PSP_MAIN_THREAD_ATTR(0); + +extern unsigned char logo_png_start[]; +extern unsigned int logo_png_size; + +static pspTime psp_time_ntp = { 0 }; +static VlfText title_text; +static VlfPicture logo, title_pic; + +static void vlfSetTitle(char *fmt, ...) { + va_list list; + char text[64]; + + va_start(list, fmt); + vsprintf(text, fmt, list); + va_end(list); + + if (title_text != NULL) + vlfGuiRemoveText(title_text); + + if (title_pic != NULL) + vlfGuiRemovePicture(title_pic); + + title_text = vlfGuiAddText(0, 0, text); + title_pic = vlfGuiAddPictureResource("ps3scan_plugin.rco", "tex_infobar_icon", 4, -2); + vlfGuiSetTitleBar(title_text, title_pic, 1, 0); +} + +int menuSelection(int selection) { + switch (selection) { + case 0: + vlfGuiNetConfDialog(); + ntpGetTime(&psp_time_ntp); + break; + + case 1: + sceKernelExitGame(); + break; + } + + return VLF_EV_RET_NOTHING; +} + +int app_main(int argc, char *argv[]) { + netInit(); + + const int num_menu_items = 2; + char *item_labels[] = { "Sync Clock", "Exit" }; + + vlfGuiSystemSetup(1, 1, 1); + vlfSetTitle("NTPSP v%d.%d", VERSION_MAJOR, VERSION_MINOR); + logo = vlfGuiAddPicture(logo_png_start, logo_png_size, 45, 36); // png's are now supported + vlfGuiLateralMenu(num_menu_items, item_labels, 0, menuSelection, 120); + + while (1) { + vlfGuiDrawFrame(); + } + + netExit(); + return 0; +} diff --git a/app/source/net.c b/app/source/net.c new file mode 100644 index 0000000..8a848c8 --- /dev/null +++ b/app/source/net.c @@ -0,0 +1,40 @@ +#include +#include +#include +#include +#include + +#include "log.h" +#include "utils.h" + +int netInit(void) { + int ret = 0; + + sceUtilityLoadNetModule(PSP_NET_MODULE_COMMON); + sceUtilityLoadNetModule(PSP_NET_MODULE_INET); + + if (R_FAILED(ret = sceNetInit(128 * 1024, 42, 4 * 1024, 42, 4 * 1024))) { + debug("sceNetInit() failed: 0x%08x\n", ret); + return ret; + } + + if (R_FAILED(ret = sceNetInetInit())) { + debug("sceNetInetInit() failed: 0x%08x\n", ret); + return ret; + } + + if (R_FAILED(ret = sceNetApctlInit(0x8000, 48))) { + debug("sceNetApctlInit() failed: 0x%08x\n", ret); + return ret; + } + + return 0; +} + +void netExit(void) { + sceNetApctlTerm(); + sceNetInetTerm(); + sceNetTerm(); + sceUtilityUnloadNetModule(PSP_NET_MODULE_INET); + sceUtilityUnloadNetModule(PSP_NET_MODULE_COMMON); +} diff --git a/app/source/ntp.c b/app/source/ntp.c new file mode 100644 index 0000000..a7e7788 --- /dev/null +++ b/app/source/ntp.c @@ -0,0 +1,208 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +#include "log.h" +#include "ntp.h" +#include "utils.h" + +#define NTP_TIMESTAMP_DELTA 2208988800ull +#define MAX_NAME 512 + +// Function defs +int sceRtcSetTime64_t(pspTime *date, const time_t time); +int pspRtcSetCurrentTick(u64 *tick); // Kernel function + +// ntp_packet structure from lettier/ntpclient https://github.com/lettier/ntpclient/blob/master/source/c/main.c#L50 +typedef struct { + u8 li_vn_mode; // Eight bits. li, vn, and mode. + // li. Two bits. Leap indicator. + // vn. Three bits. Version number of the protocol. + // mode. Three bits. Client will pick mode 3 for client. + + u8 stratum; // Eight bits. Stratum level of the local clock. + u8 poll; // Eight bits. Maximum interval between successive messages. + u8 precision; // Eight bits. Precision of the local clock. + + u32 rootDelay; // 32 bits. Total round trip delay time. + u32 rootDispersion; // 32 bits. Max error aloud from primary clock source. + u32 refId; // 32 bits. Reference clock identifier. + + u32 refTm_s; // 32 bits. Reference time-stamp seconds. + u32 refTm_f; // 32 bits. Reference time-stamp fraction of a second. + + u32 origTm_s; // 32 bits. Originate time-stamp seconds. + u32 origTm_f; // 32 bits. Originate time-stamp fraction of a second. + + u32 rxTm_s; // 32 bits. Received time-stamp seconds. + u32 rxTm_f; // 32 bits. Received time-stamp fraction of a second. + + u32 txTm_s; // 32 bits and the most important field the client cares about. Transmit time-stamp seconds. + u32 txTm_f; // 32 bits. Transmit time-stamp fraction of a second. +} ntp_packet; // Total: 384 bits or 48 bytes. + +static __inline__ unsigned int sceAllegrexWsbw(unsigned int x) { + return (((x & 0xFF)<<24) | ((x & 0xFF00)<<8) | ((x>>8) & 0xFF00) | ((x>>24) & 0xFF)); +} + +static __inline__ unsigned int sceAllegrexWsbh(unsigned int x) { + return (((x<<8) & 0xFF00FF00) | ((x>>8) & 0x00FF00FF)); +} + +static inline u32 sceNetHtonl(u32 hostlong) { + return sceAllegrexWsbw(hostlong); +} + +static inline u16 sceNetHtons(u16 hostshort) { + return sceAllegrexWsbh(hostshort); +} + +static inline u32 sceNetNtohl(u32 hostlong) { + return sceAllegrexWsbw(hostlong); +} + +// https://github.com/pspdev/pspsdk/blob/a095fcaa1f5ae28ddcae599d50a69c3a15ac1d34/src/libcglue/netdb.c#L75 +static struct hostent *sceGetHostByName(const char *name, int *h_errno) { + static struct hostent ent; + char buf[1024]; + static char sname[MAX_NAME] = ""; + static struct in_addr saddr = { 0 }; + static char *addrlist[2] = { (char *) &saddr, NULL }; + int rid; + *h_errno = NETDB_SUCCESS; + + if (sceNetInetInetAton(name, &saddr) == 0) { + int err; + + if (sceNetResolverCreate(&rid, buf, sizeof(buf)) < 0) { + *h_errno = NO_RECOVERY; + return NULL; + } + + err = sceNetResolverStartNtoA(rid, name, &saddr, 2, 3); + sceNetResolverDelete(rid); + + if (err < 0) { + *h_errno = HOST_NOT_FOUND; + return NULL; + } + } + + snprintf(sname, MAX_NAME, "%s", name); + ent.h_name = sname; + ent.h_aliases = 0; + ent.h_addrtype = AF_INET; + ent.h_length = sizeof(struct in_addr); + ent.h_addr_list = addrlist; + ent.h_addr = (char *) &saddr; + return &ent; +} + +int ntpGetTime(pspTime *psp_time_ntp) { + int ret = 0; + const char *server_name = "0.pool.ntp.org"; + const u16 port = 123; + + u64 curr_tick = 0; + if (R_FAILED(ret = sceRtcGetCurrentTick(&curr_tick))) { + debug("sceRtcGetCurrentTick failed: 0x%08x\n", ret); + return ret; + } + + pspTime curr_psp_time; + memset(&curr_psp_time, 0, sizeof(pspTime)); + if (R_FAILED(ret = sceRtcSetTick(&curr_psp_time, &curr_tick))) { + debug("sceRtcSetTick failed: 0x%08x\n", ret); + return ret; + } + + time_t curr_time; + if (R_FAILED(ret = sceRtcGetTime_t(&curr_psp_time, &curr_time))) { + debug("sceRtcGetTime_t failed: 0x%08x\n", ret); + return ret; + } + + ntp_packet packet; + memset(&packet, 0, sizeof(ntp_packet)); + packet.li_vn_mode = (0 << 6) | (4 << 3) | 3; // LI 0 | Client version 4 | Mode 3 + packet.txTm_s = sceNetHtonl(NTP_TIMESTAMP_DELTA + curr_time); // Current network time on the console + + struct sockaddr_in serv_addr; + struct hostent *server; + + int sockfd = sceNetInetSocket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); + if (R_FAILED(sockfd)) { + debug("sceNetInetSocket failed: 0x%08x\n", sockfd); + sceNetInetClose(sockfd); + return sockfd; + } + + int err = 0; + if ((server = sceGetHostByName(server_name, &err)) == NULL) { + debug("sceGetHostByName failed: 0x%08x\n", err); + sceNetInetClose(sockfd); + return err; + } + + memset(&serv_addr, 0, sizeof(struct sockaddr_in)); + serv_addr.sin_family = AF_INET; + memcpy((char *)&serv_addr.sin_addr.s_addr, (char *)server->h_addr_list[0], 4); + serv_addr.sin_port = sceNetHtons(port); + + if ((ret = sceNetInetConnect(sockfd, (struct sockaddr *)&serv_addr, sizeof(serv_addr))) < 0) { + debug("sceNetInetConnect failed: 0x%08x\n", ret); + sceNetInetClose(sockfd); + return -1; + } + + if ((ret = sceNetInetSend(sockfd, (char *)&packet, sizeof(ntp_packet), 0)) < 0) { + debug("sceNetInetSend failed: 0x%08x\n", ret); + sceNetInetClose(sockfd); + return -1; + } + + if ((ret = sceNetInetRecv(sockfd, (char *)&packet, sizeof(ntp_packet), 0)) < (int)sizeof(ntp_packet)) { + debug("sceNetInetRecv failed: 0x%08x\n", ret); + sceNetInetClose(sockfd); + return -1; + } + + packet.txTm_s = sceNetNtohl(packet.txTm_s); + time_t time_next = (time_t)(packet.txTm_s - NTP_TIMESTAMP_DELTA); + + pspTime psp_time_next; + memset(&psp_time_next, 0, sizeof(pspTime)); + sceRtcSetTime64_t(&psp_time_next, time_next); + debug("Time received from server -> %04d-%02d-%02d %02d:%02d:%02d %d\n", psp_time_next.year, psp_time_next.month, + psp_time_next.day, psp_time_next.hour, psp_time_next.minutes, psp_time_next.seconds, psp_time_next.microseconds); + + u64 tick_next = 0, utc_tick = 0; + if (R_FAILED(ret = sceRtcGetTick(&psp_time_next, &tick_next))) { + debug("sceRtcGetTick failed: 0x%08x\n", ret); + return ret; + } + + if (R_FAILED(ret = sceRtcConvertLocalTimeToUTC(&tick_next, &utc_tick))) { + debug("sceRtcConvertLocalTimeToUTC failed: 0x%08x\n", ret); + return ret; + } + + if (R_FAILED(ret = pspRtcSetCurrentTick(&tick_next))) { + debug("pspRtcSetCurrentTick failed: 0x%08x\n", ret); + return ret; + } + + memset(&psp_time_next, 0, sizeof(pspTime)); + sceRtcSetTick(&psp_time_next, &tick_next); + debug("After localtime to UTC conversion -> %04d-%02d-%02d %02d:%02d:%02d %d\n", psp_time_next.year, psp_time_next.month, + psp_time_next.day, psp_time_next.hour, psp_time_next.minutes, psp_time_next.seconds, psp_time_next.microseconds); + + sceNetInetClose(sockfd); + *psp_time_ntp = psp_time_next; + return 0; +} diff --git a/libs/include/vlf.h b/libs/include/vlf.h new file mode 100755 index 0000000..999f28e --- /dev/null +++ b/libs/include/vlf.h @@ -0,0 +1,2035 @@ +#ifndef __VLF_H__ +#define __VLF_H__ + +typedef struct _VlfText *VlfText; +typedef struct _VlfPicture *VlfPicture; +typedef struct _VlfShadowedPicture *VlfShadowedPicture; +typedef struct _VlfBatteryIcon *VlfBatteryIcon; +typedef struct _VlfSpin *VlfSpin; +typedef struct _VlfCheckBox *VlfCheckBox; +typedef struct _VlfProgressBar *VlfProgressBar; +typedef struct _VlfScrollBar *VlfScrollBar; +typedef struct _VlfInputBox *VlfInputBox; + + +#define VLF_DEFAULT -1 + +#define VLF_TITLEBAR_HEIGHT 22 + +#define VLF_ERROR_INVALID_INPUT (-1) +#define VLF_ERROR_INVALID_INPUT_DATA (-2) +#define VLF_ERROR_UNSUPPORTED_FORMAT (-3) +#define VLF_ERROR_OBJECT_OVERFLOW (-4) +#define VLF_ERROR_OBJECT_NOT_FOUND (-5) +#define VLF_ERROR_NO_MEMORY (-6) +#define VLF_ERROR_SYSTEM (-7) +#define VLF_ERROR_DUPLICATED (-8) + + +#define VLF_EV_RET_NOTHING 0 +#define VLF_EV_RET_REMOVE_EVENT 1 +#define VLF_EV_RET_REMOVE_OBJECTS 2 +#define VLF_EV_RET_REMOVE_HANDLERS 4 +#define VLF_EV_RET_REFRESH_ON_DELAY 8 +#define VLF_EV_RET_DELAY 0x80000000 /* Delay VLF_EV_RET_DELAY | (X << 16), 0 <= X <= 32767 milisecs */ +#define VLF_EV_RET_DELAY_FRAME (VLF_EV_RET_DELAY | 0x40000000) /* Delay VLF_EV_RET_DELAY_FRAME| (X << 16), 0 <= X <= 4095 */ + +/* Alignment */ + +enum VlfObjects +{ + VLF_TEXT = 0, + VLF_PIC = 1, + VLF_SHADOWED_PIC = 2, + VLF_PROGRESS_BAR = 3 +}; + +enum VlfTextAlignment +{ + VLF_ALIGNMENT_LEFT = 0, + VLF_ALIGNMENT_CENTER = 0x200, + VLF_ALIGNMENT_RIGHT = 0x400 +}; + +enum VlfButtonIcon +{ + VLF_ENTER = 0, + VLF_CANCEL = 1, + VLF_CROSS = 2, + VLF_CIRCLE = 3, + VLF_TRIANGLE = 4, + VLF_SQUARE = 5 +}; +/** Fade modes */ + +enum VlfFadeModesFlags +{ + VLF_FADE_MODE_IN = 1, + VLF_FADE_MODE_OUT = 2, + VLF_FADE_MODE_REPEAT = 4, +}; + +enum VlfFadeSpeed +{ + VLF_FADE_SPEED_STANDARD, + VLF_FADE_SPEED_FAST, + VLF_FADE_SPEED_VERY_FAST, + VLF_FADE_SPEED_SLOW, + VLF_FADE_SPEED_SUPER_FAST +}; + +enum VlfBatteryIconStatus +{ + VLF_BATTERY_ICON_HIGH, + VLF_BATTERY_ICON_MEDIUM, + VLF_BATTERY_ICON_LOW, + VLF_BATTERY_ICON_LOWEST +}; + +enum RCOType +{ + RCO_GRAPHIC, + RCO_OBJECT, + RCO_SOUND, + RCO_LABEL, + RCO_FILEPARAM, + RCO_ANIMPARAM +}; + +enum VLF_MDType +{ + VLF_MD_TYPE_ERROR, + VLF_MD_TYPE_NORMAL, +}; + +enum VLF_MD_Buttons +{ + VLF_MD_BUTTONS_NONE = 0, + VLF_MD_BUTTONS_YESNO = 0x10, +}; + +enum VLF_MD_InitalCursor +{ + VLF_MD_INITIAL_CURSOR_YES = 0, + VLF_MD_INITIAL_CURSOR_NO = 0x100, +}; + +enum VLF_MD_ButtonRes +{ + VLF_MD_NONE, + VLF_MD_YES, + VLF_MD_NO, + VLF_MD_BACK +}; + +enum VLF_DialogItem +{ + VLF_DI_ENTER, + VLF_DI_CANCEL, + VLF_DI_BACK, + VLF_DI_YES, + VLF_DI_NO, + VLF_DI_EDIT, +}; + +enum VLF_SpinState +{ + VLF_SPIN_STATE_NOT_FOCUS, // Spin control has not focus, buttons are not listened + VLF_SPIN_STATE_FOCUS, // Spin control text has focus but arrow is not shown, buttons are not listened + VLF_SPIN_STATE_ACTIVE, // Spin control has focus, and it is active (arrows are shown, up and down buttons are listened) +}; + +enum VLF_InputBoxType +{ + VLF_INPUTBOX_TYPE_NORMAL, + VLF_INPUTBOX_TYPE_PASSWORD +}; + +enum PspCtrlExtension +{ + PSP_CTRL_ENTER = 0x40000000, + PSP_CTRL_CANCEL = 0x80000000 +}; + +/** + * Inits VLF library + * + * @param heap_size - The heap size to be allocated. It can be negative. + * @param app_main - The program main application. +*/ +void vlfGuiInit(int heap_size, int (* app_main)(int argc, char *argv[])); + +/** + * Performs typical application initialization tasks (adding background, system model, and optionally battery icon and clock). + * + * @param battery - Inidicates if a battery icon should be added. + * @param clock - Indicates if a clock should be added. + * @param notuserwp - If user configuration is set to use a custom background and this param is 1, then the custom wallpaper won't be used. + * + * @returns 0 on success + * + * @Notes: If an user wallpaper is used, the background model ("waves") won't be added. + */ +int vlfGuiSystemSetup(int battery, int clock, int notuserwp); + +/** + * Gets language used by vlf application + * + * @returns - The language set to be used by current vlf application + * By default is initialized to user language. +*/ +int vlfGuiGetLanguage(); + +/** + * Sets language to be used by blf application + * + * @param lang - The language to be set. + * This only sets the language to be used by current vlf application, + * it doesn't overwrite user preferences in flash. + */ +void vlfGuiSetLanguage(int lang); + +/** + * Gets the button configuration used by vlf application (0 -> circle is enter, 1 -> cross is enter) + * + * @returns - The button configuration set to be used by current vlf application. + * By default is initialized with user preferences. +*/ +int vlfGuiGetButtonConfig(); + +/** + * Sets the button configuration to be used by current vlf application. + * + * @param config - The button configuration to be set (0 -> circle is enter, 1 -> cross is enter) + * This only sets the button configuration to be used by current vlf application, + * it doesn't overwrite user preferences in flash. +*/ +void vlfGuiSetButtonConfig(int config); + +/** + * Sets the directories where resources are located. + * + * @param dir - The directory that will be used to locate resources (max 256 chars including '\0') + * By default is initialized to flash0:/vsh/resource +*/ +void vlfGuiSetResourceDir(char *dir); + +/** + * Performs the draw of next frame +*/ +void vlfGuiDrawFrame(); + +/** + * Loads resources from a rco file + * + * @param rco - It can be one of following things: + * - path relative to the directory without extension (e.g. "system_plugin_bg") + * - path relative to the directory with extension (e.g. "system_plugin_bg.rco") + * - path to a file (e.g. "flash0:/vsh/resource/system_plugin_bg.rco", "ms0:/myresfile.rco") + * + * RCO param is evaluated in the order given above, so if a rco file exists in current directory with name + * "system_plugin_bg.rco", it would load the one of and not the one of current directory. (in such a case, use "./system_plugin_bg.rco") + * + * @param n - The number of resources to loads + * @param names (IN) - An array with the names of resources + * @param types (IN) - An array with the types of the resources (one of RCOType) + * @param datas (OUT) - A pointer to a variable that will receive an array of pointers to the content of each resource, + * or NULL if a specific resource has not been found. + * Pointers returned are allocated with malloc, and should be deallocated by the application. + * + * @param sizes (OUT) - It will receive the sizes of the resources + * @param pntable (OUT) - A pointer that will receive the string table. Pass NULL if no required. + * Returned pointer is allocated with malloc and should be deallocated by the application. + * + * @returns - the number of resources loaded, or < 0 if there is an error. + * + * @Example: Load battery icon pic and shadow + * + * char *names[2]; + * void *datas[2]; + * int types[2], sizes[2]; + * + * names[0] = "tex_battery"; + * names[1] = "tex_battery_shadow"; + * types[0] = types[1] = RCO_GRAPHIC; + * + * int res = vlfGuiLoadResources("system_plugin_fg", 2, names, types, datas, sizes, NULL); + * if (res != 2) // error or not all resources loaded + * { + * if (res > 0) + * { + * if (datas[0]) + * free(datas[0]); + * if (datas[1]) + * free(datas[1]); + * } + * } + * else + * { + * void *bat; + * vlfGuiAddShadowedPicture(&bat, datas[0], sizes[0], datas[1], sizes[1], 441, 4, 1, 1, 1); + * free(datas[0]); + * free(datas[1]); + * } + * +*/ +int vlfGuiLoadResources(char *rco, int n, char **names, int *types, void **datas, int *sizes, char **pntable); + +/** + * Caches a resource in RAM, so it doesn't have to be loaded from storage device anymore. + * + * @param rco - The resource. Same rules apply to this param + * + * @returns - < 0 on error. +*/ +int vlfGuiCacheResource(char *rco); + +/** + * Uncaches a resource previously cached. + * + * @param rco - The resource to be uncached. + * + * @returns - < 0 on error. +*/ +int vlfGuiUncacheResource(char *rco); + + +//int vlfGuiGetResourceSubParam(void *entry, int insize, char *ntable, char *name, void **data, int *size); + +/** + * Loads an unicode string from a resource. + * + * @param str - Buffer that receives the string + * @param rco - The resource file to load the label from. + * @param name - The name of the resource + * + * @returns - < 0 on error. +*/ +int vlfGuiLoadLabel(u16 *str, char *rco, char *name); + +/** + * Sets the background from 8888 texture data + * + * @param texture - The texture data in 8888 format + * @param width - The width of texture. Must be a power of 2. + * @param height - The height of texture. Must be multiple of 8. + * @param swizzled - Indicates if the texture is already in the psp GE fast texture format + * @param scale_x - The x scale to apply + * @param scale_y - The y scale to apply + * + * @returns 0 on success, or < 0 on error (params invalid) +*/ +int vlfGuiSetBackground(u32 *texture, int width, int height, int swizzled, float scale_x, float scale_y); + +/** + * Sets the background from a file buffer. + * Supported formats are currently: BMP, TIM, GIM and PNG, with a depth of 24 or 32 bits. + * + * @param data - The buffer with the file data + * @param size - The size of the data + * @param scale - Wether to scale the image. If it is 0, the image will be centered and filled by black. + * + * @returns - 0 on success, < 0 on error. +*/ +int vlfGuiSetBackgroundFileBuffer(void *data, int size, int scale); + +/** + * Sets the background from a file + * Supported formats are currently: BMP, TIM, GIM and PNG, with a depth of 24 or 32 bits. + * + * @param file - Path to the file. + * @param scale - Wether to scale the image. If it is 0, the image will be centered and filled by black. + * + * @returns - 0 on success, < 0 on error. +*/ +int vlfGuiSetBackgroundFile(char *file, int scale); + +/** + * Sets one of system backgrounds based on the index. + * + * @param index - The index of the background, valid values are 1-27 + * (note that 13-27 is only available on slim and will return an error on old psp) + * + * @returns 0 on success, < 0 on error +*/ +int vlfGuiSetBackgroundIndex(int index); + +/** + * Sets one of system backgrounds based on the current date + * + * @returns 0 on success, < 0 on error +*/ +int vlfGuiSetBackgroundDate(); + +/** + * Sets a background of a single color + * + * @param color - The color in XXBBGGRR format (XX is ignored). + * + * @returns - this functions always succeeds returning 0 +*/ +int vlfGuiSetBackgroundPlane(u32 color); + +/** + * Sets the background according to the system configuration + * + * @returns - 0 on success, < 0 on error. +*/ +int vlfGuiSetBackgroundSystem(int notuserwp); + +/** + * Sets the system color, used in titlebars or menus + * + * @param index - the index of the color, 1-27 +*/ +void vlfGuiSetSystemColor(int index); + +/** + * Sets the background model from a buffer. + * + * @param data - The buffer with the model in GMO format + * @param size - The size of the model + * + * @returns - 0 on success, < 0 on error. +*/ +int vlfGuiSetModel(void *data, int size); + +/** + * Sets the background model from a file. + * + * @param file - The file with the model in GMO format + * + * @returns - 0 on success, < 0 on error. +*/ +int vlfGuiSetModelFile(char *file); + +/** + * Sets the background model from a resource. + * + * @param rco - The path to the RCO file + * @param name - The name of the resource + * + * @returns - 0 on success, < 0 on error. +*/ +int vlfGuiSetModelResource(char *rco, char *name); + +/** + * Sets the background model of the system, and applies the proper world matrix to it. + * + * @returns 0 on success, < 0 on error. +*/ +int vlfGuiSetModelSystem(); + +/** + * Sets the world matrix for the model. (by default, the world matrix is the identity + * after a model has been loaded, except when calling vlfGuiSetModelSystem). + * + * @param matrix - The matrix to set. + * + * @Example: Load waves (this sample assumes the default scale of 8.5) + * + * int res = vlfGuiSetModelResource("system_plugin_bg", "mdl_bg"); + * if (res < 0) process_error; + * + * ScePspFMatrix4 matrix; + * ScePspFVector3 scale; + * + * scale.x = scale.y = scale.z = 8.5f; + * gumLoadIdentity(&matrix); + * gumScale(&matrix, &scale); + * vlfGuiSetModelWorldMatrix(&matrix); +*/ +void vlfGuiSetModelWorldMatrix(ScePspFMatrix4 *matrix); + +/** + * Gets the world matrix of the model + * + * @returns a pointer to the model world matrix +*/ +ScePspFMatrix4 *vlfGuiGetModelWorldMatrix(); + +/** + * Sets the model speed + * + * @param speed - The speed, default model speed is 1.0f/60.0f +*/ +void vlfGuiSetModelSpeed(float speed); + +/** + * Sets a title bar with the current system color. + * + * @param text - Text of the title bar. Pass NULL if no required. + * @param pic - Picture of the title bar. Pass NULL if no required. + * @param visible - If the tile bar will be visible + * @param hideobj - If 1, it will hide objects that were current added within the area of the title bar. + */ +void vlfGuiSetTitleBar(VlfText text, VlfPicture pic, int visible, int hideobj); + +/** + * Sets a title bar with the desired color. + * + * @param text - Text of the title bar. Pass NULL if no required. + * @param pic - Picture of the title bar. Pass NULL if no required. + * @param visible - If the tile bar will be visible + * @param hideobj - If 1, it will hide objects that were current added within the area of the title bar. + * @param color - The color of the title bar. +*/ +void vlfGuiSetTitleBarEx(VlfText text, VlfPicture pic, int visible, int hideobj, u32 color); + +/** + * Sets the tile bar visibility. +*/ +void vlfGuiSetTitleBarVisibility(int visible); + +/** + * Adds a new text item from an ascii string. + * + * @param x - x position + * @param y - y position + * @param string - ascii string with the desired text + * + * @returns a VlfText item on success, NULL on error. +*/ +VlfText vlfGuiAddText(int x, int y, char *string); + +/** + * Adds a new text item from an unicode string. + * + * @param x - x position + * @param y - y position + * @param string - unicode string with the desired text + * + * @returns a VlfText item on success, NULL on error. +*/ +VlfText vlfGuiAddTextW(int x, int y, u16 *string); + +/** + * Adds a new text item from a string with format + * + * @param x - x position + * @param y - y position + * @param fmt - string with format + * + * @returns a VlfText item on success, NULL on error. +*/ +VlfText vlfGuiAddTextF(int x, int y, char *fmt, ...); + +/** + * Adds a new text item from a resource label + * + * @param rco - The resource file to load the label from. + * @param name - The name of the resource. + * @param x - x position + * @param y - y position + * + * @returns a VlfText item on success, NULL on error. +*/ +VlfText vlfGuiAddTextResource(char *rco, char *name, int x, int y); + +/** + * Removes a text item. + * + * @param text - The text item to remove + * + * @returns - < 0 on error. +*/ +int vlfGuiRemoveText(VlfText text); + +/** + * Sets the text of a VlfText item from an ascii string. + * + * @param text - The text item + * @param string - The ascii string to set. + * + * @returns - < 0 on error. +*/ +int vlfGuiSetText(VlfText text, char *string); + +/** + * Sets the text of a VlfText item from an unicode string. + * + * @param text - The text item + * @param string - The unicode string to set. + * + * @returns - < 0 on error. +*/ +int vlfGuiSetTextW(VlfText text, u16 *string); + +/** + * Sets the text of a VlfText item from a string with format. + * + * @param text - The text item + * @param fmt - The string with format. + * + * @returns - < 0 on error. +*/ +int vlfGuiSetTextF(VlfText text, char *fmt, ...); + +/** + * Sets the text of a VlfText item from a resource label. + * + * @param text - The text item + * @param rco - The resource file to load the label from. + * @param name - The name of the resource. + * + * @returns - < 0 on error. +*/ +int vlfGuiSetTextResource(VlfText text, char *rco, char *name); + +/** + * Sets focus on a VlfText item. + * + * @param text - The text item to set the focus. + * + * @returns - < 0 on error. + * + * @Note: this function should only be used with a text with a single line, and + * with default font size. +*/ +int vlfGuiSetTextFocus(VlfText text); + +/** + * Removes focus on a VlfText item previously focused. + * + * @param text - The text item to remove focus. + * + * @returns - < 0 on error. +*/ +int vlfGuiRemoveTextFocus(VlfText text, int keepres); + +/** + * Sets the visibility of a VlfText item. + * + * @param text - The text item. + * @param visible - boolean for the visibility. + * + * @returns - < 0 on error. +*/ +int vlfGuiSetTextVisibility(VlfText text, int visible); + +/** + * Makes a VlfText item to blink. + * + * @param text - The text item to set blinking. + * @param nshow - The number of frames the item will be shown. + * @param nhide - The number of frames the item wil be hidden. + * + * @returns - < 0 on error + * + * @Notes: To remove blinking, pass both params to 0. +*/ +int vlfGuiSetTextBlinking(VlfText text, u32 nshow, u32 nhide); + +/** + * Makes a VlfText item to fade. + * + * @param text - The text item to fade. + * @param mode - Whatever OR combination of VlfFadeModesFlags + * @param speed - The fade speed, one of VlfFadeSpeed + * @param direction_out - If both, VLF_FADE_MODE_IN and VLF_FADE_MODE_OUT, were specified, this param indicates + * wether to start from direction out or in. Otherwise, it is ignored. + * + * @returns - < 0 on error. +*/ +int vlfGuiSetTextFade(VlfText text, int mode, int speed, int direction_out); + +/** + * Cancels a VlfText item fade. + * + * @param text - The text item to remove fade. + * + * @returns - < 0 on error +*/ +int vlfGuiCancelTextFade(VlfText text); + +/** + * Sets a callback to report the end of a fade. + * + * @param text - The text item fading. + * @param callback - The callback function that will be called at end of fade. + * @param param - param that will be passed to the callback function + * @param delay - The delay between the end of fade and the call to the callback + * + * @returns - < 0 on error +*/ +int vlfGuiSetTextFadeFinishCallback(VlfText text, void (* callback)(void *), void *param, int delay); + +/** + * Sets text item alignment + * + * @param text - The text item to set alignment + * @param alignment - One of VlfTextAlignment values + * + * @returns - < 0 on error +*/ +int vlfGuiSetTextAlignment(VlfText text, int alignment); + +/** + * Sets text position + * + * @param text - The text item to set position + * @param x - The x position + * @param y - The y position + * + * @returns - < 0 on error +*/ +int vlfGuiSetTextXY(VlfText text, int x, int y); + +/** + * Sets the font size of a text item + * + * @param text - The text to set font size + * @param size - The size of the font + * + * @returns - < 0 on error +*/ +int vlfGuiSetTextFontSize(VlfText text, float size); + +/** + * Returns the size of a text item. + * + * @param text - The text item yo get size from + * @param width - pointer to a variable that receives the width + * @param height - pointer to a variable that receivs the height + * + * @returns - < 0 on error +*/ +int vlfGuiGetTextSize(VlfText text, int *width, int *height); + +/** + * Sets a scrollbar in the specified text item. + * + * @param text - The text item + * @param height - The height of the scrollbar + * + * @returns - < 0 on error +*/ +int vlfGuiSetTextScrollBar(VlfText text, int height); + +/** + * Sets a scrollbar in the specified text item (with more options) + * + * @param text - The text item + * @param height - The height of the scrollbar + * @param dispx - displacement between text and scrollbar in X axis + * @param dispy - displacement between text and scrollbar in Y axis + * + * @returns - < 0 on error + */ +int vlfGuiSetTextScrollBarEx(VlfText text, int height, int dispx, int dispy); + +/** + * Removes a scrollbar of a text item + * + * @param text - The text item + * + * @returns - < 0 on error +*/ +int vlfGuiRemoveTextScrollBar(VlfText text); + +/** + * Sets a character that will be replaced by a button icon + * + * @param ch - The character that will be replaced. + * @param button - The button used for the replacement, one of VlfButtonIcon + * + * @returns - < 0 on error +*/ +int vlfGuiChangeCharacterByButton(u16 ch, int button); + +/** + * Adds a new picture item from a buffer. + * Supported formats are GIM, TIM, BMP and PNG. + * + * @param data - The buffer with the picture + * @param size - The size of data buffer + * @param x - x position + * @param y - y position + * + * @returns - a new VlfPivture on success, NULL on error +*/ +VlfPicture vlfGuiAddPicture(void *data, int size, int x, int y); + +/** + * Adds a new picture item from a file. + * Supported formats are GIM, TIM, BMP and PNG. + * + * @param file - The file with the picture + * @param x - x position + * @param y - y position + * + * @returns - a new VlfPivture on success, NULL on error +*/ +VlfPicture vlfGuiAddPictureFile(char *file, int x, int y); + +/** + * Adds a new picture item from a resource. + * Supported formats are GIM, TIM, BMP and PNG. + * + * @param rco - The rco + * @param name - The name of the resource + * @param x - x position + * @param y - y position + * + * @returns - a new VlfPivture on success, NULL on error +*/ +VlfPicture vlfGuiAddPictureResource(char *rco, char *name, int x, int y); + +/** + * Removes a picture + * + * @param pic - The picture to remove + * + * @returns - < 0 on error. +*/ +int vlfGuiRemovePicture(VlfPicture pic); + +/** + * Sets a picture position. + * + * @param pic - The picture + * @param x - x position + * @param y - y position + * + * @returns - < 0 on error +*/ +int vlfGuiSetPictureXY(VlfPicture pic, int x, int y); + +/** + * Gets a picture size. + * + * @param pic - The picture + * @param width - pointer to a variable that receives the width + * @param height - pointer to a variable that receives the height + * + * @returns - < 0 on error +*/ +int vlfGuiGetPictureSize(VlfPicture pic, int *width, int *height); + +/** + * Sets the picture display area + * + * @param pic - The picture + * @param x - x position of the display area, relative to the top left corner of the picture. + * @param y - y position of the display area, relative to the top left corner of the picture. + * @param width - the width of the rectangle display area + * @param height - The height of the rectangle display area + * + * @returns - < 0 on error +*/ +int vlfGuiSetPictureDisplayArea(VlfPicture pic, int x, int y, int width, int height); + +/** + * Sets picture alpha blend operation. + * + * @param pic - the picture + * @param op - Blending operation (see pspgu.h) + * @param src - Blending function for source operand (see pspgu.h) + * @param dst - Blending function for dest operand (see pspgu.h) + * @param srcfix - Fix value for GU_FIX (source operand) + * @param destfix - Fix value for GU_FIX (dest operand) + * + * @returns - < 0 on error +*/ +int vlfGuiSetPictureAlphaBlend(VlfPicture pic, int op, int src, int dst, u32 srcfix, u32 dstfix); + +/** + * Clones (duplicate) a picture + * + * @param pic - The picture to clone + * @param real - If 0, then the picture is not totally copied, but only a reference. Otherwise, a total duplication is performed. + * @param x - The x position for the cloned picture + * @param y - The y position for the cloned picture + * + * @returns - The cloned picture +*/ +VlfPicture vlfGuiClonePicture(VlfPicture pic, int real, int x, int y); + +/** + * Sets picture visibility + * + * @param pic - The picture + * @param visible - boolean indicating visibility + * + * @returns - < 0 on error +*/ +int vlfGuiSetPictureVisibility(VlfPicture pic, int visible); + +/** + * Makes a picture blink + * + * @param pic - The picture to blink + * @param nshow - The number of frames the picture will be shown + * @param nhide - The number of frames the picture will be hidden + * + * @returns - < 0 on error +*/ +int vlfGuiSetPictureBlinking(VlfPicture pic, u32 nshow, u32 nhide); + +/** + * Animates a picture. + * Frames are created from rectangle areas of the picture. + * + * @param pic - The picture to animate + * @param w - The width of each frame, must be a divisor of picture width + * @param h - The height of each frame, must be a divisor of picture height + * @param frames - The number of frames each frame is drawn. + * @param vertical - If 0, animaction is created from rectangles in horizontal direction. Otherwise, from vertical direction. + * + * @returns - < 0 on error +*/ +int vlfGuiAnimatePicture(VlfPicture pic, int w, int h, int frames, int vertical); + +/** + * Makes a VlfPicture item to fade. + * + * @param pic - The picture item to fade. + * @param mode - Whatever OR combination of VlfFadeModesFlags + * @param speed - The fade speed, one of VlfFadeSpeed + * @param direction_out - If both, VLF_FADE_MODE_IN and VLF_FADE_MODE_OUT, were specified, this param indicates + * wether to start from direction out or in. Otherwise, it is ignored. + * + * @returns - < 0 on error. + */ +int vlfGuiSetPictureFade(VlfPicture pic, int mode, int effect, int direction_out); + +/** + * Cancels a VlfPicture item fade. + * + * @param pic - The picture item to remove fade. + * + * @returns - < 0 on error +*/ +int vlfGuiCancelPictureFade(VlfPicture pic); + +/** + * Sets a callback to report the end of a fade. + * + * @param pic - The picture item fading. + * @param callback - The callback function that will be called at end of fade. + * @param param - param that will be passed to the callback function + * @param delay - The delay between the end of fade and the call to the callback + * + * @returns - < 0 on error +*/ +int vlfGuiSetPictureFadeFinishCallback(VlfPicture pic, void (* callback)(void *), void *param, int delay); + +/** + * Adds a new shadowed picture from two buffers. + * + * @param pic - The buffer with the main picture + * @param pic_size - The size of the pic buffer + * @param shpic - The buffer with the shadow picture + * @param shpic_size - The size of the shpic buffer + * @param x - x position + * @param y - y position + * @param sh_offsx - distance between the main picture and the shadow (x) + * @param sh_offsy - distance between the main picture and the shadow (y) + * @param shadow_before - indicates if shadow should be painted before + * + * @returns - a new shadowed picture on success, NULL on error +*/ +VlfShadowedPicture vlfGuiAddShadowedPicture(void *pic, int pic_size, void *shpic, int shpic_size, int x, int y, int sh_offsx, int sh_offsy, int shadow_before); + +/** + * Adds a new shadowed picture from two files + * + * @param pic - The file with the main picture + * @param shpic - The file with the shadow picture + * @param x - x position + * @param y - y position + * @param sh_offsx - distance between the main picture and the shadow (x) + * @param sh_offsy - distance between the main picture and the shadow (y) + * @param shadow_before - indicates if shadow should be painted before + * + * @returns - a new shadowed picture on success, NULL on error +*/ +VlfShadowedPicture vlfGuiAddShadowedPictureFile(char *pic, char *shpic, int x, int y, int sh_offsx, int sh_offsy, int shadow_before); + +/** + * Adds a new shadowed picture from two resources. + * + * @param rco .- The resource file + * @param pic - The name of the resource with the main picture + * @param shpic - The name of the resource with the shadow picture + * @param x - x position + * @param y - y position + * @param sh_offsx - distance between the main picture and the shadow (x) + * @param sh_offsy - distance between the main picture and the shadow (y) + * @param shadow_before - indicates if shadow should be painted before + * + * @returns - a new shadowed picture on success, NULL on error +*/ +VlfShadowedPicture vlfGuiAddShadowedPictureResource(char *rco, char *pic, char *shpic, int x, int y, int sh_offsx, int sh_offsy, int shadow_before); + +/** + * Removes a shadowed picture + * + * @param sp - The shadowed picture to remove + * + * @returns - < 0 on error. +*/ +int vlfGuiRemoveShadowedPicture(VlfShadowedPicture sp); + +/** + * Sets shadowed picture visibility + * + * @param sp - The shadowed picture + * @param visible - boolean indicating visibility + * + * @returns - < 0 on error +*/ +int vlfGuiSetShadowedPictureVisibility(VlfShadowedPicture sp, int visible); + +/** + * Makes a shadowed picture blink + * + * @param sp - The shadowed picture to blink + * @param nshow - The number of frames the picture will be shown + * @param nhide - The number of frames the picture will be hidden + * + * @returns - < 0 on error +*/ +int vlfGuiSetShadowedPictureBlinking(VlfShadowedPicture sp, u32 nshow, u32 nhide); + +/** + * Animates a shadowed picture. + * Frames are created from rectangle areas of the picture. + * + * @param sp - The shadowed picture to animate + * @param w - The width of each frame of main picture, must be a divisor of main picture width + * @param h - The height of each frame of main picure, must be a divisor of main picture height + * @param ws - The width of each frame of shadow picture, must be a divisor of shadow picture width + * @param hs - The height of each frame of shadow picure, must be a divisor of shadow picture height + * @param frames - The number of frames each frame is drawn + * @param vertical - If 0, animaction is created from rectangles in horizontal direction. Otherwise, from vertical direction. + * + * @returns - < 0 on error + * + * @Example: vlfGuiAddWaitIconEx source code. Image is divided in 17x17 rectangles, each frame is drawn for 3 frames. + * + * VlfShadowedPicture vlfGuiAddWaitIconEx(int x, int y) + * { + * VlfShadowedPicture res = vlfGuiAddShadowedPictureResource("system_plugin_fg", "tex_busy", "tex_busy_shadow", x, y, 1, 1, 0); + * + * if (!res) + * return NULL; + * + * if (vlfGuiAnimateShadowedPicture(res, 17, 17, 17, 17, 3, 1) < 0) + * { + * vlfGuiRemoveShadowedPicture(res); + * return NULL; + * } + * + * return res; + * } +*/ +int vlfGuiAnimateShadowedPicture(VlfShadowedPicture sp, int w, int h, int ws, int hs, int frames, int vertical); + +/** + * Makes a VlfShadowedPicture item to fade. + * + * @param sp - The shadowed picture item to fade. + * @param mode - Whatever OR combination of VlfFadeModesFlags + * @param speed - The fade speed, one of VlfFadeSpeed + * @param direction_out - If both, VLF_FADE_MODE_IN and VLF_FADE_MODE_OUT, were specified, this param indicates + * wether to start from direction out or in. Otherwise, it is ignored. + * + * @returns - < 0 on error. + */ +int vlfGuiSetShadowedPictureFade(VlfShadowedPicture sp, int mode, int effect, int direction_out); + +/** + * Cancels a VlfShadowedPicture item fade. + * + * @param sp - The shadowed picture item to remove fade. + * + * @returns - < 0 on error + */ +int vlfGuiCancelShadowedPictureFade(VlfShadowedPicture sp); + +/** + * Sets a callback to report the end of a fade. + * + * @param sp - The shadowed picture item fading. + * @param callback - The callback function that will be called at end of fade. + * @param param - param that will be passed to the callback function + * @param delay - The delay between the end of fade and the call to the callback + * + * @returns - < 0 on error +*/ +int vlfGuiSetShadowedPictureFadeFinishCallback(VlfShadowedPicture sp, void (* callback)(void *), void *param, int delay); + +/** + * Adds a new battery icon at its default position. Icon created by this function must be manually operated by programmer. + * + * @param status - The status, one of VlfBatteryIconStatus + * @param blink - blinking flag + * + * @returns - a new VlfBatteryIcon item +*/ +VlfBatteryIcon vlfGuiAddBatteryIcon(u32 status, int blink); + +/** + * Adds a new battery icon (with more options). Icon created by this function must be manually operated by programmer. + * + * @param x - The x position + * @param y - The y position + * @param status - The status, one of VlfBatteryIconStatus + * @param blink - blinking flag + * + * @returns - a new VlfBatteryIcon item + */ +VlfBatteryIcon vlfGuiAddBatteryIconEx(int x, int y, u32 status, int blink); + +/** + * Adds a new battery icon at its default position. + * Icon created by this function is handled automatically by the library. + * + * @param timer_ms - The miliseconds the timer that checks the battery is executed. + * + * @returns - a new VlfBatteryIcon item +*/ +VlfBatteryIcon vlfGuiAddBatteryIconSystem(int timer_ms); + +/** + * Sets battery icon status. + * + * @param baticon - The battery icon + * @param status - The status, one of VlfBatteryIconStatus + * @param blink - blinking flag + * + * @returns - < 0 on error + * + * @Note: this function shouldn't be used with a battery icon created by vlfGuiAddBatteryIconSystem. +*/ +int vlfGuiSetBatteryIconStatus(VlfBatteryIcon baticon, int status, int blink); + +/** + * Removes a battery icon. + * + * @param baticon - The battery icon to remove + * + * @returns - < 0 on error +*/ +int vlfGuiRemoveBatteryIcon(VlfBatteryIcon baticon); + +/** + * Adds a system clock. Only one clock is allowed currently + * + * @returns - < 0 on error. + * + * @Note: this function will change in future versions. +*/ +int vlfGuiAddClock(); + +/** + * Adds an animated wait icon at its default position in lower-right corner. + * + * @returns - a new wait icon. +*/ +VlfShadowedPicture vlfGuiAddWaitIcon(); + +/** + * Adds an animated wait icon at position choosed by programmer. + * + * @param x - x position + * @param y - y position + * + * @returns - a new wait icon. + */ +VlfShadowedPicture vlfGuiAddWaitIconEx(int x, int y); + +/** + * Adds a cross picture. + * + * @param x - x position + * @param y - y position + * + * @returns - a new cross picture +*/ +VlfShadowedPicture vlfGuiAddCross(int x, int y); + +/** + * Adds a circle picture. + * + * @param x - x position + * @param y - y position + * + * @returns - a new circle picture +*/ +VlfShadowedPicture vlfGuiAddCircle(int x, int y); + +/** + * Adds a triangle picture. + * + * @param x - x position + * @param y - y position + * + * @returns - a new triangle picture +*/ +VlfShadowedPicture vlfGuiAddTriangle(int x, int y); + +/** + * Adds a square picture. + * + * @param x - x position + * @param y - y position + * + * @returns - a new square picture +*/ +VlfShadowedPicture vlfGuiAddSquare(int x, int y); + +/** + * Adds an enter picture (cross or circle) + * + * @param x - x position + * @param y - y position + * + * @returns - a new enter picture +*/ +VlfShadowedPicture vlfGuiAddEnter(int x, int y); + +/** + * Adds a cancel picture (cross or circle) + * + * @param x - x position + * @param y - y position + * + * @returns - a new cancel picture +*/ +VlfShadowedPicture vlfGuiAddCancel(int x, int y); + +/** + * Adds a spinup picture. + * + * @param x - x position + * @param y - y position + * + * @returns - a new spinup picture +*/ +VlfShadowedPicture vlfGuiAddSpinUp(int x, int y); + +/** + * Adds a spindown picture. + * + * @param x - x position + * @param y - y position + * + * @returns - a new spindown picture +*/ +VlfShadowedPicture vlfGuiAddSpinDown(int x, int y); + +/** + * Adds an arrow left picture. + * + * @param x - x position + * @param y - y position + * + * @returns - a new arrow left picture +*/ +VlfShadowedPicture vlfGuiAddArrowLeft(int x, int y); + +/** + * Adds an arrow right picture. + * + * @param x - x position + * @param y - y position + * + * @returns - a new arrow right picture +*/ +VlfShadowedPicture vlfGuiAddArrowRight(int x, int y); + +/** + * Adds a new integer spin + * + * @param x - x position + * @param y - y position + * @param min - minim value of the spin + * @param max - max value of the spin + * @param cur - The initial integer value of the spin + * @param step - The step in which the value is increased/decreased + * @param loop - boolean indicating if the spin loops + * @param speed - The speed of the spin in milisecs + * @param initstate - the initial state of the spin, one of VLF_SpinState + * @param prefix - Prefix string, NULL if not needed + * @param suffix - Suffix string, NULL if not needed + * + * @returns - a new VlfSpin object on success, NULL on error +*/ +VlfSpin vlfGuiAddIntegerSpinControl(int x, int y, int min, int max, int cur, int step, int loop, int speed, int initstate, char *prefix, char *suffix); + +/** + * Removes a spin item + * + * @param spin - the spin to remove + * + * @returns - < 0 on error +*/ +int vlfGuiRemoveSpinControl(VlfSpin spin); + +/** + * Sets spin state + * + * @param spin - the spin + * @param state - the state, one of VLF_SpinState + * + * @returns - < 0 on error +*/ +int vlfGuiSetSpinState(VlfSpin spin, int state); + +/** + * Sets integer minimum and maximum values for an integer spin + * + * @param spin - The integer spin + * @param min - the minimum value + * @param max - the maximum value + * + * @returns - < 0 on error +*/ +int vlfGuiSetIntegerSpinMinMax(VlfSpin spin, int min, int max); + +/** + * Gets the integer value of an integer spin + * + * @param spin - the integer spin + * @param value - pointer to a variable that receives the value + * + * @returns - < 0 on error +*/ +int vlfGuiGetIntegerSpinValue(VlfSpin spin, int *value); + +/** + * Sets the integer value of an integer spin + * + * @param spin - the integer spin + * @param value - the integer value to set + * + * @returns - < 0 on error +*/ +int vlfGuiSetIntegerSpinValue(VlfSpin spin, int value); + +/** + * Adds a new checkbox item + * By default the checkbox is created without focus and without check. + * When a checbox has focus, library handles automatically the press of enter button to change check state + * + * @param x - x position + * @param y - y position + * + * @returns - a new VlfCheckBox item on sucess, NULL on error +*/ +VlfCheckBox vlfGuiAddCheckBox(int x, int y); + +/** + * Removes a checkbox item + * + * @param cb - The checkbox to remove + * + * @returns - < 0 on error +*/ +int vlfGuiRemoveCheckBox(VlfCheckBox cb); + +/** + * Sets checkbox check state + * + * @param cb - The checkbox to check/uncheck + * @param check - boolean indicating check + * + * @returns - < 0 on error +*/ +int vlfGuiSetCheckBoxCheck(VlfCheckBox cb, int check); + +/** + * Sets checkbox focus state + * + * @param cb - The checkbox + * @param focus - boolean indicating focus + * + * @returns - < 0 on error + */ +int vlfGuiSetCheckBoxFocus(VlfCheckBox cb, int focus); + +/** + * Boolean function that checks check state of a checkbox + * + * @param cb - the checkbox + * + * @returns 1 if the checkbox is checked, 0 otherwise +*/ +int vlfGuiIsCheckBoxChecked(VlfCheckBox cb); + +/** + * Boolean function that checks focus state of a checkbox + * + * @param cb - the checkbox + * + * @returns 1 if the checkbox has focus, 0 otherwise +*/ +int vlfGuiIsCheckBoxFocused(VlfCheckBox cb); + +/** + * Adds a new inputbox item with default width. + * By default the newly created inputbox is focused and of normal type. + * When a inputbox item is focused, library automatically handles press of enter button to show OSK. + * + * @param desc - description that will be shown in the OSK dialog. + * @param x - the x position + * @param y - the y position + * + * @returns - a new VlfInputBox on sucess, NULL on error +*/ +VlfInputBox vlfGuiAddInputBox(char *desc, int x, int y); + +/** + * Adds a new inputbox item. + * By default the newly created inputbox is focused and of normal type. + * When a inputbox item is focused, library automatically handles press of enter button to show OSK. + * + * @param desc - description that will be shown in the OSK dialog. + * @param x - the x position + * @param y - the y position + * @param width - width of the box + * + * @returns - a new VlfInputBox on sucess, NULL on error +*/ +VlfInputBox vlfGuiAddInputBoxEx(u16 *desc, int x, int y, int width); + +/** + * Removes an inputbox + * + * @param ib - the inputbox to remove + * + * @returns - < 0 on error +*/ +int vlfGuiRemoveInputBox(VlfInputBox ib); + +/** + * Sets inputbox text from an ascii string + * + * @param ib - the inputbox + * @param text - the ascii string + * + * @returns - < 0 on error +*/ +int vlfGuiSetInputBoxText(VlfInputBox ib, char *text); + +/** + * Sets inputbox text from an unicode string + * + * @param ib - the inputbox + * @param text - the unicode string + * + * @returns - < 0 on error + */ +int vlfGuiSetInputBoxTextW(VlfInputBox ib, u16 *text); + +/** + * Sets inputbox text from a string with format + * + * @param ib - the inputbox + * @param fmt - the string with format + * + * @returns - < 0 on error + */ +int vlfGuiSetInputBoxTextF(VlfInputBox ib, char *fmt, ...); + +/** + * Gets inputbox text. + * + * @param ib - thei inputbox + * @param text - output buffer that receives the strig as unicode + * + * @returns - < 0 on error +*/ +int vlfGuiGetInputBoxText(VlfInputBox ib, u16 *text); + +/** + * Sets inputbox focus state + * + * @param ib - the inputbox + * @param focus - the focus state boolean + * + * @returns - < 0 on error +*/ +int vlfGuiSetInputBoxFocus(VlfInputBox ib, int focus); + +/** + * Boolean function that checks inputbox focus state + * + * @param ib - The inputbox + * + * @returns 1 if the inputbox has focus, 0 otherwise +*/ +int vlfGuiIsInputBoxFocused(VlfInputBox ib); + +/** + * Sets inputbox type (normal or password). + * + * @param ib - the inputbox + * @param type - the type to set, one of VLF_InputBoxType + * + * @returns - < 0 on error +*/ +int vlfGuiSetInputBoxType(VlfInputBox ib, int type); + +/** + * Makes a VlfInputBox item to fade. + * + * @param ib - The inputbox item to fade. + * @param mode - Whatever OR combination of VlfFadeModesFlags + * @param speed - The fade speed, one of VlfFadeSpeed + * @param direction_out - If both, VLF_FADE_MODE_IN and VLF_FADE_MODE_OUT, were specified, this param indicates + * wether to start from direction out or in. Otherwise, it is ignored. + * + * @returns - < 0 on error. +*/ +int vlfGuiSetInputBoxFade(VlfInputBox ib, int mode, int effect, int direction_out); + +/** + * Cancels a VlfInputBox item fade. + * + * @param ib - The inputbox item to remove fade. + * + * @returns - < 0 on error +*/ +int vlfGuiCancelInputBoxFade(VlfInputBox ib); + +/** + * Sets a callback to report the end of a fade. + * + * @param ib- The inputbox item fading. + * @param callback - The callback function that will be called at end of fade. + * @param param - param that will be passed to the callback function + * @param delay - The delay between the end of fade and the call to the callback + * + * @returns - < 0 on error +*/ +int vlfGuiSetInputBoxFadeFinishCallback(VlfInputBox ib, void (* callback)(void *), void *param, int delay); + +/** + * Adds a new progressbar at default x position. + * + * @param y - y position + * + * @return - a new VlfProgressBar item on success, NULL on error +*/ +VlfProgressBar vlfGuiAddProgressBar(int y); + +/** + * Adds a new progressbar + * + * @param x - x position + * @param y - y position + * + * @return - a new VlfProgressBar item on success, NULL on error +*/ +VlfProgressBar vlfGuiAddProgressBarEx(int x, int y); + +/** + * Removes a progress bar + * + * @param pb - the progress bar to remove. + * + * @returns - < 0 on error +*/ +int vlfGuiRemoveProgressBar(VlfProgressBar pb); + +/** + * Sets the progress of a progressbar + * + * @param pb - the progress bar + * @param perc - the percentage progress + * + * @returns - < 0 on error +*/ +int vlfGuiProgressBarSetProgress(VlfProgressBar pb, u32 perc); + +/** + * Makes a VlfProgressBar item to fade. + * + * @param pb - The progressbar item to fade. + * @param mode - Whatever OR combination of VlfFadeModesFlags + * @param speed - The fade speed, one of VlfFadeSpeed + * @param direction_out - If both, VLF_FADE_MODE_IN and VLF_FADE_MODE_OUT, were specified, this param indicates + * wether to start from direction out or in. Otherwise, it is ignored. + * + * @returns - < 0 on error. +*/ +int vlfGuiSetProgressBarFade(VlfProgressBar pb, int mode, int effect, int direction_out); + +/** + * Cancels a VlfProgressBar item fade. + * + * @param pb - The progressbar item to remove fade. + * + * @returns - < 0 on error +*/ +int vlfGuiCancelProgressBarFade(VlfProgressBar pb); + +/** + * Sets a callback to report the end of a fade. + * + * @param pb - The progressbar item fading. + * @param callback - The callback function that will be called at end of fade. + * @param param - param that will be passed to the callback function + * @param delay - The delay between the end of fade and the call to the callback + * + * @returns - < 0 on error +*/ +int vlfGuiSetProgressBarFadeFinishCallback(VlfProgressBar pb, void (* callback)(void *), void *param, int delay); + +/** + * Adds a new scrollbar. (must be controlled by programmer) + * + * @param x - x position + * @param y - y position + * @param height - height of scrollbar + * @param sliderheight - height of slider + * + * @returns a new VlfScrollBar item on success, NULL on error +*/ +VlfScrollBar vlfGuiAddScrollBar(int x, int y, int height, int sliderheight); + +/** + * Removes a scrollbar itemm. + * + * @param sb - the scrollbar to remove + * + * @returns - < 0 on error +*/ +int vlfGuiRemoveScrollBar(VlfScrollBar sb); + +/** + * Moves the slider of a scrollbar + * + * @param y - the new position of the slider + * + * @returns - < 0 on error +*/ +int vlfGuiMoveScrollBarSlider(VlfScrollBar sb, int y); + +/** + * Sets the height of the slider of a scrollbar + * + * @param sb - the scrollbar + * @param height - the new height for the slider + * + * @returns - < 0 on error. +*/ +int vlfGuiSetScrollBarSliderHeight(VlfScrollBar sb, int height); + +/** + * Sets the visibility of the items in a rectangle + * + * @param x - x position of rectangle + * @param y - y position of rectangle + * @param w - width of rectangle + * @param h - height of rectangle + * @param visible . boolean indicating visibility + * + * @returns - < 0 on error +*/ +int vlfGuiSetRectangleVisibility(int x, int y, int w, int h, int visible); + +/** + * Saves the visibility context in a rectangle area + * + * @param x - x position of rectangle + * @param y - y position of rectangle + * @param w - width of rectangle + * @param h - height of rectangle + * + * @returns - the visibility context. Use vlfGuiRestoreVisibilityContext to restore it, and vlfGuiFreeVisibilityContext to deallocate it. +*/ +void *vlfGuiSaveRectangleVisibilityContext(int x, int y, int w, int h); + +/** + * Restores a visibility context. + * + * @param ctx - the visibility context +*/ +void vlfGuiRestoreVisibilityContext(void *ctx); + +/** + * Deallocates memory used by a visibility context + * + * @param ctx - the visibility context +*/ +void vlfGuiFreeVisibilityContext(void *ctx); + +/** + * Makes all items within a rectangle to fade + * + * @param x - x position of rectangle + * @param y - y position of rectangle + * @param w - width of rectangle + * @param h - height of rectangle + * @param mode - Whatever OR combination of VlfFadeModesFlags + * @param speed - The fade speed, one of VlfFadeSpeed + * @param direction_out - If both, VLF_FADE_MODE_IN and VLF_FADE_MODE_OUT, were specified, this param indicates + * wether to start from direction out or in. Otherwise, it is ignored. + * + * @returns - < 0 on error. +*/ +int vlfGuiSetRectangleFade(int x, int y, int w, int h, int mode, int effect, int direction_out, void (* callback)(void *), void *param, int delay); + +/** + * Makes all items within a rectangle to blink + * + * @param x - x position of rectangle + * @param y - y position of rectangle + * @param w - width of rectangle + * @param h - height of rectangle + * @param nshow - the numbers of frames the items will be shown + * @param nhide - the numbers of frames the items will be hidden + * + * @returns - < 0 on error. + * + * @Note: currently not all kind of items can blink. This will be fixed in future. +*/ +int vlfGuiSetRectangleBlinking(int x, int y, int w, int h, u32 nshow, u32 nhide); + +/** + * Synchronizes the blinking of one item with the one of a second one + * + * @param dst - the destiny item + * @param dst_type - the type of the destiny object, one of VlfObjects + * @param src - the source item + * @param src_type - the type of source object, one of VlfObjects + * + * @returns - < 0 on error +*/ +int vlfGuiSetSynchronizedBlinking(void *dst, int dst_type, void *src, int src_type); + +/** + * Shows a message dialog. + * + * @param msg - the message dialog + * @param flags - a combination of VLF_MDType, VLF_MD_Buttons and VLF_MD_InitalCursor + * + * @returns - one of VLF_MD_ButtonRes +*/ +int vlfGuiMessageDialog(char *msg, u32 flags); + +/** + * Shows an error dialog. + * + * @param error - the system error code + * + * @returns - one of VLF_MD_ButtonRes +*/ +int vlfGuiErrorDialog(int error); + +/** + * Shows a net config dialog. + * Network libraries must be loaded before. + * + * @returns 0 if the connection was done. +*/ +int vlfGuiNetConfDialog(); + +/** + * Shows an OSK dialog. + * + * @param intext - the initial text of the OSK, NULL if no required + * @param desc - the description that will be shown in the OSK, NULL if no required + * @param outtext - the output text + * + * @returns 0 if the text was entered. +*/ +int vlfGuiOSKDialog(u16 *intext, u16 *desc, u16 *outtext); + +/** + * Shows one or two buttons with enter/cancel icons at bottom of screen. + * Button presses are handled by the library. + * + * @param button1 - a button code, one of VLF_DialogItem. < 0 if no required + * @param button2 - a button code, one of VLF_DialogItem- < 0 if no required + * @param automatic - if automatic is 0, button1 will be the left button and button2 will be right button. + * Otherwise, the buttons are rearranged automatically acording to current button configuration. + * @param enter_is_left - if automatic is 0, this button indicates which button is assigned enter. + * @param distance - the distance between the buttons, use VLF_DEFAULT for a default distance + * @param handler - the function that will be called when enter/cancel are pressed. The function shall return VLF_REMOVE_HANDLERS if it + * wants to cancel further events, VLF_REMOVE_OBJECTS to remove bottom dialog, or both to fully remove the bottom dialog. + * + * @returns - < 0 on error. +*/ +int vlfGuiBottomDialog(int button1, int button2, int automatic, int enter_is_left, int distance, int (* handler)(int enter)); + +/** + * Shows one or two buttons with enter/cancel icons at bottom of screen. + * Button presses are handled by the library. + * + * @param button1 - button string. NULL if no required + * @param button2 - button string. NULL if no required + * @param automatic - if automatic is 0, button1 will be the left button and button2 will be right button. + * Otherwise, the buttons are rearranged automatically acording to current button configuration. + * @param enter_is_left - if automatic is 0, this button indicates which button is assigned enter. + * @param distance - the distance between the buttons, use VLF_DEFAULT for a default distance + * @param handler - the function that will be called when enter/cancel are pressed, enter param indicates if enter was pressed, otherwise cancel was pressed. + * The function shall return VLF_REMOVE_HANDLERS if it wants to cancel further events, VLF_REMOVE_OBJECTS to remove buttons, + * or both to fully remove the bottom dialog. + * + * @returns - < 0 on error. + */ +int vlfGuiCustomBottomDialog(char *button1, char *button2, int automatic, int enter_is_left, int distance, int (* handler)(int enter)); + +/** + * Cancels (remove) the bottom dialog +*/ +void vlfGuiCancelBottomDialog(); + +/** + * Creates a central menu. + * Button presses of menu are automatically handled by the library + * + * @param noptions - number of options of the menu + * @param items - an array of noptions strings + * @param defaultsel- the index of the item with the initial selection + * @param handler - the function that will be called on enter button is pressed. sel param is the index of the selected item. + * The function shall return VLF_REMOVE_HANDLERS if it wants to cancel further events, VLF_REMOVE_OBJECTS to remove items, + * or both to fully remove the central menu. + * @param dispx - displacement relative to the default centered position (x) + * @param dispy - displacement relative to the default centered position (y) + * + * @returns - < 0 on error +*/ +int vlfGuiCentralMenu(int noptions, char **items, int defaultsel, int (* handler)(int sel), int dispx, int dispy); + +/** + * Cancels (remove) the central menu +*/ +void vlfGuiCancelCentralMenu(); + +/** + * Returns the current selected item of the central menu + * + * @returns - the selected item +*/ +int vlfGuiCentralMenuSelection(); + +/** + * Creates a lateral menu with current system color. + * Button presses of menu are automatically handled by the library + * + * @param noptions - number of options of the menu + * @param items - an array of noptions strings + * @param defaultsel- the index of the item with the initial selection + * @param handler - the function that will be called on enter button is pressed. sel param is the index of the selected item. + * The function shall return VLF_REMOVE_HANDLERS if it wants to cancel further events, VLF_REMOVE_OBJECTS to remove menu, + * or both to fully remove the lateral menu. + * @param y - y position of first item + * + * @returns - < 0 on error +*/ +int vlfGuiLateralMenu(int noptions, char **items, int defaultsel, int (* handler)(int sel), int y); + +/** + * Creates a lateral menu with desired color. + * Button presses of menu are automatically handled by the library + * + * @param noptions - number of options of the menu + * @param items - an array of noptions strings + * @param defaultsel- the index of the item with the initial selection + * @param handler - the function that will be called on enter button is pressed. sel param is the index of the selected item. + * The function shall return VLF_REMOVE_HANDLERS if it wants to cancel further events, VLF_REMOVE_OBJECTS to remove menu, + * or both to fully remove the lateral menu. + * @param y - y position of first item + * @param color - the color of the lateral menu + * + * @returns - < 0 on error +*/ +int vlfGuiLateralMenuEx(int noptions, char **items, int defaultsel, int (* handler)(int sel), int y, u32 color); + +/** + * Cancels (remove) the lateral menu + */ +void vlfGuiCancelLateralMenu(); + +/** + * Returns the current selected item of the lateral menu + * + * @returns - the selected item + */ +int vlfGuiLateralMenuSelection(); + +/** + * Creates a control for previous page handling. + * + * @param handler - the function that will be called when the previous button (left) is pressed. page parameter holds the page number. + * The function shall return VLF_REMOVE_HANDLERS if it wants to cancel further events, VLF_REMOVE_OBJECTS to remove control pics and text, + * or both to fully remove the control. + * + * @returns - < 0 on error +*/ +int vlfGuiPreviousPageControl(int (* handler)(int page)); + +/** + * Creates a control for next page handling. + * + * @param handler - the function that will be called when the next button (right) is pressed. page parameter holds the page number. + * The function shall return VLF_REMOVE_HANDLERS if it wants to cancel further events, VLF_REMOVE_OBJECTS to remove control pics and text, + * or both to fully remove the control. + * + * @returns - < 0 on error + */ +int vlfGuiNextPageControl(int (* handler)(int page)); + +/** + * Cancels (remove) previous page control +*/ +void vlfGuiCancelPreviousPageControl(); + +/** + * Cancels (remove) next page control + */ +void vlfGuiCancelNextPageControl(); + +/** + * Enable or disable page control.(it does not add/remove them). + * + * @param enable - enable or disable +*/ +void vlfGuiSetPageControlEnable(int enable); + +/** + * Adds a handler for an event. + * + * @param buttons - the button event, 0 if no event (will be called every frame) + * @param wait - wait for the handler to be added. Use 0 for no wait, and -1 to make this handler impossible to delay. + * @param func - the function that will be called when the event happens. + * @param param - custom param for the handler function. The function must return one or a combination of following values: + * + * VLF_EV_RET_NOTHING: normal return, it does nothing. + * VLF_EV_RET_REMOVE_EVENT: it removes the event (button press), so other handler doesn't receive it. + * VLF_EV_RET_REMOVE_HANDLERS: it removes this handler so that it won't receive more event notifications. + * VLF_EV_RET_DELAY: the event is delayed for specified number of miliseconds. VLF_EV_RET_DELAY | (X << 16), where 0 <= X <= 32727 + * VLF_EV_RET_DELAY_FRAME: the event is delayed for specified number of frames. VLF_EV_RET_DELAY_FRAME | (X << 16), where 0 <= X <= 4095 + * VLF_EV_RET_REFRESH_ON_DELAY: the event is refreshed after a delay, so that if button/s are kept pressed until after the event, it will receive it as a new event + * + * @returns - < 0 on error +*/ +int vlfGuiAddEventHandler(int buttons, int wait, int (* func)(void *), void *param); + +/** + * Adds a handler for an event. + * Unlike the previous function, this one adds the handler to the head instead of the tail. + * + * @param buttons - the button event, 0 if no event (will be called every frame) + * @param wait - wait for the handler to be added. Use 0 for no wait, and -1 to make this handler impossible to delay. + * @param func - the function that will be called when the event happens. + * @param param - custom param for the handler function. The function must return one or a combination of following values: + * + * VLF_EV_RET_NOTHING: normal return, it does nothing. + * VLF_EV_RET_REMOVE_EVENT: it removes the event (button press), so other handler doesn't receive it. + * VLF_EV_RET_REMOVE_HANDLERS: it removes this handler so that it won't receive more event notifications. + * VLF_EV_RET_DELAY: the event is delayed for specified number of miliseconds. VLF_EV_RET_DELAY | (X << 16), where 0 <= X <= 32727 + * VLF_EV_RET_DELAY_FRAME: the event is delayed for specified number of frames. VLF_EV_RET_DELAY_FRAME | (X << 16), where 0 <= X <= 4095 + * VLF_EV_RET_REFRESH_ON_DELAY: the event is refreshed after a delay, so that if button/s are kept pressed until after the event, it will receive it as a new event + * + * @returns - < 0 on error +*/ +int vlfGuiAddEventHandlerHead(int buttons, int wait, int (* func)(void *), void *param); + +/** + * Adds a handler for a negative event. + * + * @param buttons - the negative button event. For Example if you pass PSP_CTRL_CROSS, it will mean NOT PSP_CTRL_CROSS pressed. + * @param wait - wait for the handler to be added. Use 0 for no wait, and -1 to make this handler impossible to delay. + * @param func - the function that will be called when the event happens. + * @param param - custom param for the handler function. The function must return one or a combination of following values: + * + * VLF_EV_RET_NOTHING: normal return, it does nothing. + * VLF_EV_RET_REMOVE_EVENT: it removes the event (button press), so other handler doesn't receive it. + * VLF_EV_RET_REMOVE_HANDLERS: it removes this handler so that it won't receive more event notifications. + * VLF_EV_RET_DELAY: the event is delayed for specified number of miliseconds. VLF_EV_RET_DELAY | (X << 16), where 0 <= X <= 32727 + * VLF_EV_RET_DELAY_FRAME: the event is delayed for specified number of frames. VLF_EV_RET_DELAY_FRAME | (X << 16), where 0 <= X <= 4095 + * VLF_EV_RET_REFRESH_ON_DELAY: the event is refreshed after a delay, so that if button/s are kept pressed until after the event, it will receive it as a new event + * + * @returns - < 0 on error + */ +int vlfGuiAddNegativeEventHandler(int buttons, int wait, int (* func)(void *), void *param); + +/** + * Adds a handler for a negative event. + * Unlike the previous function, this one adds the handler to the head instead of the tail. + * + * @param buttons - the negative button event. For Example if you pass PSP_CTRL_CROSS, it will mean NOT PSP_CTRL_CROSS pressed. + * @param wait - wait for the handler to be added. Use 0 for no wait, and -1 to make this handler impossible to delay. + * @param func - the function that will be called when the event happens. + * @param param - custom param for the handler function. The function must return one or a combination of following values: + * + * VLF_EV_RET_NOTHING: normal return, it does nothing. + * VLF_EV_RET_REMOVE_EVENT: it removes the event (button press), so other handler doesn't receive it. + * VLF_EV_RET_REMOVE_HANDLERS: it removes this handler so that it won't receive more event notifications. + * VLF_EV_RET_DELAY: the event is delayed for specified number of miliseconds. VLF_EV_RET_DELAY | (X << 16), where 0 <= X <= 32727 + * VLF_EV_RET_DELAY_FRAME: the event is delayed for specified number of frames. VLF_EV_RET_DELAY_FRAME | (X << 16), where 0 <= X <= 4095 + * VLF_EV_RET_REFRESH_ON_DELAY: the event is refreshed after a delay, so that if button/s are kept pressed until after the event, it will receive it as a new event + * + * @returns - < 0 on error + */ +int vlfGuiAddNegativeEventHandlerHead(int buttons, int wait, int (* func)(void *), void *param); + +/** + * Removes an event handler. Use vlfGuiRemoveHandlerEx if you have used the same handler with different params. + * + * @param func - the handler function + * + * @returns - < 0 on error +*/ +int vlfGuiRemoveEventHandler(int (* func)(void *)); + +/** + * Removes an event hnadler + * + * @param func - the handler function + * @param param - the parameter that was passed to one of the vlfGuiAddEventHandler functions. + * + * @returns - < 0 on error +*/ +int vlfGuiRemoveEventHandlerEx(int (* func)(void *), void *param); + +/** + * Boolean function that checks if a handler is registered + * + * @param func - the handler to be checked. + * + * @return - < 0 on error +*/ +int vlfGuiIsEventRegistered(int (* func)(void *)); + +/** + * Delays an event handler. Use vlfGuiSetEventDelayEx if you have used the same handler with different params. + * + * @param func - the handler function + * @param delay - the delay in milisecs + * + * @return - < 0 on error +*/ +int vlfGuiSetEventDelay(int (* func)(void *), u32 delay); + +/** + * Delays an event handler. + * + * @param func - the handler function + * @param param - the parameter that was passed to one of the vlfGuiAddEventHandler functions. + * @param delay - the delay in milisecs + * + * @return - < 0 on error + */ +int vlfGuiSetEventDelayEx(int (* func)(void *), void * param, u32 delay); + +/** + * Delays all events that can be delayed + * + * @param delay - the delay in milisecs + * + * @returns - < 0 on error +*/ +int vlfGuiDelayAllEvents(u32 delay); + + + +#endif + diff --git a/libs/lib/libvlfgu.a b/libs/lib/libvlfgu.a new file mode 100755 index 0000000000000000000000000000000000000000..aecd297c7d0c0773b087fc12e0ff23d041424f0c GIT binary patch literal 101070 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 N9M8!HGtMHf{|{X7+35fP literal 0 HcmV?d00001 diff --git a/libs/lib/libvlflibc.a b/libs/lib/libvlflibc.a new file mode 100755 index 0000000000000000000000000000000000000000..0aa9270dc742a8ebce4eef3b720e493566b46932 GIT binary patch literal 88944 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 PF+UNk;`bM&IQYK-;U;J! literal 0 HcmV?d00001 diff --git a/plugin/Makefile b/plugin/Makefile new file mode 100644 index 0000000..10597d0 --- /dev/null +++ b/plugin/Makefile @@ -0,0 +1,27 @@ +TARGET = rtc_driver +OBJS = rtc_driver.o exports.o + +PRX_EXPORTS = exports.exp + +# Use the kernel's small inbuilt libc +USE_KERNEL_LIBC = 1 +# Use only kernel libraries +USE_KERNEL_LIBS = 1 + +INCDIR = +CFLAGS = -Os -G0 -Wall -fno-builtin-printf +CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti +ASFLAGS = $(CFLAGS) + +LIBDIR = + +LDFLAGS = -nostartfiles +LIBS = -lpsprtc_driver + +PSPSDK=$(shell psp-config --pspsdk-path) +include $(PSPSDK)/lib/build_prx.mak + +all: + psp-build-exports -s $(PRX_EXPORTS) + mkdir "../app/data/"; mv rtc_driver.prx "../app/data/" + mkdir "../app/drivers/"; mv rtc_driver.S "../app/drivers/" diff --git a/plugin/exports.exp b/plugin/exports.exp new file mode 100644 index 0000000..b0abaae --- /dev/null +++ b/plugin/exports.exp @@ -0,0 +1,16 @@ +# Define the exports for the prx +PSP_BEGIN_EXPORTS + +# These four lines are mandatory (although you can add other functions like module_stop) +# syslib is a psynonym for the single mandatory export. +PSP_EXPORT_START(syslib, 0, 0x8000) +PSP_EXPORT_FUNC(module_start) +PSP_EXPORT_FUNC(module_stop) +PSP_EXPORT_VAR(module_info) +PSP_EXPORT_END + +PSP_EXPORT_START(rtc_driver, 0, 0x4001) +PSP_EXPORT_FUNC(pspRtcSetCurrentTick) +PSP_EXPORT_END + +PSP_END_EXPORTS diff --git a/plugin/rtc_driver.c b/plugin/rtc_driver.c new file mode 100644 index 0000000..26016c8 --- /dev/null +++ b/plugin/rtc_driver.c @@ -0,0 +1,21 @@ +#include + +PSP_MODULE_INFO("audio_driver", PSP_MODULE_KERNEL, 1, 3); +PSP_NO_CREATE_MAIN_THREAD(); + +int sceRtcSetCurrentTick(u64 *tick); + +int pspRtcSetCurrentTick(u64 *tick) { + u32 k1 = pspSdkSetK1(0); + int ret = sceRtcSetCurrentTick(tick); + pspSdkSetK1(k1); + return ret; +} + +int module_start(SceSize args, void *argp) { + return 0; +} + +int module_stop(void) { + return 0; +}