Skip to content

Cross-platform Path of Building driver

License

Notifications You must be signed in to change notification settings

jhofmeyr/pobfrontend

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PoBFrontend

A cross-platform Path of Building driver.

Building

Dependencies:

  • Qt5
  • luajit
  • zlib
  • opengl
  • lua-curl (see below)
  • Bitstream-Vera and Liberation TTF fonts. Will work without these but most likely look terrible.

Build dependencies:

  • meson
  • pkg-config
  • ninja (optional, can tell meson to generate makefiles if you prefer)

Build Lua-Curl:

You need to build Lua-Curl for luajit.

Edit the Lua-Curl Makefile:

@@ -7,7 +7,7 @@ DESTDIR          ?= /
 PKG_CONFIG       ?= pkg-config
 INSTALL          ?= install
 RM               ?= rm
-LUA_IMPL         ?= lua
+LUA_IMPL         ?= luajit
 CC               ?= $(MAC_ENV) gcc
 
 LUA_VERSION       = $(shell $(PKG_CONFIG) --print-provides --silence-errors $(LUA_IMPL))

Run make. You should get lcurl.so.

Get the PoBFrontend sources:

git clone https://github.com/philroberts/pobfrontend.git

Build:

meson -Dbuildtype=release pobfrontend build
cd build
ninja

Run the thing:

cd /path/to/PathOfBuilding # <- a pathofbuilding git clone
for f in tree*.zip; do unzip $f;done # <- use the provided tree data because reasons
unzip runtime-win32.zip lua/xml.lua lua/base64.lua lua/sha1.lua
mv lua/*.lua .
rmdir lua
cp /path/to/lcurl.so . # our lcurl.so from earlier
/path/to/build/pobfrontend

You can adjust the font size up or down with a command line argument:

pobfrontend -2

Notes:

I have the following edit in my PathOfBuilding clone, stops it from saving builds even when I tell it not to:

--- a/Modules/Build.lua
+++ b/Modules/Build.lua
@@ -599,7 +599,7 @@ function buildMode:CanExit(mode)
 end
 
 function buildMode:Shutdown()
-       if launch.devMode and self.targetVersion and not self.abortSave then
+       if false then --launch.devMode and self.targetVersion and not self.abortSave then
                if self.dbFileName then
                        self:SaveDBFile()
                        elseif self.unsaved then
OS X

On mac you need to invoke meson with some extra flags, per the luajit documentation:

LDFLAGS="-pagezero_size 10000 -image_base 100000000" meson pobfrontend build

About

Cross-platform Path of Building driver

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 98.9%
  • Meson 1.1%