Skip to content

Commit

Permalink
v0.77.1 | 2023/12/01 12:41 | Fixed some formatting and one minor bug,…
Browse files Browse the repository at this point in the history
… and transitioned the code from compiling with makefile to CMakeLists.txt
  • Loading branch information
ZERICO2005 committed Dec 1, 2023
0 parents commit 28d3607
Show file tree
Hide file tree
Showing 62 changed files with 6,223 additions and 0 deletions.
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
obj/
src/gfx/*.c
src/gfx/*.h
.DS_Store
convimg.out
autotest.json
desktop.ini
.vscode
33 changes: 33 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
cmake_minimum_required(VERSION 3.12)

set(TOOLCHAIN_PATH "/c/msys64/mingw64")
set(BIN_PATH "${TOOLCHAIN_PATH}/bin")
set(INCLUDE_PATH "${TOOLCHAIN_PATH}/include")
set(LIB_PATH "${TOOLCHAIN_PATH}/lib")

set(SRC_DIR "./src")

set(PROJECT_NAME "Super-Sweeper-Windows")
project(${PROJECT_NAME})

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "./bin")

# Compiler
set(CMAKE_C_COMPILER "gcc")
set(CMAKE_CXX_COMPILER "g++")

# Set C and C++ standards
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)

# Packages
find_package(SDL2 REQUIRED)

file(GLOB SRC_FILES "${SRC_DIR}/*.c")
# Create an executable
add_executable(${PROJECT_NAME} ${SRC_FILES})

# Compiler Flags Debug(-g -O0) Release(-O3)
set(OPT_FLAG -O3)
target_compile_options(${PROJECT_NAME} PUBLIC ${OPT_FLAG} -Wall)
target_link_libraries(${PROJECT_NAME} PUBLIC SDL2 SDL2main)
21 changes: 21 additions & 0 deletions LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2023 ZERICO2005

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
27 changes: 27 additions & 0 deletions README.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
Super-Sweeper Windows Edition v0.77.1
zerico2005 | 2023/12/01

Super-Sweeper Windows Edition is a port of Super-Sweeper for the Ti84CE.

Controls:
Arrows: Move
WASD: Move
Enter: Enter
E: Search Tile/Enter
Q: Flag Tile
Z: Mark Tile
X: Menu
C: Auto Solver (Must be enabled in the menu)
P: Exit Application

Super-Sweeper v0.77.0 was ported to Windows on June 3rd 2023. Super-Sweeper v0.77.1 has most of the source code unchanged apart from some formating and a minor bug fix. The source code is not too great because I coded Super Sweeper before I knew how to have multiple C files in a program. Otherwise the source code is under an MIT license.

Also included are the programs I used to generate the menus and videos.

Attributions:
- The 6x8 pixel font used in the program is a slightly modified version of the "even" font created by Christian Munk (CMunk), which can be found at https://fontstruct.com/fontstructions/show/275268/even_2. The "even" font is lincesed under Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0). Original License URL: https://creativecommons.org/licenses/by-sa/3.0/

Compiliation Setup used:
- Windows 10 64bit x86
- MSYS2 MinGW64
- GCC CMake Ninja
1 change: 1 addition & 0 deletions Video 126p/README.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The video player in Super-Sweeper has not been ported to windows yet. The binary files are uncompressed, and hold 6 168x126 4 bit frames each.
1 change: 1 addition & 0 deletions Video 126p/palette.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
unsigned short palette[1260] = {/*0*/3171,12684,12687,15855,18927,25266,31608,3,22098,25269,25368,25371,28440,31509,31512/*1*/,3171,12684,12687,15855,18927,25266,31608,3,22095,22098,25269,25368,25371,28440,31509/*2*/,3171,12684,12687,15855,18927,25266,31608,3,22095,22098,25269,25368,25371,28440,31509/*3*/,3171,12684,12687,15855,18927,25266,28437,3,31608,25368,25371,28440,31509,28536,31512/*4*/,3171,12684,12687,15855,18927,25266,28437,3,31608,25368,25371,28440,31509,28539,31512/*5*/,3171,12684,12687,15855,18927,25266,28437,3,31608,22200,25371,28440,31509,28539,31512/*6*/,3171,12684,12687,15855,18927,25266,28437,3,31608,25269,25368,25371,28440,31509,28539/*7*/,3171,12684,12687,15756,15855,25266,28437,3,22098,31608,25368,25467,28440,28539,31509/*8*/,3171,12684,12687,15756,15855,25266,28437,3,22098,25269,31608,25467,28539,31509,31512/*9*/,3171,12684,12687,15756,15855,25266,28437,3,31608,25368,22200,28539,31509,31512,31611/*10*/,3171,12684,12687,15756,15855,25266,31608,3,25269,28539,25368,25371,25467,31509,31512/*11*/,3171,12684,12687,15756,15855,25266,31608,3,28539,22095,22200,25368,25371,25467,31611/*12*/,3171,12684,15855,12687,31608,28437,28539,3,19029,22200,25368,31611,25467,28440,31512/*13*/,3171,12684,15855,12585,12687,31608,28539,3,15759,25368,25269,31509,31611,25371,28440/*14*/,3171,12684,6342,15756,15855,28539,31608,3,25269,19029,25368,22200,31509,31611,25170/*15*/,3171,3174,6342,12684,15756,15855,15858,3,28437,31608,31611,22200,31509,28542,31707/*16*/,3171,3174,12684,9513,15855,15858,28437,3,31608,28539,31611,28338,31707,25371,28341/*17*/,3171,3174,12684,15756,15855,15858,28437,3,31608,28539,31611,31509,28341,31707,31512/*18*/,3171,3174,12684,15756,15855,15858,31608,3,28539,22200,25368,31611,31509,31707,28341/*19*/,3171,3174,15855,15756,15858,18927,28437,3,31608,31707,28539,31611,31509,31710,31605/*20*/,3171,3174,15855,15858,12786,18927,28437,3,31707,31608,31611,31509,28638,31710,31212/*21*/,3171,3174,15756,15855,15858,18927,31707,3,28542,31608,31611,28440,28638,31509,31710/*22*/,3171,3174,15855,15858,18927,31707,31608,3,25266,25368,31611,28638,31710,31605,28515/*23*/,3171,3174,15858,15756,18927,28437,31707,31710,25368,25371,28440,28539,28638,31611,31605/*24*/,3171,3174,15858,18927,15855,28437,31608,31707,31710,25368,28638,28440,28539,31611,31614/*25*/,3171,3174,12786,15858,18927,28437,28542,31608,31707,31710,28638,31611,22299,29568,28672/*26*/,3171,12786,15855,15858,18927,28437,28542,31608,31707,31710,31611,22095,28341,29568,28672/*27*/,12786,15858,18927,28437,28542,31608,31707,31710,22299,25368,31611,31680,31509,29568,28672/*28*/,12786,15855,15858,18927,28437,28542,31608,31707,31710,25269,28638,31680,31614,29568,28672/*29*/,12786,15855,15858,18927,28437,28542,31608,31707,31710,25269,28638,30720,31680,29568,28672/*30*/,12786,15756,15855,15858,18927,28437,28542,31608,31707,31710,28638,31680,31512,29568,28672/*31*/,12786,15756,15858,18927,28437,28542,31608,31707,31611,31710,31512,28638,31680,29568,28672/*32*/,12786,15858,15855,18927,28437,28542,31608,31707,28539,31710,31512,31680,31509,29568,28672/*33*/,12786,15858,15855,18927,28437,28542,31608,28440,31707,31710,28638,31680,31512,29568,28672/*34*/,12786,15858,15855,28542,19128,31710,31707,31611,25368,25371,25470,28638,31512,29568,28672/*35*/,12786,15858,15855,18927,28437,28542,31710,31611,31707,28638,30720,31512,31680,29568,28672/*36*/,12786,15858,18927,19128,28437,28542,31710,31611,31707,28638,31512,31680,31017,29568,28672/*37*/,12786,15855,15858,19128,28437,28542,31608,31710,25470,28638,31509,31680,25272,29568,28672/*38*/,12786,15855,19128,28437,18927,28542,31608,28539,31710,31611,31509,30720,31680,29568,28672/*39*/,12786,15858,19128,28437,28542,31608,25266,25371,31707,31710,31509,31680,28341,29568,28672/*40*/,9615,12786,15858,28437,28542,31608,31707,28440,28539,31710,31611,31680,28434,29568,28672/*41*/,9615,12786,15855,28437,28542,31608,28539,31707,31710,31680,28638,31509,28341,29568,28672/*42*/,9615,12786,15855,28437,28542,31608,25371,28539,31611,31710,31509,25263,28341,29568,28672/*43*/,9615,15855,15756,28437,28542,31608,25371,28539,31710,31707,28536,31509,28638,29568,28672/*44*/,9615,15855,28437,31608,28539,28542,19029,25371,31707,31710,28440,30720,31680,29568,28672/*45*/,9615,15855,28437,31608,28539,28542,28338,31611,28434,31710,28440,31707,31680,29568,28672/*46*/,15855,15756,28437,31608,28539,28542,28338,25371,28434,31611,31707,31680,31710,29568,28672/*47*/,15855,15756,28437,25266,31608,22200,28542,19128,25368,25371,31611,30720,31680,29568,28672/*48*/,15855,9615,15756,12687,28437,28539,31608,28542,25371,28434,31611,31707,28440,29568,28672/*49*/,15756,15855,12585,12687,28437,25266,31608,28539,28542,31611,31707,31680,31605,29568,28672/*50*/,15756,15855,12684,28437,18927,25266,31608,28539,28542,31611,31707,25269,31605,29568,28672/*51*/,15756,9615,15855,12687,28437,28338,31608,28542,31611,30720,31707,31605,25263,29568,28672/*52*/,15756,9615,15855,12687,28437,25266,28539,31608,28434,28542,31611,31680,31707,29568,28672/*53*/,3171,15756,15855,12684,28437,28539,18927,25266,31608,28434,31611,31680,31707,29568,28672/*54*/,3171,15756,15855,12585,12684,28437,18927,28539,22200,25368,31608,28434,31611,29568,28672/*55*/,3171,15756,15855,12684,28437,15759,28539,25266,25368,31608,31611,31680,31707,29568,28672/*56*/,3171,15756,15855,12684,28437,28539,25266,25368,31608,31611,30720,31680,31707,29568,28672/*57*/,15756,12585,15855,28437,28338,28539,31608,25368,25371,28542,31611,31509,31707,29568,28672/*58*/,15756,15855,12684,28437,31608,22200,28539,25371,28542,31707,31680,31605,31611,29568,28672/*59*/,15756,15855,28338,28437,31608,25266,28539,28542,31707,31509,31680,31710,31704,29568,28672/*60*/,15756,12585,15855,22200,28437,31608,28542,31611,30720,31509,31680,31707,31710,29568,28672/*61*/,9615,15756,15855,28437,18927,28338,28542,31608,28440,31611,31707,28434,31710,29568,28672/*62*/,9615,12585,15756,15855,15858,28437,28338,28542,31608,28440,31707,31509,31710,31689,31017/*63*/,9615,15855,15756,28437,28338,25266,19128,28542,31608,31611,31707,31710,31605,25467,31614/*64*/,9615,15855,15756,28437,15858,28338,25266,28542,31608,31707,31710,31509,31605,31614,31512/*65*/,9615,15756,15855,28437,15858,22200,28338,28539,31608,31611,31710,28524,31707,31605,25467/*66*/,9615,12585,15756,15855,28437,22200,28338,28539,31608,25371,31611,31710,31707,31605,28443/*67*/,9615,12687,15756,15855,19029,28437,28338,28539,31608,31611,31710,25365,28341,31509,31707/*68*/,9615,12687,15855,19029,28338,28437,28539,31608,31611,28440,31710,25167,28434,25365,31707/*69*/,9615,12687,15855,19029,28338,28437,28539,31608,31611,31710,25272,28434,31707,31509,31605/*70*/,9615,12687,15855,22200,28338,28539,31608,31611,31710,25269,28434,31707,31605,25467,31614/*71*/,9615,12687,15855,22200,28338,28539,31608,28542,31611,31710,25269,31605,31509,31707,31614/*72*/,9615,12687,15855,19029,22200,28338,28539,31608,31611,31710,31605,28341,28536,31707,25365/*73*/,9615,12687,15855,19029,22200,28338,28437,28539,31608,31611,31710,31605,31707,31614,28536/*74*/,9615,12687,15855,22200,28338,28437,28539,31608,31611,25167,25269,31710,28440,31509,31605/*75*/,9615,12687,15756,15855,22200,28338,28437,28539,31608,31611,28341,31710,31605,28443,28536/*76*/,9615,12687,15756,15855,22200,28338,28437,28539,31608,31611,28341,28440,31509,31710,28335/*77*/,9615,12687,15756,15855,22200,28338,28437,28539,31608,31611,28341,28440,31509,28434,31710/*78*/,15756,12585,12687,15855,28338,28437,28539,31608,31611,28341,28440,31509,28434,31605,31710/*79*/,12687,9615,15756,25266,28437,25167,25371,28440,31608,25263,28338,28536,28341,28434,28539/*80*/,12684,22095,9513,25266,19029,22197,15954,22200,28437,25365,25272,18930,25170,25263,28341/*81*/,9513,9516,18924,19026,22095,22098,22194,3,22197,25266,21996,18828,21999,18921,25170/*82*/,6342,6345,9414,15753,15855,18927,15852,3,12585,12783,15858,19023,19026,32768,32768/*83*/,3171,3174,6243,6342,9513,12585,12681,12684,9612,32768,32768,32768,32768,32768,32768}
1 change: 1 addition & 0 deletions Video 126p/video-00.bin

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions Video 126p/video-01.bin

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions Video 126p/video-02.bin

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions Video 126p/video-03.bin

Large diffs are not rendered by default.

Binary file added Video 126p/video-04.bin
Binary file not shown.
Binary file added Video 126p/video-05.bin
Binary file not shown.
Binary file added Video 126p/video-06.bin
Binary file not shown.
Binary file added Video 126p/video-07.bin
Binary file not shown.
Binary file added Video 126p/video-08.bin
Binary file not shown.
Binary file added Video 126p/video-09.bin
Binary file not shown.
Binary file added Video 126p/video-10.bin
Binary file not shown.
1 change: 1 addition & 0 deletions Video 126p/video-11.bin

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions Video 126p/video-12.bin

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions Video 126p/video-13.bin

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions assets/6x8 font/LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The 6x8 pixel font used in the program is a slightly modified version of the "even" font created by Christian Munk (CMunk), which can be found at https://fontstruct.com/fontstructions/show/275268/even_2. The "even" font is lincesed under Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0). Original License URL: https://creativecommons.org/licenses/by-sa/3.0/
Binary file added assets/6x8 font/char 6x8 v3-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/6x8 font/char 6x8 v4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
94 changes: 94 additions & 0 deletions assets/Mine Sweeper Text.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
@
Classic MineSweeper: \M;
Knight Sweeper: \K;
All Modes: \F;
Custom: !;
Leaderboard: \L;
Settings: \G;
Help: ?;
Exit Game: \E;
@
Quick Game:;
Game Mode: \K;
Preset: \F;
Size: #;
Difficulty: %;
Start Game: \M;
Custom: \G;
Main Menu: \E;
@
Pattern Selection: \F;
Random Mode: ?;
Select Preset: \M;
Custom Game: \G;
Main Menu: \E;
@
Game Mode: \K;
Size X:;
Size Y:;
Mine Count: \M;
Percentage: %;
Start Game: \F;
Main Menu: \E;
@
High Scores: \L;
1.;
2.;
3.;
4.;
5.;
6.;
Game Mode: \K;
Main Menu: \E;
@
Safe Guessing:;

Cording (Alpha):;
Maximum FPS:;
Version:;
Main Menu \E;
@
Video Mode:;
Background Effects:;
Accessibility Mode:;
@
Super Sweeper is a version of MineSweeper;
for the Ti84CE with several modes and;
features. To play, one can start a quick;
game from the main menu, this includes;
options for different difficulties and;
presets. Once in a game, your objective;
is to safely Flag \F all the Mines \M by;
using the numbered tiles as clues to;
figure out where each Mine \M is located.;
;
Use Alpha to search a tile, 2nd to Flag \F;
a tile, Y= to mark a ? onto a tile, XT0n;
to chord, mode to pause, and del to quit.;
;
I hope you enjoy my game :);
@
Paused:;
Resume Game;
Restart;
Main Menu;
Exit Application;
Remaining Tiles:;
Time Taken:;
@
Game Over!;
Restart;
Main Menu;
Resume Game;
Exit Application;
Remaining Tiles:;
Time Taken:;
@
Game Complete!;
Resume Game;
Restart;
Main Menu;
Exit Application;
Score:;
Time Taken:;
@
33 changes: 33 additions & 0 deletions assets/colors.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
256 Color Table

0-F: Standard 4bit
0 Black
1 Maroon
2 Green
3 Olive
4 Navy
5 Purple
6 Cyan
7 Silver
8 Gray
9 Red
A Lime
B Yellow
C Blue
D Fuchsia
E Teal
F White

10 Orange

11-16: Fade Colors
11 Similiar to Cyan
16 Similiar to teal

17 Similiar to Red, Mine Highlight

18-1B: LCD Colors
18 Similiar to Red
19 Darker Maroon
1A Similiar to Black
1B Similiar to Silver
Binary file added assets/keypad/Collasped 0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/keypad/Collasped 1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/keypad/Collasped 2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/keypad/Expanded 0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/keypad/Expanded 1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/keypad/Expanded 2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/keypad/Keypad 0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/keypad/Keypad 1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/keypad/Keypad 2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions bin/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*
!.gitignore
2 changes: 2 additions & 0 deletions build/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*
!.gitignore
Binary file added icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions lib/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*
!.gitignore
38 changes: 38 additions & 0 deletions makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# DEPRECATED
# USE CMAKELISTS.TXT INSTEAD

#g++ main.cpp ./glad/src/glad.c -I./glad/include -o prog.exe -lmingw32 -lSDL2main -lSDL2

#SRC_FILES = $(wildcard $(SRC_DIR)/*.cpp)
#OBJ_FILES = $(patsubst $(SRC_DIR)/%.cpp,$(BIN_DIR)/%.o,$(SRC_FILES)) $(BIN_DIR)/glad.o

#Compilier
CC = g++
# Directories
SRC_DIR = ./src ./glad/src
OBJ_DIR = ./obj
BIN_DIR = ./bin

# Output
BIN_OUTPUT = ./bin/Super-Sweeper-v77.exe
# Sources
SRC_FILES = ./src/main.c ./glad/src/glad.c

# Flags
CFLAGS = -I./glad/include
LDFLAGS = -lmingw32 -lSDL2main -lSDL2 -mwindows -static-libgcc -static-libstdc++
OBJ = $(patsubst $(SRC_DIR)/%.cpp,$(OBJ_DIR)/%.o,$(SRC_FILES))

$(BIN_OUTPUT): $(OBJ)
$(CC) $(OBJ) $(CFLAGS) -o $@ $(LDFLAGS) -O3

($OBJ_DIR)/%.o: %.cpp
$(CC) $(CFLAGS) -c $< -o $@

($OBJ_DIR)/%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@

clean:
rm -f $(BIN_DIR)/*

.PHONY: $(BIN_OUTPUT) clean
Binary file added screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions src/Super CSV/bin/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*
!.gitignore
Loading

0 comments on commit 28d3607

Please sign in to comment.