Fixes and setup to compile under AmigaOS 4
This commit is contained in:
parent
82af33d075
commit
69b714860b
|
@ -50,8 +50,11 @@ $(OUT)/%.o: %.c %.h $(DEPS)
|
||||||
$(CC) $(CFLAGS) $(CXXFLAGS) -c -o $@ $<
|
$(CC) $(CFLAGS) $(CXXFLAGS) -c -o $@ $<
|
||||||
|
|
||||||
%.mo: %.po
|
%.mo: %.po
|
||||||
|
ifneq ($(shell uname), AmigaOS)
|
||||||
msgfmt -c -o $@ $<
|
msgfmt -c -o $@ $<
|
||||||
|
endif
|
||||||
|
|
||||||
# cleaning everything that can be automatically recreated with "make".
|
# cleaning everything that can be automatically recreated with "make".
|
||||||
clean:
|
clean:
|
||||||
$(RM) $(OBJS) $(PROG) $(LOCALE_MO)
|
$(RM) $(OBJS) $(PROG) $(LOCALE_MO)
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,78 @@
|
||||||
|
PROG = tbftss
|
||||||
|
CC = gcc-11
|
||||||
|
PREFIX ?= /usr
|
||||||
|
BIN_DIR ?= $(PREFIX)/bin
|
||||||
|
DATA_DIR ?= data
|
||||||
|
LOCALE_DIR = locale
|
||||||
|
ICON_DIR = $(PREFIX)/share/icons/hicolor
|
||||||
|
DESKTOP_DIR = $(PREFIX)/share/applications
|
||||||
|
|
||||||
|
DESTDIR ?=
|
||||||
|
INST_BIN_DIR = $(DESTDIR)$(BIN_DIR)
|
||||||
|
INST_DATA_DIR = $(DESTDIR)$(DATA_DIR)
|
||||||
|
INST_LOCALE_DIR = $(DESTDIR)$(LOCALE_DIR)
|
||||||
|
INST_ICON_DIR = $(DESTDIR)$(ICON_DIR)
|
||||||
|
INST_DESKTOP_DIR = $(DESTDIR)$(DESKTOP_DIR)
|
||||||
|
|
||||||
|
SEARCHPATH += src/plat/os4
|
||||||
|
_OBJS += os4Init.o
|
||||||
|
|
||||||
|
include common.mk
|
||||||
|
|
||||||
|
CXXFLAGS += -DVERSION=$(VERSION) -DREVISION=$(REVISION) -DDATA_DIR=\"$(DATA_DIR)\" -DLOCALE_DIR=\"$(LOCALE_DIR)\" -D__USE_INLINE__
|
||||||
|
CXXFLAGS += -pedantic
|
||||||
|
CXXFLAGS += -g -lefence
|
||||||
|
CXXFLAGS += -Wall -Wempty-body -Werror -Wstrict-prototypes -Werror=maybe-uninitialized -Warray-bounds
|
||||||
|
# CXXFLAGS += -gstabs
|
||||||
|
|
||||||
|
LDFLAGS += -lauto -lSDL2_image -lSDL2_ttf -lft2 -ltiff -lwebp -lpng -ljpeg -lz -lm
|
||||||
|
LDFLAGS += -lSDL2_mixer -lmikmod -lmodplug -lFLAC -lsmpeg2 -lvorbisfile -lvorbis -logg
|
||||||
|
LDFLAGS += -lSDL2 -lpthread -athread=native -lstdc++
|
||||||
|
# LDFLAGS += -gstabs
|
||||||
|
|
||||||
|
# linking the program.
|
||||||
|
$(PROG): $(OBJS)
|
||||||
|
$(CC) -o $@ $(OBJS) $(LDFLAGS)
|
||||||
|
|
||||||
|
install:
|
||||||
|
mkdir -p $(INST_BIN_DIR)
|
||||||
|
install -m 0755 $(PROG) $(INST_BIN_DIR)
|
||||||
|
mkdir -p $(INST_DATA_DIR)
|
||||||
|
cp -r data $(INST_DATA_DIR)
|
||||||
|
cp -r gfx $(INST_DATA_DIR)
|
||||||
|
cp -r manual $(INST_DATA_DIR)
|
||||||
|
cp -r music $(INST_DATA_DIR)
|
||||||
|
cp -r sound $(INST_DATA_DIR)
|
||||||
|
mkdir -p $(INST_ICON_DIR)/16x16/apps
|
||||||
|
mkdir -p $(INST_ICON_DIR)/32x32/apps
|
||||||
|
mkdir -p $(INST_ICON_DIR)/64x64/apps
|
||||||
|
mkdir -p $(INST_ICON_DIR)/128x128/apps
|
||||||
|
cp -p icons/$(PROG)-16x16.png $(INST_ICON_DIR)/16x16/apps/$(PROG).png
|
||||||
|
cp -p icons/$(PROG)-32x32.png $(INST_ICON_DIR)/32x32/apps/$(PROG).png
|
||||||
|
cp -p icons/$(PROG)-64x64.png $(INST_ICON_DIR)/64x64/apps/$(PROG).png
|
||||||
|
cp -p icons/$(PROG)-128x128.png $(INST_ICON_DIR)/128x128/apps/$(PROG).png
|
||||||
|
mkdir -p $(INST_DESKTOP_DIR)
|
||||||
|
cp -p icons/$(PROG).desktop $(INST_DESKTOP_DIR)
|
||||||
|
|
||||||
|
@for f in $(LOCALE_MO); do \
|
||||||
|
lang=`echo $$f | sed -e 's/^locale\///;s/\.mo$$//'`; \
|
||||||
|
mkdir -p $(INST_LOCALE_DIR)/$$lang/LC_MESSAGES; \
|
||||||
|
cp -v $$f $(INST_LOCALE_DIR)/$$lang/LC_MESSAGES/$(PROG).mo; \
|
||||||
|
done
|
||||||
|
|
||||||
|
uninstall:
|
||||||
|
$(RM) $(BIN_DIR)/$(PROG)
|
||||||
|
$(RM) -rf $(DATA_DIR)
|
||||||
|
$(RM) $(ICON_DIR)/16x16/apps/$(PROG).png
|
||||||
|
$(RM) $(ICON_DIR)/32x32/apps/$(PROG).png
|
||||||
|
$(RM) $(ICON_DIR)/64x64/apps/$(PROG).png
|
||||||
|
$(RM) $(ICON_DIR)/128x128/apps/$(PROG).png
|
||||||
|
$(RM) $(DESKTOP_DIR)/$(PROG).desktop
|
||||||
|
|
||||||
|
@for f in $(LOCALE_MO); do \
|
||||||
|
lang=`echo $$f | sed -e 's/^locale\///;s/\.mo$$//'`; \
|
||||||
|
$(RM) -v $(LOCALE_DIR)/$$lang/LC_MESSAGES/$(PROG).mo; \
|
||||||
|
done
|
||||||
|
|
||||||
|
.PHONY: dist
|
||||||
|
|
|
@ -426,7 +426,7 @@ void awardStatsTrophies(void)
|
||||||
|
|
||||||
void awardCampaignTrophies(void)
|
void awardCampaignTrophies(void)
|
||||||
{
|
{
|
||||||
char trophyId[MAX_NAME_LENGTH];
|
char trophyId[MAX_NAME_LENGTH * 2];
|
||||||
char name[MAX_NAME_LENGTH];
|
char name[MAX_NAME_LENGTH];
|
||||||
int i, len;
|
int i, len;
|
||||||
StarSystem *starSystem;
|
StarSystem *starSystem;
|
||||||
|
@ -533,3 +533,4 @@ static void setSparkleColor(Trophy *t)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,101 @@
|
||||||
|
/*
|
||||||
|
Copyright (C) 2015-2019,2022 Parallel Realities
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public License
|
||||||
|
as published by the Free Software Foundation; either version 2
|
||||||
|
of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
See the GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <errno.h>
|
||||||
|
#include <pwd.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
|
#include <proto/dos.h>
|
||||||
|
#include <proto/exec.h>
|
||||||
|
|
||||||
|
#include "../../common.h"
|
||||||
|
|
||||||
|
#include "os4Init.h"
|
||||||
|
|
||||||
|
#define VSTRING "tbftss 1.5.1r1 (13.08.2022)"
|
||||||
|
#define VERSTAG "\0$VER: " VSTRING
|
||||||
|
static CONST_STRPTR stack USED = "$STACK:102400";
|
||||||
|
static CONST_STRPTR version USED = VERSTAG;
|
||||||
|
|
||||||
|
extern App app;
|
||||||
|
extern Dev dev;
|
||||||
|
|
||||||
|
void createSaveFolder(void)
|
||||||
|
{
|
||||||
|
// char *dir;
|
||||||
|
// int i;
|
||||||
|
|
||||||
|
BPTR savesPathLock = Lock("PROGDIR:saves", SHARED_LOCK);
|
||||||
|
if (!savesPathLock)
|
||||||
|
{
|
||||||
|
SDL_LogMessage(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_INFO, "Saves folder not found. I am going to create it.");
|
||||||
|
// mkpath("PROGDIR:saves");
|
||||||
|
if (mkdir("PROGDIR:saves", S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) != 0 && errno != EEXIST)
|
||||||
|
{
|
||||||
|
SDL_LogMessage(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_WARN, "Failed to create save dir.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
UnLock(savesPathLock);
|
||||||
|
}
|
||||||
|
|
||||||
|
// for (i = 0 ; i < MAX_SAVE_SLOTS ; i++)
|
||||||
|
// {
|
||||||
|
// dir = buildFormattedString("saves/%d", i);
|
||||||
|
|
||||||
|
// mkpath(dir);
|
||||||
|
|
||||||
|
// free(dir);
|
||||||
|
// }
|
||||||
|
// app.saveDir = "saves";
|
||||||
|
STRNCPY(app.saveDir, "saves", MAX_FILENAME_LENGTH);
|
||||||
|
|
||||||
|
// char *userHome;
|
||||||
|
// char dir[MAX_FILENAME_LENGTH];
|
||||||
|
|
||||||
|
// userHome = getenv("HOME");
|
||||||
|
|
||||||
|
// if (!userHome)
|
||||||
|
// {
|
||||||
|
// SDL_LogMessage(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_WARN, "Unable to determine user save folder. Will save to current dir.");
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// SDL_LogMessage(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_INFO, "User home = %s", userHome);
|
||||||
|
|
||||||
|
// sprintf(dir, "%s/.local/share/tbftss", userHome);
|
||||||
|
// if (mkdir(dir, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) != 0 && errno != EEXIST)
|
||||||
|
// {
|
||||||
|
// SDL_LogMessage(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_WARN, "Failed to create save dir '%s'. Will save to current dir.", dir);
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// STRNCPY(app.saveDir, dir, MAX_FILENAME_LENGTH);
|
||||||
|
}
|
||||||
|
|
||||||
|
void createScreenshotFolder(void)
|
||||||
|
{
|
||||||
|
mkdir("/tmp/tbftss", S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH);
|
||||||
|
|
||||||
|
dev.screenshotFolder = "/tmp/tbftss";
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
/*
|
||||||
|
Copyright (C) 2015-2019,2022 Parallel Realities
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public License
|
||||||
|
as published by the Free Software Foundation; either version 2
|
||||||
|
of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
See the GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
void createScreenshotFolder(void);
|
||||||
|
void createSaveFolder(void);
|
Loading…
Reference in New Issue