commit f101e53706e673b442d0859512cf3034cdc2bb43 Author: KikooDX Date: Fri Apr 16 11:08:47 2021 +0200 Shameless remake of Massena's game diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..41565cf --- /dev/null +++ b/.clang-format @@ -0,0 +1,10 @@ +# https://clang.llvm.org/docs/ClangFormat.html +BasedOnStyle: LLVM +IndentWidth: 8 +UseTab: AlignWithSpaces +BreakBeforeBraces: Linux +AllowShortIfStatementsOnASingleLine: false +IndentCaseLabels: false +ColumnLimit: 80 +AlignConsecutiveMacros: true +AlwaysBreakAfterReturnType: TopLevelDefinitions diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..53803ae --- /dev/null +++ b/.gitignore @@ -0,0 +1,12 @@ +# Build files +/build-cg +/*.g3a + +# Common IDE files +*.sublime-project +*.sublime-workspace +.vscode +*.swp + +# KBLE backup files +backup_*.kble diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..28435eb --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,44 @@ +# Configure with [fxsdk build-fx] or [fxsdk build-cg], which provide the +# toolchain file and module path of the fxSDK + +cmake_minimum_required(VERSION 3.18) +project(PcAdmin C) + +include(GenerateG1A) +include(GenerateG3A) +include(Fxconv) +find_package(Gint 2.4 REQUIRED) + +include_directories(include) + +set(SOURCES + src/main.c + src/bar/init.c + src/bar/update.c + src/bar/draw.c +) + +set(ASSETS) + +set(FLAGS + -std=c11 + -Wall -Wextra -pedantic + -Wshadow + -Wswitch-default -Wswitch-enum + -Wunreachable-code + -Wstrict-prototypes -Wmissing-prototypes + -Werror-implicit-function-declaration + -Os +) + +fxconv_declare_assets(${ASSETS} WITH_METADATA) + +add_executable(Main ${SOURCES} ${ASSETS}) +target_compile_options(Main PRIVATE ${FLAGS}) +target_link_libraries(Main Gint::Gint) + +generate_g3a( + TARGET Main + OUTPUT "${PROJECT_NAME}.g3a" + NAME "${PROJECT_NAME}" + ICONS assets/icon-uns.png assets/icon-sel.png) diff --git a/assets/icon-sel.png b/assets/icon-sel.png new file mode 100644 index 0000000..7137b50 Binary files /dev/null and b/assets/icon-sel.png differ diff --git a/assets/icon-uns.png b/assets/icon-uns.png new file mode 100644 index 0000000..3c99f62 Binary files /dev/null and b/assets/icon-uns.png differ diff --git a/include/bar.h b/include/bar.h new file mode 100644 index 0000000..ddd4f00 --- /dev/null +++ b/include/bar.h @@ -0,0 +1,18 @@ +#pragma once +#include + +#define BAR_WIDTH 12 +#define BAR_Y 32 +#define BAR_HEIGHT (DHEIGHT - BAR_Y * 2) +#define BAR_BASE_FILL 0.5 + +struct Bar { + int x; + int y; + int height; + float fill; +}; + +struct Bar bar_init(int x); +void bar_update(struct Bar *bar); +void bar_draw(struct Bar bar); diff --git a/src/bar/draw.c b/src/bar/draw.c new file mode 100644 index 0000000..e3898eb --- /dev/null +++ b/src/bar/draw.c @@ -0,0 +1,6 @@ +#include "bar.h" + +void +bar_draw(struct Bar bar) +{ +} diff --git a/src/bar/init.c b/src/bar/init.c new file mode 100644 index 0000000..f0bee60 --- /dev/null +++ b/src/bar/init.c @@ -0,0 +1,12 @@ +#include "bar.h" + +struct Bar +bar_init(int x) +{ + return (struct Bar){ + .x = x, + .y = BAR_Y, + .height = BAR_HEIGHT, + .fill = BAR_BASE_FILL, + }; +} diff --git a/src/bar/update.c b/src/bar/update.c new file mode 100644 index 0000000..462d830 --- /dev/null +++ b/src/bar/update.c @@ -0,0 +1,6 @@ +#include "bar.h" + +void +bar_update(struct Bar *bar) +{ +} diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..fe68bfd --- /dev/null +++ b/src/main.c @@ -0,0 +1,16 @@ +#include "bar.h" +#include +#include + +int +main(void) +{ + struct Bar my_bar = bar_init(22); + + dclear(C_WHITE); + bar_draw(my_bar); + dupdate(); + getkey(); + + return 1; +}