From a9e7c4daee1393ca992e67aff2914e9f01998562 Mon Sep 17 00:00:00 2001 From: milaq Date: Thu, 20 Jun 2019 16:56:46 +0200 Subject: [PATCH] initial commit --- .gitignore | 4 ++ Makefile | 14 +++++ build_steamlink.sh | 41 ++++++++++++++ icon.png | Bin 0 -> 2148 bytes install.sh | 38 +++++++++++++ res/S98virtualherefree | 5 ++ res/sans.ttf | Bin 0 -> 96428 bytes res/vhfwatchdog | 18 ++++++ res/virtualherefree_config.ini | 16 ++++++ vhf_installer_screen.c | 98 +++++++++++++++++++++++++++++++++ 10 files changed, 234 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100755 build_steamlink.sh create mode 100644 icon.png create mode 100755 install.sh create mode 100755 res/S98virtualherefree create mode 100644 res/sans.ttf create mode 100755 res/vhfwatchdog create mode 100644 res/virtualherefree_config.ini create mode 100644 vhf_installer_screen.c diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9d5fb16 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +*.o + +vhf_installer_screen +steamlink diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..7e5e340 --- /dev/null +++ b/Makefile @@ -0,0 +1,14 @@ +# Source setenv.sh before running make + +CFLAGS := -I$(MARVELL_ROOTFS)/usr/include/SDL2 +LDFLAGS := -lSDL2 -lSDL2_ttf + +vhf_installer_screen: vhf_installer_screen.o + $(CC) -o $@ $< $(LDFLAGS) + +clean: + $(RM) vhf_installer_screen.o + +distclean: clean + $(RM) vhf_installer_screen + $(RM) -r steamlink diff --git a/build_steamlink.sh b/build_steamlink.sh new file mode 100755 index 0000000..10f68ac --- /dev/null +++ b/build_steamlink.sh @@ -0,0 +1,41 @@ +#!/bin/bash +# + +TOP=$(cd `dirname "${BASH_SOURCE[0]}"` && pwd) +if [ "${MARVELL_SDK_PATH}" = "" ]; then + MARVELL_SDK_PATH="$(cd "${TOP}/../.." && pwd)" +fi +if [ "${MARVELL_ROOTFS}" = "" ]; then + source "${MARVELL_SDK_PATH}/setenv.sh" || exit 1 +fi +cd "${TOP}" + +make $MAKE_J || exit 2 + +export DESTDIR="${PWD}/steamlink/apps/VirtualHereFreeInstaller" + +# Copy the files to the app directory +mkdir -p "${DESTDIR}" +cp -v -r res/ "${DESTDIR}" +cp -v install.sh "${DESTDIR}" +cp -v vhf_installer_screen "${DESTDIR}" +cp -v icon.png "${DESTDIR}" + +# Create the table of contents and icon +cat >"${DESTDIR}/toc.txt" <<__EOF__ +name=VirtualHereFree Installer +icon=icon.png +run=install.sh +__EOF__ + +# Pack it up +name=$(basename ${DESTDIR}) +pushd "$(dirname ${DESTDIR})" +tar zcvf $name.tgz $name || exit 3 +rm -rf $name +popd + +# All done! +echo "Build complete!" +echo +echo "Put the steamlink folder onto a USB drive, insert it into your Steam Link, and cycle the power to install." diff --git a/icon.png b/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..168055689f113755d6b88d1f84b641233c32eb3c GIT binary patch literal 2148 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�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 +#include +#include + +#include "SDL.h" +#include "SDL_ttf.h" + +#define TEXT_MARGIN 40 +#define FONT "res/sans.ttf" +#define FONTSIZE 24 + +void get_text(SDL_Renderer *renderer, int x, int y, char *text, TTF_Font *font, SDL_Color textColor, + SDL_Texture **texture, SDL_Rect *rect) { + int text_width; + int text_height; + SDL_Surface *surface; + + surface = TTF_RenderText_Solid(font, text, textColor); + *texture = SDL_CreateTextureFromSurface(renderer, surface); + text_width = surface->w; + text_height = surface->h; + SDL_FreeSurface(surface); + rect->x = x; + rect->y = y; + rect->w = text_width; + rect->h = text_height; +} + +int main(int argc, char *argv[]) +{ + SDL_DisplayMode displaymode; + SDL_Renderer *renderer; + SDL_Window *window; + SDL_Surface *surface; + SDL_Texture *texture1, *texture2; + SDL_Rect textbox1, textbox2; + SDL_Event event; + + if (SDL_Init(SDL_INIT_VIDEO) < 0) { + SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't initialize SDL: %s", SDL_GetError()); + return EXIT_FAILURE; + } + + if (SDL_GetCurrentDisplayMode(0, &displaymode) < 0) { + SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't get displaymode: %s", SDL_GetError()); + return EXIT_FAILURE; + } + + if (SDL_CreateWindowAndRenderer(displaymode.w, displaymode.h, 0, &window, &renderer) < 0) { + SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't create window and renderer: %s", SDL_GetError()); + return EXIT_FAILURE; + } + SDL_ShowCursor(SDL_DISABLE); + + if (TTF_Init() < 0) { + SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't initialize TTF library: %s", SDL_GetError()); + return EXIT_FAILURE; + } + + TTF_Font* font = TTF_OpenFont(FONT, FONTSIZE); + if (!font) { + SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Couldn't load font: %s", SDL_GetError()); + return EXIT_FAILURE; + } + + SDL_Color textColorHeader = {255, 0, 0, 0}; + SDL_Color textColor = {255, 255, 255, 0}; + + get_text(renderer, TEXT_MARGIN, TEXT_MARGIN, "VirtualHereFree installer by milaq", font, textColorHeader, &texture1, &textbox1); + get_text(renderer, TEXT_MARGIN, textbox1.y + 2 * textbox1.h, "Installing, please wait...", font, textColor, &texture2, &textbox2); + + SDL_FreeSurface(surface); + + while (1) { + SDL_PollEvent(&event); + if (event.type == SDL_QUIT) { + break; + } + SDL_SetRenderDrawColor(renderer, 0, 0, 0, 0); + SDL_RenderClear(renderer); + + SDL_RenderCopy(renderer, texture1, NULL, &textbox1); + SDL_RenderCopy(renderer, texture2, NULL, &textbox2); + + SDL_RenderPresent(renderer); + } + + SDL_DestroyTexture(texture1); + SDL_DestroyTexture(texture2); + TTF_Quit(); + + SDL_DestroyRenderer(renderer); + SDL_DestroyWindow(window); + + SDL_Quit(); + + return EXIT_SUCCESS; +}