Fixed hiscore date and compiled with latest SDL

This commit is contained in:
George Sokianos 2023-07-04 20:52:03 +01:00
parent 5dd814e452
commit c076098ad9
3 changed files with 20 additions and 12 deletions

View File

@ -1,6 +1,6 @@
# breakhack for AmigaOS 4.1 FE # breakhack for AmigaOS 4.1 FE
breakhack is a small roguelike game for having some good time, while breakhack is a small roguelike game for having some good time, while
you wait for your amiga to compile or render a screen. It is developed you wait for your amiga to compile or render a screen. It is developed
by Linus Probert and you can find it for various platforms on Steam. by Linus Probert and you can find it for various platforms on Steam.
@ -15,10 +15,8 @@ Extract the archive wherever you want and run the *breakhack* binary.
- Roman "kas1e" Kargin and Nouvel "HunoPPC" Hugues for their help - Roman "kas1e" Kargin and Nouvel "HunoPPC" Hugues for their help
with libphysfs with libphysfs
Without all the above Lite XL would not be possible
## Known issues ## Known issues
There are some issues with the Fullscreen graphics, depending which There are some issues with the Fullscreen graphics, depending which
Renderer driver is used. I might fix them in the future. Renderer driver is used. I might fix them in the future.
## Support ## Support
@ -29,11 +27,21 @@ https://ko-fi.com/walkero
## Known issues ## Known issues
You can find the known issues at You can find the known issues at
https://git.walkero.gr/walkero/breakhack/issues https://git.walkero.gr/walkero/breakhack/issues
# Changelog # Changelog
## [4.0.3r2] - 2023-07-04
### Changed
- Compiled with latest SDL 2.0.28 that has a better support for 16bit
screens. Now it works under Qemu. Tested with Software rendering
### Fixed
- Fixed the hiscore date. Now it is saved on UTC +8 years which is
the Amiga epoch diff against the unix one. This doesn affect the
old hi-scores though
## [4.0.3r1] - 2022-12-21 ## [4.0.3r1] - 2022-12-21
### Added ### Added
- First release for AmigaOS 4 - First release for AmigaOS 4

View File

@ -97,7 +97,7 @@ hiscore_init(void)
static void static void
save_hiscore(double gold, int lvl, int dlvl) save_hiscore(double gold, int lvl, int dlvl)
{ {
const char *query = "INSERT INTO hiscore(gold, playerLevel, dungeonLevel) values (?, ?, ?)"; const char *query = "INSERT INTO hiscore(time, gold, playerLevel, dungeonLevel) values (datetime('now','+8 years'), ?, ?, ?)";
sqlite3_stmt *stmt = db_prepare(db, query); sqlite3_stmt *stmt = db_prepare(db, query);
debug("Saving high score: %dg %dpl %dl", debug("Saving high score: %dg %dpl %dl",

View File

@ -67,7 +67,7 @@
#if defined(__amigaos4__) #if defined(__amigaos4__)
#define USED __attribute__((used)) #define USED __attribute__((used))
#define VSTRING "BreakHack 4.0.3r1 (18.09.2022)" #define VSTRING "BreakHack 4.0.3r2 (04.07.2023)"
#define VERSTAG "\0$VER: " VSTRING #define VERSTAG "\0$VER: " VSTRING
static const char *stack USED = "$STACK:102400"; static const char *stack USED = "$STACK:102400";
static const char *version USED = VERSTAG; static const char *version USED = VERSTAG;
@ -246,7 +246,7 @@ bool initSDL(void)
m_sprintf(title_buffer, 100, "%s %d.%d.%d %s", GAME_TITLE, MAJOR_VERSION, MINOR_VERSION, PATCH_VERSION, RELEASE_TYPE); m_sprintf(title_buffer, 100, "%s %d.%d.%d %s", GAME_TITLE, MAJOR_VERSION, MINOR_VERSION, PATCH_VERSION, RELEASE_TYPE);
gWindow = SDL_CreateWindow(title_buffer, gWindow = SDL_CreateWindow(title_buffer,
SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED,
SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED,
(int)(SCREEN_WIDTH * renderScale), (int)(SCREEN_WIDTH * renderScale),
(int)(SCREEN_HEIGHT * renderScale), (int)(SCREEN_HEIGHT * renderScale),
SDL_WINDOW_SHOWN); SDL_WINDOW_SHOWN);
@ -281,7 +281,7 @@ bool initSDL(void)
debug("Disabling text input"); debug("Disabling text input");
SDL_StopTextInput(); SDL_StopTextInput();
} }
return true; return true;
} }
@ -922,7 +922,7 @@ end_game_details(void)
{ {
gui_log("You earned %.2f gold", gPlayer->gold); gui_log("You earned %.2f gold", gPlayer->gold);
gui_event_message("You earned %.2f gold", gPlayer->gold); gui_event_message("You earned %.2f gold", gPlayer->gold);
if (hiscore_get_top_gold() < gPlayer->gold) { if (hiscore_get_top_gold() < gPlayer->gold) {
gui_event_message("NEW HIGHSCORE"); gui_event_message("NEW HIGHSCORE");
gui_log("NEW HIGHSCORE"); gui_log("NEW HIGHSCORE");
@ -1456,7 +1456,7 @@ validate_lib_checksum(void)
fatal("Unable to open %s for reading\n", file); fatal("Unable to open %s for reading\n", file);
} }
unsigned calculated = checksum_fp(fp); unsigned calculated = checksum_fp(fp);
fclose(fp); fclose(fp);
if (calculated != expected) { if (calculated != expected) {
@ -1492,7 +1492,7 @@ int main(int argc, char *argv[])
return 1; return 1;
if (settings_get()->fullscreen_enabled) { if (settings_get()->fullscreen_enabled) {
// Game starts in windowed mode so this will // Game starts in windowed mode so this will
// change to fullscreen // change to fullscreen
toggle_fullscreen(); toggle_fullscreen();
} }