networking

This commit is contained in:
2025-07-13 15:47:42 +03:00
parent f5b26be510
commit a9c28b8940
345 changed files with 142130 additions and 174 deletions

View File

@@ -0,0 +1,186 @@
SOURCEFILES := \
BaseMenu.cpp \
Friends.cpp \
Inventory.cpp \
ItemStore.cpp \
Leaderboards.cpp \
Lobby.cpp \
Main.cpp \
MainMenu.cpp \
OverlayExamples.cpp \
PhotonBeam.cpp \
QuitMenu.cpp \
RemotePlay.cpp \
RemoteStorage.cpp \
ServerBrowser.cpp \
Ship.cpp \
SimpleProtobuf.cpp \
SpaceWarClient.cpp \
SpaceWarEntity.cpp \
SpaceWarServer.cpp \
StarField.cpp \
StatsAndAchievements.cpp \
Sun.cpp \
timeline.cpp \
VectorEntity.cpp \
clanchatroom.cpp \
gameenginesdl.cpp \
htmlsurface.cpp \
musicplayer.cpp \
p2pauth.cpp \
stdafx.cpp \
voicechat.cpp \
glew.c
TARGETNAME := SteamworksExampleLinux
#TARGETTYPE can be APP, STATIC or SHARED
TARGETTYPE := APP
include flags.mak
CONFIG ?= RELEASE
ALL_MACROS := $(COMMON_MACROS)
ifeq ($(CONFIG),DEBUG)
BINARYDIR = debug
CFLAGS += $(DEBUG_CFLAGS)
CXXFLAGS += $(DEBUG_CXXFLAGS)
LDFLAGS += $(DEBUG_LDFLAGS)
ALL_MACROS += $(DEBUG_MACROS)
endif
ifeq ($(CONFIG),RELEASE)
BINARYDIR = release
CFLAGS += $(RELEASE_CFLAGS)
CXXFLAGS += $(RELEASE_CXXFLAGS)
LDFLAGS += $(RELEASE_LDFLAGS)
ALL_MACROS += $(RELEASE_MACROS)
endif
ifeq ($(BINARYDIR),)
error:
$(error Please specify CONFIG=DEBUG/RELEASE)
endif
ARCH ?= 64
ifeq ($(ARCH), 32)
CFLAGS += -m32
CXXFLAGS += -m32
LDFLAGS += -m32
else
ifneq ($(ARCH), 64)
$(error Please specify ARCH=32/64)
endif
endif
EXTERNAL_LIBS :=
EXTERNAL_LIBS_COPIED := $(foreach lib, $(EXTERNAL_LIBS),$(BINARYDIR)/$(notdir $(lib)))
CXXFLAGS += -Wno-invalid-offsetof
CFLAGS += $(addprefix -I,$(INCLUDE_DIRS))
CXXFLAGS += $(addprefix -I,$(INCLUDE_DIRS))
CFLAGS += $(addprefix -D,$(ALL_MACROS))
CXXFLAGS += $(addprefix -D,$(ALL_MACROS))
CXXFLAGS += $(addprefix -framework ,$(MACOS_FRAMEWORKS))
CFLAGS += $(addprefix -framework ,$(MACOS_FRAMEWORKS))
LDFLAGS += $(addprefix -framework ,$(MACOS_FRAMEWORKS))
LDFLAGS += $(addprefix -L,$(LIBRARY_DIRS))
LIBRARY_LDFLAGS = $(addprefix -l,$(LIBRARY_NAMES))
ifeq ($(IS_LINUX_PROJECT),1)
RPATH_PREFIX := -Wl,--rpath='$$ORIGIN/../
LIBRARY_LDFLAGS += $(EXTERNAL_LIBS)
LIBRARY_LDFLAGS += -Wl,--rpath='$$ORIGIN'
LIBRARY_LDFLAGS += $(addsuffix ',$(addprefix $(RPATH_PREFIX),$(dir $(EXTERNAL_LIBS))))
ifeq ($(TARGETTYPE),SHARED)
LIBRARY_LDFLAGS += -Wl,-soname,$(TARGETNAME)
endif
else
LIBRARY_LDFLAGS += $(EXTERNAL_LIBS)
endif
CFLAGS += $(MCUFLAGS)
CXXFLAGS += $(MCUFLAGS)
LDFLAGS += $(MCUFLAGS)
all_make_files := Makefile flags.mak $(ADDITIONAL_MAKE_FILES)
ifeq ($(STARTUPFILES),)
all_source_files := $(SOURCEFILES)
else
all_source_files := $(STARTUPFILES) $(filter-out $(STARTUPFILES),$(SOURCEFILES))
endif
source_obj1 := $(all_source_files:.cpp=.o)
source_obj2 := $(source_obj1:.c=.o)
source_objs := $(source_obj2:.S=.o)
all_objs := $(addprefix $(BINARYDIR)/, $(notdir $(source_objs)))
ifeq ($(GENERATE_BIN_FILE),1)
all: $(BINARYDIR)/$(basename $(TARGETNAME)).bin
$(BINARYDIR)/$(basename $(TARGETNAME)).bin: $(BINARYDIR)/$(TARGETNAME)
$(OBJCOPY) -O binary $< $@
else
all: $(BINARYDIR)/$(TARGETNAME)
endif
ifeq ($(TARGETTYPE),APP)
$(BINARYDIR)/$(TARGETNAME): $(all_objs) $(EXTERNAL_LIBS) $(BINARYDIR)/$(STEAM_API) $(BINARYDIR)/SteamworksExample.sh $(BINARYDIR)/DejaVuSans.ttf
$(LD) -o $@ $(START_GROUP) $(all_objs) $(LIBRARY_LDFLAGS) $(LDFLAGS) $(END_GROUP)
@echo "You can start the game by running $(BINARYDIR)/SteamworksExample.sh"
endif
ifeq ($(TARGETTYPE),SHARED)
$(BINARYDIR)/$(TARGETNAME): $(all_objs) $(EXTERNAL_LIBS)
$(LD) -shared -o $@ $(START_GROUP) $(all_objs) $(LIBRARY_LDFLAGS) $(LDFLAGS) $(END_GROUP)
endif
ifeq ($(TARGETTYPE),STATIC)
$(BINARYDIR)/$(TARGETNAME): $(all_objs)
$(AR) -r $@ $^
endif
-include $(all_objs:.o=.dep)
clean:
ifeq ($(USE_DEL_TO_CLEAN),1)
del /S /Q $(BINARYDIR)
else
rm -f $(BINARYDIR)/*.o $(BINARYDIR)/*.dep $(BINARYDIR)/$(TARGETNAME) $(BINARYDIR)/SteamworksExample.sh
endif
$(BINARYDIR):
mkdir $(BINARYDIR)
$(BINARYDIR)/$(STEAM_API): $(LIBRARY_DIRS)/$(STEAM_API)
chmod +w $@ || true
cp -v $< $@
chmod +x $@
$(BINARYDIR)/SteamworksExample.sh: SteamworksExample.sh
cp -v $< $@
chmod +x $@
$(BINARYDIR)/DejaVuSans.ttf: DejaVuSans.ttf
cp -v $< $@
$(BINARYDIR)/%.o : %.cpp $(all_make_files) |$(BINARYDIR)
$(CXX) $(CXXFLAGS) -c $< -o $@ -MD -MF $(@:.o=.dep)
$(BINARYDIR)/%.o : %.c $(all_make_files) |$(BINARYDIR)
$(CC) $(CFLAGS) -c $< -o $@ -MD -MF $(@:.o=.dep)
$(BINARYDIR)/%.o : %.S $(all_make_files) |$(BINARYDIR)
$(CC) $(CFLAGS) $(ASFLAGS) -c $< -o $@ -MD -MF $(@:.o=.dep)