Merge branch 'accurate' into portable

This commit is contained in:
Clownacy 2019-12-05 15:50:56 +00:00
commit fc68b772a8

369
Makefile
View file

@ -13,248 +13,247 @@ ALL_LDFLAGS = $(LDFLAGS)
ALL_LIBS = $(LIBS) ALL_LIBS = $(LIBS)
ifeq ($(WINDOWS), 1) ifeq ($(WINDOWS), 1)
EXE_EXTENSION = .exe EXE_EXTENSION = .exe
endif endif
ifeq ($(RELEASE), 1) ifeq ($(RELEASE), 1)
ALL_CXXFLAGS += -O3 -DNDEBUG ALL_CXXFLAGS += -O3 -DNDEBUG
ALL_LDFLAGS += -s ALL_LDFLAGS += -s
FILENAME_DEF = CSE2$(EXE_EXTENSION) FILENAME_DEF = CSE2$(EXE_EXTENSION)
DOCONFIG_FILENAME_DEF = DoConfig$(EXE_EXTENSION) DOCONFIG_FILENAME_DEF = DoConfig$(EXE_EXTENSION)
else else
ALL_CXXFLAGS += -Og -ggdb3 ALL_CXXFLAGS += -Og -ggdb3
FILENAME_DEF = CSE2_debug$(EXE_EXTENSION) FILENAME_DEF = CSE2_debug$(EXE_EXTENSION)
DOCONFIG_FILENAME_DEF = DoConfig_debug$(EXE_EXTENSION) DOCONFIG_FILENAME_DEF = DoConfig_debug$(EXE_EXTENSION)
endif endif
ifeq ($(JAPANESE), 1) ifeq ($(JAPANESE), 1)
DATA_DIRECTORY = $(ASSETS_DIRECTORY)/data_jp DATA_DIRECTORY = $(ASSETS_DIRECTORY)/data_jp
CSE2_CXXFLAGS += -DJAPANESE CSE2_CXXFLAGS += -DJAPANESE
else else
DATA_DIRECTORY = $(ASSETS_DIRECTORY)/data_en DATA_DIRECTORY = $(ASSETS_DIRECTORY)/data_en
endif endif
FILENAME ?= $(FILENAME_DEF) FILENAME ?= $(FILENAME_DEF)
DOCONFIG_FILENAME ?= $(DOCONFIG_FILENAME_DEF) DOCONFIG_FILENAME ?= $(DOCONFIG_FILENAME_DEF)
ifeq ($(FIX_BUGS), 1) ifeq ($(FIX_BUGS), 1)
CSE2_CXXFLAGS += -DFIX_BUGS CSE2_CXXFLAGS += -DFIX_BUGS
endif endif
ifeq ($(DEBUG_SAVE), 1) ifeq ($(DEBUG_SAVE), 1)
CSE2_CXXFLAGS += -DDEBUG_SAVE CSE2_CXXFLAGS += -DDEBUG_SAVE
endif endif
ifeq ($(WARNINGS), 1) ifeq ($(WARNINGS), 1)
ALL_CXXFLAGS += -Wall -Wextra -pedantic ALL_CXXFLAGS += -Wall -Wextra -pedantic
endif endif
ifeq ($(WARNINGS_ALL), 1) ifeq ($(WARNINGS_ALL), 1)
ifneq ($(findstring clang,$(CXX)),) ifneq ($(findstring clang,$(CXX)),)
# Use clang-specific flag -Weverything # Use clang-specific flag -Weverything
ALL_CXXFLAGS += -Weverything ALL_CXXFLAGS += -Weverything
else else
# This is indented with spaces because otherwise it doesn't compile (make doesn't like tabs there for some reason) $(warning Couldn\'t activate all warnings (Unsupported compiler))
$(warning Couldn\'t activate all warnings (Unsupported compiler)) endif
endif
endif endif
ifeq ($(WARNINGS_FATAL), 1) ifeq ($(WARNINGS_FATAL), 1)
ALL_CXXFLAGS += -Werror ALL_CXXFLAGS += -Werror
endif endif
ALL_CXXFLAGS += -std=c++98 -MMD -MP -MF $@.d ALL_CXXFLAGS += -std=c++98 -MMD -MP -MF $@.d
CSE2_CXXFLAGS += $(shell pkg-config sdl2 --cflags) $(shell pkg-config freetype2 --cflags) CSE2_CXXFLAGS += $(shell pkg-config sdl2 --cflags) $(shell pkg-config freetype2 --cflags)
ifeq ($(STATIC), 1) ifeq ($(STATIC), 1)
ALL_LDFLAGS += -static ALL_LDFLAGS += -static
CSE2_LIBS += $(shell pkg-config sdl2 --libs --static) $(shell pkg-config freetype2 --libs --static) -lfreetype CSE2_LIBS += $(shell pkg-config sdl2 --libs --static) $(shell pkg-config freetype2 --libs --static) -lfreetype
DOCONFIG_LIBS += $(shell fltk-config --cxxflags --libs --ldstaticflags) DOCONFIG_LIBS += $(shell fltk-config --cxxflags --libs --ldstaticflags)
else else
CSE2_LIBS += $(shell pkg-config sdl2 --libs) $(shell pkg-config freetype2 --libs) CSE2_LIBS += $(shell pkg-config sdl2 --libs) $(shell pkg-config freetype2 --libs)
DOCONFIG_LIBS += $(shell fltk-config --cxxflags --libs --ldflags) DOCONFIG_LIBS += $(shell fltk-config --cxxflags --libs --ldflags)
endif endif
SOURCES = \ SOURCES = \
src/ArmsItem \ src/ArmsItem \
src/Back \ src/Back \
src/Boss \ src/Boss \
src/BossAlmo1 \ src/BossAlmo1 \
src/BossAlmo2 \ src/BossAlmo2 \
src/BossBallos \ src/BossBallos \
src/BossFrog \ src/BossFrog \
src/BossIronH \ src/BossIronH \
src/BossLife \ src/BossLife \
src/BossOhm \ src/BossOhm \
src/BossPress \ src/BossPress \
src/BossTwinD \ src/BossTwinD \
src/BossX \ src/BossX \
src/BulHit \ src/BulHit \
src/Bullet \ src/Bullet \
src/Caret \ src/Caret \
src/Config \ src/Config \
src/Draw \ src/Draw \
src/Ending \ src/Ending \
src/Escape \ src/Escape \
src/Fade \ src/Fade \
src/File \ src/File \
src/Flags \ src/Flags \
src/Flash \ src/Flash \
src/Font \ src/Font \
src/Frame \ src/Frame \
src/Game \ src/Game \
src/Generic \ src/Generic \
src/GenericLoad \ src/GenericLoad \
src/Input \ src/Input \
src/KeyControl \ src/KeyControl \
src/Main \ src/Main \
src/Map \ src/Map \
src/MapName \ src/MapName \
src/MiniMap \ src/MiniMap \
src/MyChar \ src/MyChar \
src/MycHit \ src/MycHit \
src/MycParam \ src/MycParam \
src/NpcAct000 \ src/NpcAct000 \
src/NpcAct020 \ src/NpcAct020 \
src/NpcAct040 \ src/NpcAct040 \
src/NpcAct060 \ src/NpcAct060 \
src/NpcAct080 \ src/NpcAct080 \
src/NpcAct100 \ src/NpcAct100 \
src/NpcAct120 \ src/NpcAct120 \
src/NpcAct140 \ src/NpcAct140 \
src/NpcAct160 \ src/NpcAct160 \
src/NpcAct180 \ src/NpcAct180 \
src/NpcAct200 \ src/NpcAct200 \
src/NpcAct220 \ src/NpcAct220 \
src/NpcAct240 \ src/NpcAct240 \
src/NpcAct260 \ src/NpcAct260 \
src/NpcAct280 \ src/NpcAct280 \
src/NpcAct300 \ src/NpcAct300 \
src/NpcAct320 \ src/NpcAct320 \
src/NpcAct340 \ src/NpcAct340 \
src/NpChar \ src/NpChar \
src/NpcHit \ src/NpcHit \
src/NpcTbl \ src/NpcTbl \
src/Organya \ src/Organya \
src/PixTone \ src/PixTone \
src/Profile \ src/Profile \
src/Random \ src/Random \
src/Resource \ src/Resource \
src/SelStage \ src/SelStage \
src/Shoot \ src/Shoot \
src/Sound \ src/Sound \
src/Stage \ src/Stage \
src/Star \ src/Star \
src/TextScr \ src/TextScr \
src/Triangle \ src/Triangle \
src/ValueView \ src/ValueView \
src/Backends/Audio/SDL2 src/Backends/Audio/SDL2
RESOURCES = \ RESOURCES = \
BITMAP/Credit01.bmp \ BITMAP/Credit01.bmp \
BITMAP/Credit02.bmp \ BITMAP/Credit02.bmp \
BITMAP/Credit03.bmp \ BITMAP/Credit03.bmp \
BITMAP/Credit04.bmp \ BITMAP/Credit04.bmp \
BITMAP/Credit05.bmp \ BITMAP/Credit05.bmp \
BITMAP/Credit06.bmp \ BITMAP/Credit06.bmp \
BITMAP/Credit07.bmp \ BITMAP/Credit07.bmp \
BITMAP/Credit08.bmp \ BITMAP/Credit08.bmp \
BITMAP/Credit09.bmp \ BITMAP/Credit09.bmp \
BITMAP/Credit10.bmp \ BITMAP/Credit10.bmp \
BITMAP/Credit11.bmp \ BITMAP/Credit11.bmp \
BITMAP/Credit12.bmp \ BITMAP/Credit12.bmp \
BITMAP/Credit14.bmp \ BITMAP/Credit14.bmp \
BITMAP/Credit15.bmp \ BITMAP/Credit15.bmp \
BITMAP/Credit16.bmp \ BITMAP/Credit16.bmp \
BITMAP/Credit17.bmp \ BITMAP/Credit17.bmp \
BITMAP/Credit18.bmp \ BITMAP/Credit18.bmp \
CURSOR/CURSOR_IKA.bmp \ CURSOR/CURSOR_IKA.bmp \
CURSOR/CURSOR_NORMAL.bmp \ CURSOR/CURSOR_NORMAL.bmp \
ICON/ICON_MINI.bmp \ ICON/ICON_MINI.bmp \
ORG/Access.org \ ORG/Access.org \
ORG/Anzen.org \ ORG/Anzen.org \
ORG/Balcony.org \ ORG/Balcony.org \
ORG/Ballos.org \ ORG/Ballos.org \
ORG/BreakDown.org \ ORG/BreakDown.org \
ORG/Cemetery.org \ ORG/Cemetery.org \
ORG/Curly.org \ ORG/Curly.org \
ORG/Dr.org \ ORG/Dr.org \
ORG/Ending.org \ ORG/Ending.org \
ORG/Escape.org \ ORG/Escape.org \
ORG/Fanfale1.org \ ORG/Fanfale1.org \
ORG/Fanfale2.org \ ORG/Fanfale2.org \
ORG/Fanfale3.org \ ORG/Fanfale3.org \
ORG/FireEye.org \ ORG/FireEye.org \
ORG/Gameover.org \ ORG/Gameover.org \
ORG/Ginsuke.org \ ORG/Ginsuke.org \
ORG/Grand.org \ ORG/Grand.org \
ORG/Gravity.org \ ORG/Gravity.org \
ORG/Hell.org \ ORG/Hell.org \
ORG/ironH.org \ ORG/ironH.org \
ORG/Jenka.org \ ORG/Jenka.org \
ORG/Jenka2.org \ ORG/Jenka2.org \
ORG/Kodou.org \ ORG/Kodou.org \
ORG/LastBtl3.org \ ORG/LastBtl3.org \
ORG/LastBtl.org \ ORG/LastBtl.org \
ORG/LastCave.org \ ORG/LastCave.org \
ORG/Marine.org \ ORG/Marine.org \
ORG/Maze.org \ ORG/Maze.org \
ORG/MDown2.org \ ORG/MDown2.org \
ORG/Mura.org \ ORG/Mura.org \
ORG/Oside.org \ ORG/Oside.org \
ORG/Plant.org \ ORG/Plant.org \
ORG/quiet.org \ ORG/quiet.org \
ORG/Requiem.org \ ORG/Requiem.org \
ORG/Toroko.org \ ORG/Toroko.org \
ORG/Vivi.org \ ORG/Vivi.org \
ORG/Wanpak2.org \ ORG/Wanpak2.org \
ORG/Wanpaku.org \ ORG/Wanpaku.org \
ORG/Weed.org \ ORG/Weed.org \
ORG/White.org \ ORG/White.org \
ORG/XXXX.org \ ORG/XXXX.org \
ORG/Zonbie.org \ ORG/Zonbie.org \
WAVE/Wave.dat WAVE/Wave.dat
ifeq ($(JAPANESE), 1) ifeq ($(JAPANESE), 1)
RESOURCES += BITMAP/pixel_jp.bmp RESOURCES += BITMAP/pixel_jp.bmp
RESOURCES += FONT/NotoSansMonoCJKjp.otf RESOURCES += FONT/NotoSansMonoCJKjp.otf
else else
RESOURCES += BITMAP/pixel.bmp RESOURCES += BITMAP/pixel.bmp
RESOURCES += FONT/LiberationMono.ttf RESOURCES += FONT/LiberationMono.ttf
endif endif
ifeq ($(RENDERER), OpenGL3) ifeq ($(RENDERER), OpenGL3)
SOURCES += src/Backends/Rendering/OpenGL3 SOURCES += src/Backends/Rendering/OpenGL3
CSE2_CXXFLAGS += $(shell pkg-config glew --cflags) CSE2_CXXFLAGS += $(shell pkg-config glew --cflags)
ifeq ($(STATIC), 1) ifeq ($(STATIC), 1)
CSE2_CXXFLAGS += -DGLEW_STATIC CSE2_CXXFLAGS += -DGLEW_STATIC
CSE2_LIBS += $(shell pkg-config glew --libs --static) CSE2_LIBS += $(shell pkg-config glew --libs --static)
else else
CSE2_LIBS += $(shell pkg-config glew --libs) CSE2_LIBS += $(shell pkg-config glew --libs)
endif endif
ifeq ($(WINDOWS), 1) ifeq ($(WINDOWS), 1)
CSE2_LIBS += -lopengl32 CSE2_LIBS += -lopengl32
else else
CSE2_LIBS += -lGL CSE2_LIBS += -lGL
endif endif
else ifeq ($(RENDERER), SDLTexture) else ifeq ($(RENDERER), SDLTexture)
SOURCES += src/Backends/Rendering/SDLTexture SOURCES += src/Backends/Rendering/SDLTexture
else ifeq ($(RENDERER), SDLSurface) else ifeq ($(RENDERER), SDLSurface)
SOURCES += src/Backends/Rendering/SDLSurface SOURCES += src/Backends/Rendering/SDLSurface
else ifeq ($(RENDERER), Software) else ifeq ($(RENDERER), Software)
SOURCES += src/Backends/Rendering/Software SOURCES += src/Backends/Rendering/Software
else else
@echo Invalid RENDERER selected; this build will fail @echo Invalid RENDERER selected; this build will fail
endif endif
OBJECTS = $(addprefix obj/$(FILENAME)/, $(addsuffix .o, $(SOURCES))) OBJECTS = $(addprefix obj/$(FILENAME)/, $(addsuffix .o, $(SOURCES)))
DEPENDENCIES = $(addprefix obj/$(FILENAME)/, $(addsuffix .o.d, $(SOURCES))) DEPENDENCIES = $(addprefix obj/$(FILENAME)/, $(addsuffix .o.d, $(SOURCES)))
ifeq ($(WINDOWS), 1) ifeq ($(WINDOWS), 1)
OBJECTS += obj/$(FILENAME)/windows_resources.o OBJECTS += obj/$(FILENAME)/windows_resources.o
endif endif
all: $(BUILD_DIRECTORY)/$(FILENAME) $(BUILD_DIRECTORY)/data $(BUILD_DIRECTORY)/$(DOCONFIG_FILENAME) all: $(BUILD_DIRECTORY)/$(FILENAME) $(BUILD_DIRECTORY)/data $(BUILD_DIRECTORY)/$(DOCONFIG_FILENAME)