Compare commits
No commits in common. "master" and "v0.6.0" have entirely different histories.
@ -1,2 +0,0 @@
|
|||||||
/build/
|
|
||||||
Dockerfile
|
|
133
.github/workflows/build-vcpkg.yml
vendored
@ -1,133 +0,0 @@
|
|||||||
name: Build with vcpkg
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
- v*
|
|
||||||
|
|
||||||
tags:
|
|
||||||
- v*
|
|
||||||
|
|
||||||
paths:
|
|
||||||
- .github/workflows/**
|
|
||||||
- cmake/**
|
|
||||||
- src/**
|
|
||||||
- CMakeLists.txt
|
|
||||||
|
|
||||||
pull_request:
|
|
||||||
paths:
|
|
||||||
- .github/workflows/**
|
|
||||||
- cmake/**
|
|
||||||
- src/**
|
|
||||||
- CMakeLists.txt
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
job:
|
|
||||||
name: ${{ matrix.os }}-${{ matrix.cxx }}-${{ matrix.buildtype }}-luajit=${{ matrix.luajit }}
|
|
||||||
runs-on: ${{ matrix.os }}-${{ matrix.os-version }}
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
max-parallel: 8
|
|
||||||
matrix:
|
|
||||||
name: [ubuntu-gcc, macos-clang, windows-msvc]
|
|
||||||
buildtype: [Debug, Release]
|
|
||||||
luajit: [on, off]
|
|
||||||
include:
|
|
||||||
- name: windows-msvc
|
|
||||||
os: windows
|
|
||||||
os-version: latest
|
|
||||||
cxx: cl.exe
|
|
||||||
cc: cl.exe
|
|
||||||
triplet: x64-windows
|
|
||||||
packages: >
|
|
||||||
boost-iostreams boost-asio boost-system boost-variant boost-lockfree boost-filesystem boost-uuid
|
|
||||||
glew luajit libogg libvorbis openal-soft opengl openssl physfs zlib
|
|
||||||
- name: ubuntu-gcc
|
|
||||||
os: ubuntu
|
|
||||||
os-version: 20.04
|
|
||||||
cxx: g++
|
|
||||||
cc: gcc
|
|
||||||
triplet: x64-linux
|
|
||||||
packages: >
|
|
||||||
boost-iostreams boost-asio boost-system boost-variant boost-lockfree glew
|
|
||||||
boost-filesystem boost-uuid physfs openal-soft libogg libvorbis zlib opengl
|
|
||||||
- name: macos-clang
|
|
||||||
os: macos
|
|
||||||
os-version: latest
|
|
||||||
cxx: clang++
|
|
||||||
cc: clang
|
|
||||||
triplet: x64-osx
|
|
||||||
packages: >
|
|
||||||
boost-iostreams boost-asio boost-system boost-variant boost-lockfree glew
|
|
||||||
boost-filesystem boost-uuid libogg libvorbis zlib opengl
|
|
||||||
exclude:
|
|
||||||
- name: windows-msvc
|
|
||||||
luajit: off
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
|
|
||||||
- name: Unshallow
|
|
||||||
run: git fetch --prune --unshallow
|
|
||||||
|
|
||||||
- name: Get latest CMake
|
|
||||||
# Using 'latest' branch, the latest CMake is installed.
|
|
||||||
uses: lukka/get-cmake@latest
|
|
||||||
|
|
||||||
- name: Ubuntu - install opengl lua5.1 luajit
|
|
||||||
# vcpkg has lua 5.3+
|
|
||||||
run: sudo apt-get install libglew-dev liblua5.1-0-dev libluajit-5.1-dev
|
|
||||||
if: contains( matrix.os, 'ubuntu')
|
|
||||||
|
|
||||||
- name: MacOS - install physfs pkgconfig lua5.1 luajit xquartz
|
|
||||||
run: brew install physfs pkgconfig lua@5.1 luajit xquartz
|
|
||||||
if: contains( matrix.os, 'macos')
|
|
||||||
|
|
||||||
- name: Set Environment vars
|
|
||||||
run: |
|
|
||||||
echo "CXX=${{ matrix.cxx }}" >> $GITHUB_ENV
|
|
||||||
echo "CC=${{ matrix.cc }}" >> $GITHUB_ENV
|
|
||||||
|
|
||||||
- name: Run vcpkg
|
|
||||||
uses: lukka/run-vcpkg@v7
|
|
||||||
with:
|
|
||||||
vcpkgArguments: ${{ matrix.packages }}
|
|
||||||
vcpkgDirectory: ${{ runner.workspace }}/vcpkg/
|
|
||||||
vcpkgTriplet: ${{ matrix.triplet }}
|
|
||||||
vcpkgGitCommitId: 6f7ffeb18f99796233b958aaaf14ec7bd4fb64b2
|
|
||||||
|
|
||||||
- name: Build with CMake
|
|
||||||
uses: lukka/run-cmake@v3
|
|
||||||
with:
|
|
||||||
buildDirectory: ${{ runner.workspace }}/build
|
|
||||||
cmakeListsOrSettingsJson: CMakeListsTxtAdvanced
|
|
||||||
cmakeAppendedArgs: '-G Ninja -DCMAKE_BUILD_TYPE="${{ matrix.buildtype }}" -DLUAJIT="${{ matrix.luajit }}"'
|
|
||||||
useVcpkgToolchainFile: true
|
|
||||||
|
|
||||||
- name: dir
|
|
||||||
run: find $RUNNER_WORKSPACE
|
|
||||||
shell: bash
|
|
||||||
|
|
||||||
- name: Upload artifact binary
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: otclient-${{ matrix.name }}-${{ matrix.buildtype }}-luajit=${{ matrix.luajit }}-${{ github.sha }}
|
|
||||||
path: ${{ runner.workspace }}/build/otclient
|
|
||||||
if: "! contains( matrix.os, 'windows')"
|
|
||||||
|
|
||||||
- name: Upload artifact binary (exe)
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: otclient-${{ matrix.name }}-${{ matrix.buildtype }}-luajit=${{ matrix.luajit }}-${{ github.sha }}
|
|
||||||
path: ${{ runner.workspace }}/build/otclient.exe
|
|
||||||
if: contains( matrix.os, 'windows')
|
|
||||||
|
|
||||||
- name: Upload artifact binary (dlls)
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: otclient-${{ matrix.name }}-${{ matrix.buildtype }}-luajit=${{ matrix.luajit }}-${{ github.sha }}
|
|
||||||
path: ${{ runner.workspace }}/build/*.dll
|
|
||||||
if: contains( matrix.os, 'windows')
|
|
266
.gitignore
vendored
@ -1,255 +1,39 @@
|
|||||||
#################
|
/modules/.project
|
||||||
## Visual Studio
|
build*
|
||||||
#################
|
CMakeCache.txt
|
||||||
|
CMakeFiles
|
||||||
## Ignore Visual Studio temporary files, build results, and
|
cmake_install.cmake
|
||||||
## files generated by popular Visual Studio add-ons.
|
Makefile
|
||||||
|
|
||||||
# User-specific files
|
|
||||||
*.suo
|
|
||||||
*.user
|
|
||||||
*.sln.docstates
|
|
||||||
.idea/
|
|
||||||
.vscode/
|
|
||||||
|
|
||||||
# Build results
|
|
||||||
|
|
||||||
[Dd]ebug/
|
|
||||||
[Rr]elease/
|
|
||||||
x64/
|
|
||||||
build/
|
|
||||||
[Bb]in/
|
|
||||||
[Oo]bj/
|
|
||||||
cmake-build-*/
|
|
||||||
|
|
||||||
# MSTest test Results
|
|
||||||
[Tt]est[Rr]esult*/
|
|
||||||
[Bb]uild[Ll]og.*
|
|
||||||
|
|
||||||
*_i.c
|
|
||||||
*_p.c
|
|
||||||
*.ilk
|
|
||||||
*.meta
|
|
||||||
*.obj
|
|
||||||
*.pch
|
|
||||||
*.pdb
|
|
||||||
*.pgc
|
|
||||||
*.pgd
|
|
||||||
*.rsp
|
|
||||||
*.sbr
|
|
||||||
*.tlb
|
|
||||||
*.tli
|
|
||||||
*.tlh
|
|
||||||
*.tmp
|
|
||||||
*.tmp_proj
|
|
||||||
*.log
|
|
||||||
*.vspscc
|
|
||||||
*.vssscc
|
|
||||||
.builds
|
|
||||||
*.pidb
|
|
||||||
*.scc
|
|
||||||
*.dll
|
|
||||||
*.exe
|
|
||||||
|
|
||||||
# Visual C++ cache files
|
|
||||||
ipch/
|
|
||||||
*.aps
|
|
||||||
*.ncb
|
|
||||||
*.opensdf
|
|
||||||
*.opendb
|
|
||||||
*.sdf
|
|
||||||
*.cachefile
|
|
||||||
*.VC.db
|
|
||||||
|
|
||||||
# Visual Studio profiler
|
|
||||||
*.psess
|
|
||||||
*.vsp
|
|
||||||
*.vspx
|
|
||||||
|
|
||||||
# Guidance Automation Toolkit
|
|
||||||
*.gpState
|
|
||||||
|
|
||||||
# ReSharper is a .NET coding add-in
|
|
||||||
_ReSharper*/
|
|
||||||
*.[Rr]e[Ss]harper
|
|
||||||
|
|
||||||
# TeamCity is a build add-in
|
|
||||||
_TeamCity*
|
|
||||||
|
|
||||||
# DotCover is a Code Coverage Tool
|
|
||||||
*.dotCover
|
|
||||||
|
|
||||||
# NCrunch
|
|
||||||
*.ncrunch*
|
|
||||||
.*crunch*.local.xml
|
|
||||||
|
|
||||||
# Installshield output folder
|
|
||||||
[Ee]xpress/
|
|
||||||
|
|
||||||
# DocProject is a documentation generator add-in
|
|
||||||
DocProject/buildhelp/
|
|
||||||
DocProject/Help/*.HxT
|
|
||||||
DocProject/Help/*.HxC
|
|
||||||
DocProject/Help/*.hhc
|
|
||||||
DocProject/Help/*.hhk
|
|
||||||
DocProject/Help/*.hhp
|
|
||||||
DocProject/Help/Html2
|
|
||||||
DocProject/Help/html
|
|
||||||
|
|
||||||
# Click-Once directory
|
|
||||||
publish/
|
|
||||||
|
|
||||||
# Publish Web Output
|
|
||||||
*.Publish.xml
|
|
||||||
*.pubxml
|
|
||||||
|
|
||||||
# NuGet Packages Directory
|
|
||||||
## TODO: If you have NuGet Package Restore enabled, uncomment the next line
|
|
||||||
#packages/
|
|
||||||
|
|
||||||
# Windows Azure Build Output
|
|
||||||
csx
|
|
||||||
*.build.csdef
|
|
||||||
|
|
||||||
# Windows Store app package directory
|
|
||||||
AppPackages/
|
|
||||||
|
|
||||||
# Others
|
|
||||||
sql/
|
|
||||||
*.Cache
|
|
||||||
ClientBin/
|
|
||||||
[Ss]tyle[Cc]op.*
|
|
||||||
~$*
|
|
||||||
*~
|
|
||||||
*.dbmdl
|
|
||||||
*.[Pp]ublish.xml
|
|
||||||
*.pfx
|
|
||||||
*.publishsettings
|
|
||||||
|
|
||||||
# RIA/Silverlight projects
|
|
||||||
Generated_Code/
|
|
||||||
|
|
||||||
# Backup & report files from converting an old project file to a newer
|
|
||||||
# Visual Studio version. Backup files are not needed, because we have git ;-)
|
|
||||||
_UpgradeReport_Files/
|
|
||||||
Backup*/
|
|
||||||
UpgradeLog*.XML
|
|
||||||
UpgradeLog*.htm
|
|
||||||
|
|
||||||
# SQL Server files
|
|
||||||
App_Data/*.mdf
|
|
||||||
App_Data/*.ldf
|
|
||||||
|
|
||||||
#############
|
|
||||||
## Windows detritus
|
|
||||||
#############
|
|
||||||
|
|
||||||
# Windows image file caches
|
|
||||||
Thumbs.db
|
|
||||||
ehthumbs.db
|
|
||||||
|
|
||||||
# Folder config file
|
|
||||||
Desktop.ini
|
|
||||||
|
|
||||||
# Recycle Bin used on file shares
|
|
||||||
$RECYCLE.BIN/
|
|
||||||
|
|
||||||
# Mac crap
|
|
||||||
.DS_Store
|
|
||||||
|
|
||||||
# Installer logs
|
|
||||||
pip-log.txt
|
|
||||||
|
|
||||||
# Unit test / coverage reports
|
|
||||||
.coverage
|
|
||||||
.tox
|
|
||||||
|
|
||||||
#Translations
|
|
||||||
*.mo
|
|
||||||
|
|
||||||
#Mr Developer
|
|
||||||
.mr.developer.cfg
|
|
||||||
|
|
||||||
# Vim files
|
|
||||||
*~
|
|
||||||
.*.swp
|
|
||||||
.*.swo
|
|
||||||
|
|
||||||
#################
|
|
||||||
## OTClient
|
|
||||||
#################
|
|
||||||
|
|
||||||
/otclient
|
/otclient
|
||||||
/modules/otclientrc.lua
|
/*.h
|
||||||
src/framework/graphics/dx/
|
/*.cxx
|
||||||
|
|
||||||
*.o
|
*.o
|
||||||
*.gch
|
*.gch
|
||||||
*.a
|
*.a
|
||||||
|
*.exe
|
||||||
|
*.spr
|
||||||
|
*.dat
|
||||||
*.kdev*
|
*.kdev*
|
||||||
*.cbp
|
*.cbp
|
||||||
*~
|
*~
|
||||||
*.kate-swap
|
*.kate-swap
|
||||||
*.autosave
|
*.autosave
|
||||||
*.bak
|
CMakeLists.txt.user*
|
||||||
*.swp
|
|
||||||
.lvimrc
|
|
||||||
.clang_complete
|
|
||||||
LOCALTODO
|
|
||||||
tags
|
|
||||||
|
|
||||||
# user-specific files
|
|
||||||
*.xml
|
*.xml
|
||||||
*.otb
|
*.otb
|
||||||
*.otbm
|
*.otbm
|
||||||
*.spr
|
*.log
|
||||||
*.dat
|
*.bak
|
||||||
|
*.swp
|
||||||
*.pic
|
*.pic
|
||||||
|
.lvimrc
|
||||||
|
.clang_complete
|
||||||
config.otml
|
config.otml
|
||||||
|
/modules/otclientrc.lua
|
||||||
## Cmake cache
|
/doc
|
||||||
CMakeLists.txt.user
|
!.gitignore
|
||||||
CMakeCache.txt
|
otclient.map
|
||||||
CMakeFiles
|
otclient.layout
|
||||||
CMakeScripts
|
LOCALTODO
|
||||||
Testing
|
tags
|
||||||
Makefile
|
Thumbs.db
|
||||||
cmake_install.cmake
|
|
||||||
install_manifest.txt
|
|
||||||
compile_commands.json
|
|
||||||
CTestTestfile.cmake
|
|
||||||
_deps
|
|
||||||
|
|
||||||
## Sublime
|
|
||||||
|
|
||||||
# Cache files for Sublime Text
|
|
||||||
*.tmlanguage.cache
|
|
||||||
*.tmPreferences.cache
|
|
||||||
*.stTheme.cache
|
|
||||||
|
|
||||||
# Workspace files are user-specific
|
|
||||||
*.sublime-workspace
|
|
||||||
|
|
||||||
# Project files should be checked into the repository, unless a significant
|
|
||||||
# proportion of contributors will probably not be using Sublime Text
|
|
||||||
# *.sublime-project
|
|
||||||
|
|
||||||
# SFTP configuration file
|
|
||||||
sftp-config.json
|
|
||||||
sftp-config-alt*.json
|
|
||||||
|
|
||||||
# Package control specific files
|
|
||||||
Package Control.last-run
|
|
||||||
Package Control.ca-list
|
|
||||||
Package Control.ca-bundle
|
|
||||||
Package Control.system-ca-bundle
|
|
||||||
Package Control.cache/
|
|
||||||
Package Control.ca-certs/
|
|
||||||
Package Control.merged-ca-bundle
|
|
||||||
Package Control.user-ca-bundle
|
|
||||||
oscrypto-ca-bundle.crt
|
|
||||||
bh_unicode_properties.cache
|
|
||||||
|
|
||||||
# Sublime-github package stores a github token in this file
|
|
||||||
# https://packagecontrol.io/packages/sublime-github
|
|
||||||
GitHub.sublime-settings
|
|
||||||
|
14
.travis.yml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
language: cpp
|
||||||
|
compiler:
|
||||||
|
- gcc
|
||||||
|
before_script:
|
||||||
|
- sudo apt-get install libboost1.48-all-dev libphysfs-dev libssl-dev liblua5.1-dev libglew1.6-dev libvorbis-dev libopenal-dev libz-dev -y
|
||||||
|
script: |
|
||||||
|
cmake . -DCMAKE_BUILD_TYPE=Release
|
||||||
|
make
|
||||||
|
notifications:
|
||||||
|
irc:
|
||||||
|
channels:
|
||||||
|
- "irc.freenode.org#otclient"
|
||||||
|
on_success: change
|
||||||
|
skip_join: true
|
@ -1,21 +1,17 @@
|
|||||||
cmake_minimum_required(VERSION 3.1)
|
cmake_minimum_required(VERSION 2.6)
|
||||||
project(otclient)
|
project(otclient)
|
||||||
|
|
||||||
set(VERSION "1.0.0")
|
set(VERSION "0.6.0")
|
||||||
|
|
||||||
option(FRAMEWORK_SOUND "Use SOUND " ON)
|
|
||||||
option(FRAMEWORK_GRAPHICS "Use GRAPHICS " ON)
|
|
||||||
option(FRAMEWORK_XML "Use XML " ON)
|
|
||||||
option(FRAMEWORK_NET "Use NET " ON)
|
|
||||||
option(FRAMEWORK_SQL "Use SQL" OFF)
|
|
||||||
|
|
||||||
|
set(FRAMEWORK_SOUND ON)
|
||||||
|
set(FRAMEWORK_GRAPHICS ON)
|
||||||
|
set(FRAMEWORK_XML ON)
|
||||||
|
set(FRAMEWORK_NET ON)
|
||||||
include(src/framework/CMakeLists.txt)
|
include(src/framework/CMakeLists.txt)
|
||||||
include(src/client/CMakeLists.txt)
|
include(src/client/CMakeLists.txt)
|
||||||
|
|
||||||
# functions map for reading backtraces
|
# functions map for reading backtraces
|
||||||
if(NOT APPLE)
|
set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -Wl,-Map=${PROJECT_NAME}.map")
|
||||||
set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -Wl,-Map=${PROJECT_NAME}.map")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
option(USE_PCH "Use precompiled header (speed up compile)" OFF)
|
option(USE_PCH "Use precompiled header (speed up compile)" OFF)
|
||||||
|
|
||||||
@ -23,24 +19,13 @@ set(executable_SOURCES
|
|||||||
src/main.cpp
|
src/main.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# add executable icon for win32 platforms
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
if(MSVC)
|
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/otcicon.o
|
||||||
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/otcicon.o
|
COMMAND ${CMAKE_RC_COMPILER}
|
||||||
COMMAND ${CMAKE_RC_COMPILER}
|
-I${CMAKE_CURRENT_SOURCE_DIR}/src
|
||||||
-I${CMAKE_CURRENT_SOURCE_DIR}/src
|
-i${CMAKE_CURRENT_SOURCE_DIR}/src/otcicon.rc
|
||||||
-fo${CMAKE_CURRENT_BINARY_DIR}/otcicon.o
|
-o ${CMAKE_CURRENT_BINARY_DIR}/otcicon.o)
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/src/otcicon.rc
|
|
||||||
)
|
|
||||||
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
|
|
||||||
else()
|
|
||||||
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/otcicon.o
|
|
||||||
COMMAND ${CMAKE_RC_COMPILER}
|
|
||||||
-I${CMAKE_CURRENT_SOURCE_DIR}/src
|
|
||||||
-i${CMAKE_CURRENT_SOURCE_DIR}/src/otcicon.rc
|
|
||||||
-o ${CMAKE_CURRENT_BINARY_DIR}/otcicon.o
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(executable_SOURCES ${executable_SOURCES} otcicon.o)
|
set(executable_SOURCES ${executable_SOURCES} otcicon.o)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@ -49,15 +34,9 @@ add_definitions(-D"VERSION=\\"${VERSION}\\"")
|
|||||||
# add client executable
|
# add client executable
|
||||||
add_executable(${PROJECT_NAME} ${framework_SOURCES} ${client_SOURCES} ${executable_SOURCES})
|
add_executable(${PROJECT_NAME} ${framework_SOURCES} ${client_SOURCES} ${executable_SOURCES})
|
||||||
|
|
||||||
set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 14)
|
# target link libraries
|
||||||
set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD_REQUIRED ON)
|
|
||||||
|
|
||||||
target_link_libraries(${PROJECT_NAME} ${framework_LIBRARIES})
|
target_link_libraries(${PROJECT_NAME} ${framework_LIBRARIES})
|
||||||
|
|
||||||
if(APPLE AND USE_STATIC_LIBS)
|
|
||||||
target_link_libraries(${PROJECT_NAME} "-framework Foundation" "-framework IOKit")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(USE_PCH)
|
if(USE_PCH)
|
||||||
include(cotire)
|
include(cotire)
|
||||||
cotire(${PROJECT_NAME})
|
cotire(${PROJECT_NAME})
|
||||||
@ -68,10 +47,7 @@ endif()
|
|||||||
|
|
||||||
# installation
|
# installation
|
||||||
set(DATA_INSTALL_DIR share/${PROJECT_NAME})
|
set(DATA_INSTALL_DIR share/${PROJECT_NAME})
|
||||||
install(TARGETS ${PROJECT_NAME}
|
install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin)
|
||||||
RUNTIME DESTINATION bin
|
|
||||||
LIBRARY DESTINATION lib
|
|
||||||
ARCHIVE DESTINATION lib)
|
|
||||||
install(FILES README.md BUGS LICENSE AUTHORS init.lua ${PROJECT_NAME}rc.lua DESTINATION ${DATA_INSTALL_DIR})
|
install(FILES README.md BUGS LICENSE AUTHORS init.lua ${PROJECT_NAME}rc.lua DESTINATION ${DATA_INSTALL_DIR})
|
||||||
install(DIRECTORY data modules DESTINATION ${DATA_INSTALL_DIR} PATTERN ".git" EXCLUDE)
|
install(DIRECTORY data modules DESTINATION ${DATA_INSTALL_DIR} PATTERN ".git" EXCLUDE)
|
||||||
|
|
||||||
|
48
Dockerfile
@ -1,48 +0,0 @@
|
|||||||
FROM ubuntu@sha256:b88f8848e9a1a4e4558ba7cfc4acc5879e1d0e7ac06401409062ad2627e6fb58 AS builder
|
|
||||||
|
|
||||||
RUN apt-get update; \
|
|
||||||
apt-get install -y \
|
|
||||||
build-essential \
|
|
||||||
cmake \
|
|
||||||
git-core \
|
|
||||||
libboost-atomic1.65-dev \
|
|
||||||
libboost-chrono1.65-dev \
|
|
||||||
libboost-date-time1.65-dev \
|
|
||||||
libboost-filesystem1.65-dev \
|
|
||||||
libboost-system1.65-dev \
|
|
||||||
libboost-thread1.65-dev \
|
|
||||||
libglew-dev \
|
|
||||||
liblua5.1-0-dev \
|
|
||||||
libncurses5-dev \
|
|
||||||
libopenal-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libvorbis-dev \
|
|
||||||
zlib1g-dev; \
|
|
||||||
apt-get clean && apt-get autoclean
|
|
||||||
|
|
||||||
WORKDIR /
|
|
||||||
RUN git clone --branch release-3.0.2 --depth 1 https://github.com/icculus/physfs.git
|
|
||||||
WORKDIR /physfs/build/
|
|
||||||
RUN cmake ..
|
|
||||||
RUN make -j$(nproc)
|
|
||||||
RUN make install
|
|
||||||
|
|
||||||
COPY ./src/ /otclient/src/.
|
|
||||||
COPY CMakeLists.txt /otclient/.
|
|
||||||
WORKDIR /otclient/build/
|
|
||||||
RUN cmake -DCMAKE_CXX_LINK_FLAGS=-no-pie -DCMAKE_BUILD_TYPE=Release ..
|
|
||||||
RUN make -j$(nproc)
|
|
||||||
|
|
||||||
FROM ubuntu@sha256:b88f8848e9a1a4e4558ba7cfc4acc5879e1d0e7ac06401409062ad2627e6fb58
|
|
||||||
RUN apt-get update; \
|
|
||||||
apt-get install -y \
|
|
||||||
libglew2.0 \
|
|
||||||
libopenal1; \
|
|
||||||
apt-get clean && apt-get autoclean
|
|
||||||
COPY --from=builder /otclient/build/otclient /otclient/bin/otclient
|
|
||||||
COPY ./data/ /otclient/data/.
|
|
||||||
COPY ./mods/ /otclient/mods/.
|
|
||||||
COPY ./modules/ /otclient/modules/.
|
|
||||||
COPY ./init.lua /otclient/.
|
|
||||||
WORKDIR /otclient
|
|
||||||
CMD ["./bin/otclient"]
|
|
@ -1,22 +0,0 @@
|
|||||||
<!-- Welcome to the issues section if it's your first time! -->
|
|
||||||
|
|
||||||
### Before creating an issue, please ensure:
|
|
||||||
- [ ] This is a bug in the software that resides in this repository, and not a
|
|
||||||
support matter (use https://otland.net/forums/otclient.494/ for support)
|
|
||||||
- [ ] This issue is reproducible without changes to the code in this repository
|
|
||||||
|
|
||||||
### Steps to reproduce (include any configuration/script required to reproduce)
|
|
||||||
1.
|
|
||||||
2.
|
|
||||||
3.
|
|
||||||
|
|
||||||
### Expected behaviour
|
|
||||||
<!-- Tell us what should happen -->
|
|
||||||
|
|
||||||
### Actual behaviour
|
|
||||||
<!-- Tell us what happens instead -->
|
|
||||||
|
|
||||||
### Environment
|
|
||||||
<!-- Please tell which client version are you using (E.g 10.98 OTClient 0.6.6)
|
|
||||||
If the issue is environment specific (e.g. compiling errors), include
|
|
||||||
name and version of the operating system and compiler you are using. -->
|
|
2
LICENSE
@ -1,6 +1,6 @@
|
|||||||
OTClient is made available under the MIT License
|
OTClient is made available under the MIT License
|
||||||
|
|
||||||
Copyright (c) 2010-2020 OTClient <https://github.com/edubart/otclient>
|
Copyright (c) 2010-2012 OTClient <https://github.com/edubart/otclient>
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
51
README.md
@ -1,5 +1,4 @@
|
|||||||
[](https://github.com/edubart/otclient/actions/workflows/build-vcpkg.yml) [](https://gitter.im/edubart/otclient?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [](https://www.codetriage.com/edubart/otclient)
|
[](http://travis-ci.org/edubart/otclient)
|
||||||
|
|
||||||
### What is otclient?
|
### What is otclient?
|
||||||
|
|
||||||
Otclient is an alternative Tibia client for usage with otserv. It aims to be complete and flexible,
|
Otclient is an alternative Tibia client for usage with otserv. It aims to be complete and flexible,
|
||||||
@ -7,17 +6,7 @@ for that it uses LUA scripting for all game interface functionality and configur
|
|||||||
similar to CSS for the client interface design. Otclient works with a modular system, this means
|
similar to CSS for the client interface design. Otclient works with a modular system, this means
|
||||||
that each functionality is a separated module, giving the possibility to users modify and customize
|
that each functionality is a separated module, giving the possibility to users modify and customize
|
||||||
anything easily. Users can also create new mods and extend game interface for their own purposes.
|
anything easily. Users can also create new mods and extend game interface for their own purposes.
|
||||||
Otclient is written in C++11 and heavily scripted in lua.
|
Otclient is written in C++2011, the upcoming C++ standard and heavily scripted in lua.
|
||||||
|
|
||||||
For a server to connect to, you can build your own with the [forgottenserver](https://github.com/otland/forgottenserver)
|
|
||||||
or connect to one listed on [otservlist](https://otservlist.org/).
|
|
||||||
|
|
||||||
### Where do I download?
|
|
||||||
|
|
||||||
Compiled for Windows can be found here (but can be outdated):
|
|
||||||
* [Windows Builds](http://otland.net/threads/otclient-builds-windows.217977/)
|
|
||||||
|
|
||||||
**NOTE:** You will need to download spr/dat files on your own and place them in `data/things/VERSION/` (i.e: `data/things/1098/Tibia.spr`)
|
|
||||||
|
|
||||||
### Features
|
### Features
|
||||||
|
|
||||||
@ -29,42 +18,21 @@ to port to mobile platforms. Otclient is also flexible enough to
|
|||||||
create tibia tools like map editors just using scripts, because it wasn't designed to be just a
|
create tibia tools like map editors just using scripts, because it wasn't designed to be just a
|
||||||
client, instead otclient was designed to be a combination of a framework and tibia APIs.
|
client, instead otclient was designed to be a combination of a framework and tibia APIs.
|
||||||
|
|
||||||
|
### Download
|
||||||
|
|
||||||
|
Stable versions of otclient master branch compiled for Windows and Linux is available
|
||||||
|
in the [downloads section](https://github.com/edubart/otclient/downloads) of the project's github page.
|
||||||
|
|
||||||
### Compiling
|
### Compiling
|
||||||
|
|
||||||
In short, if you need to compile OTClient, follow these tutorials:
|
In short, if you need to compile OTClient, follow these tutorials:
|
||||||
* [Compiling on Windows](https://github.com/edubart/otclient/wiki/Compiling-on-Windows)
|
* [Compiling on Windows](https://github.com/edubart/otclient/wiki/Compiling-on-Windows)
|
||||||
* [Compiling on Linux](https://github.com/edubart/otclient/wiki/Compiling-on-Linux)
|
* [Compiling on Linux](https://github.com/edubart/otclient/wiki/Compiling-on-Linux)
|
||||||
* [Compiling on OS X](https://github.com/edubart/otclient/wiki/Compiling-on-Mac-OS-X)
|
|
||||||
|
|
||||||
### Build and run with Docker
|
|
||||||
|
|
||||||
To build the image:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
docker build -t edubart/otclient .
|
|
||||||
```
|
|
||||||
|
|
||||||
To run the built image:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
# Disable access control for the X server.
|
|
||||||
xhost +
|
|
||||||
|
|
||||||
# Run the container image with the required bindings to the host devices and volumes.
|
|
||||||
docker run -it --rm \
|
|
||||||
--env DISPLAY \
|
|
||||||
--volume /tmp/.X11-unix:/tmp/.X11-unix \
|
|
||||||
--device /dev/dri \
|
|
||||||
--device /dev/snd edubart/otclient /bin/bash
|
|
||||||
|
|
||||||
# Enable access control for the X server.
|
|
||||||
xhost -
|
|
||||||
```
|
|
||||||
|
|
||||||
### Need help?
|
### Need help?
|
||||||
|
|
||||||
Try to ask questions in [otland](http://otland.net/f494/), now we have a board for the project there,
|
Try to ask questions in [otland](http://otland.net/f494/), now we have a board for the project there,
|
||||||
or talk with us at the gitter chat.
|
or talk with us at #otclient irc.freenode.net
|
||||||
|
|
||||||
### Bugs
|
### Bugs
|
||||||
|
|
||||||
@ -76,9 +44,10 @@ We encourage you to contribute to otclient! You can make pull requests of any im
|
|||||||
|
|
||||||
### Contact
|
### Contact
|
||||||
|
|
||||||
Talk directly with us at the gitter chat [](https://gitter.im/edubart/otclient?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge).
|
Talk directly with us at #otclient irc.freenode.net or send an email directly to the project leader edub4rt@gmail.com
|
||||||
|
|
||||||
### License
|
### License
|
||||||
|
|
||||||
Otclient is made available under the MIT License, thus this means that you are free
|
Otclient is made available under the MIT License, thus this means that you are free
|
||||||
to do whatever you want, commercial, non-commercial, closed or open.
|
to do whatever you want, commercial, non-commercial, closed or open.
|
||||||
|
|
||||||
|
@ -1,13 +0,0 @@
|
|||||||
Cursors
|
|
||||||
target:
|
|
||||||
image: targetcursor
|
|
||||||
hot-spot: 9 9
|
|
||||||
horizontal:
|
|
||||||
image: horizontalcursor
|
|
||||||
hot-spot: 9 4
|
|
||||||
vertical:
|
|
||||||
image: verticalcursor
|
|
||||||
hot-spot: 4 9
|
|
||||||
text:
|
|
||||||
image: textcursor
|
|
||||||
hot-spot: 4 9
|
|
@ -1,8 +0,0 @@
|
|||||||
Font
|
|
||||||
name: terminus-10px
|
|
||||||
texture: terminus-10px
|
|
||||||
height: 12
|
|
||||||
y-offset: 0
|
|
||||||
glyph-size: 16 16
|
|
||||||
fixed-glyph-width: 6
|
|
||||||
space-width: 6
|
|
Before Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 1.3 MiB |
Before Width: | Height: | Size: 230 B After Width: | Height: | Size: 230 B |
Before Width: | Height: | Size: 266 B After Width: | Height: | Size: 266 B |
Before Width: | Height: | Size: 198 B After Width: | Height: | Size: 198 B |
Before Width: | Height: | Size: 238 B After Width: | Height: | Size: 238 B |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 283 B |
Before Width: | Height: | Size: 283 B |
Before Width: | Height: | Size: 227 B |
Before Width: | Height: | Size: 333 B |
Before Width: | Height: | Size: 319 B |
Before Width: | Height: | Size: 243 B |
Before Width: | Height: | Size: 335 B |
Before Width: | Height: | Size: 397 B |
Before Width: | Height: | Size: 373 B |
Before Width: | Height: | Size: 397 B |
Before Width: | Height: | Size: 412 B |
Before Width: | Height: | Size: 418 B |
Before Width: | Height: | Size: 392 B |
Before Width: | Height: | Size: 399 B |
Before Width: | Height: | Size: 400 B |
Before Width: | Height: | Size: 402 B |
Before Width: | Height: | Size: 423 B |
Before Width: | Height: | Size: 392 B |
Before Width: | Height: | Size: 418 B |
Before Width: | Height: | Size: 431 B |
Before Width: | Height: | Size: 321 B |
Before Width: | Height: | Size: 354 B |
Before Width: | Height: | Size: 427 B |
Before Width: | Height: | Size: 387 B |
Before Width: | Height: | Size: 444 B |
Before Width: | Height: | Size: 423 B |
BIN
data/images/game/minimap/mapflags.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 795 B |
Before Width: | Height: | Size: 330 B |
Before Width: | Height: | Size: 338 B |
Before Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 4.9 KiB |
Before Width: | Height: | Size: 4.9 KiB |
Before Width: | Height: | Size: 4.6 KiB |
Before Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 4.6 KiB |
Before Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 5.0 KiB |
Before Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 349 B |
Before Width: | Height: | Size: 822 B After Width: | Height: | Size: 880 B |
Before Width: | Height: | Size: 421 B |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 409 B |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 315 B |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 409 B |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 281 B |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 470 B |
Before Width: | Height: | Size: 462 B |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 548 B |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 457 B |
Before Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 241 B |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 39 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 51 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 197 B |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 52 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 661 B |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 139 B |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 1.1 KiB |