CavePacker -- Install, launch & report , ask about a Sokoban like game (64bit Haiku)

Ahoy and Happy New Year ! :smiley:

As I woke up due to Year End’s festive fireworks loud noises I decided to do not lie back, but finish the film I slept on (done) and check out forum …
Later I hop around and thought : might install some programs like wine and some game I like.
Earlier I shared in a post I play rarely on a computer but I had some light games I used to play :
one is Mahjongg (I always forget its name)
and Sokoban. ( I always replace it with Sudoku, as it is much cooler name and easier to remember than Sokoban, however I do not like Sudoku itself and do not try to fill out in any papers I saw it).

Anyway, after this long introduction you could guess – successfully – I found a Mahjongg (KDE app) and a Sokoban like game in repos (actually Haikuports) and I installed them both – using HaikuDepot program…
Now I would write about the latter one - CavePacker.

  1. I instaslled successfully , there were no error message at all, so …

  2. … I attempted to launch from Deskbar first.

I got an error message as "Can not open file libBox2D.so.blablabla.version (and marked as CavePacker needs it) ". Well I confirmed, and thought I would launch it from Terminal, as I learnt that may help to find out what can be the problem.

I went to Terminal, as I have one running always on a separate virtual desktop and I issued the followings

~> clear ; neofetch 

          :dc'                      user@shredder 
       'l:;','ck.    .;dc:.         ------------- 
       co    ..k.  .;;   ':o.       OS: Haiku x86_64 
       co    ..k. ol      .0.       Kernel: hrev56578+93 Nov 25 2023 07:02: 
       co    ..k. oc     ..0.       Uptime: 14 hours, 51 mins 
       co    ..k. oc     ..0.       Packages: 537 (pkgman) 
.Ol,.  co ...''Oc;kkodxOdddOoc,.    Shell: bash 5.2.15 
 ';lxxlxOdxkxk0kdooolldlccc:clxd;   Resolution: 1920x1080 
     ..oOolllllccccccc:::::od;      CPU: Intel i7-3940XM (8) @ 3.189GHz 
       cx:ooc:::::::;cooolcX.       Memory: 6540MiB / 32669MiB 
       cd.''cloxdoollc' ...0.
       cd......k;.xl....  .0.                               
       .::c;..cx;.xo..... .0.                               
          '::c'...do..... .K,
                  cd,.....:O,
                    ':clod:'
                        

~> CavePacker
bash: CavePacker: parancs nem található
~> cavepacker
bash: cavepacker: parancs nem található
~> find /boot -name CavePacker
/boot/system/data/deskbar/menu/Applications/CavePacker
/boot/system/apps/cavepacker/CavePacker
~> /boot/system/apps/cavepacker/CavePacker
runtime_loader: Cannot open file libBox2D.so.2.3.0 (needed by /boot/system/apps/cavepacker/CavePacker): No such file or directory
~>

As you can see
first I got that I need a full path to the app, and when I got it and launched that way …
I got the same error message about the “missing lib” of ‘Box2D’.

So I went back to HD to install the library or at least find it.
As a lib I found nothing, but a QML plugin for Box2D, I installed it.

Then I thoght if this plugin exists I might have found the Box2D stuff itself … than just a simple library.
I did so, and search for that ‘Box2D’ brought up 3 packages.
one the QML plugin
and
2 Box2D app :
one of them is from 2021 - it was Active
one of them is from 2023 - as it was from this year and its name was ‘Box2D23’ I had instantly high hopes :
it would resolve my missing library issueso I installed additionally !

I went back to Terminal and launched the Game there !

~> /boot/system/apps/cavepacker/CavePacker
INFO: (LOG_COMMON): register command listcommands
INFO: (LOG_COMMON): register alias ?
INFO: (LOG_COMMON): register alias help
INFO: (LOG_COMMON): register command cl_triggerpause
INFO: (LOG_COMMON): register command map_restart
INFO: (LOG_COMMON): register command start
INFO: (LOG_COMMON): register command finish
INFO: (LOG_COMMON): register command map_print
INFO: (LOG_COMMON): register command solve
INFO: (LOG_GAMEIMPL): clear deadlock state
INFO: (LOG_GAME): register game cavepacker
INFO: (LOG_MAIN): current working dir: /boot/system/apps/cavepacker/
INFO: (LOG_MAIN): Entering mainloop
INFO: (LOG_COMMON): register command screenshot
INFO: (LOG_COMMON): register command map
INFO: (LOG_COMMON): register command status
INFO: (LOG_COMMON): step => sdl backend start
INFO: (LOG_SERVER): init config
INFO: (LOG_COMMON): use /boot/home/config/settings/cavepacker/cavepacker.sqlite as config database file
INFO: (LOG_COMMON): init configmanager
INFO: (LOG_COMMON): loaded all config values: 0
INFO: (LOG_COMMON): load config lua file
INFO: (LOG_COMMON): load config values
INFO: (LOG_COMMON): load keybindings
INFO: (LOG_COMMON): load controller bindings
INFO: (LOG_COMMON): use value 'en_GB' for key 'language'
INFO: (LOG_COMMON): use value 'true' for key 'gamecontroller'
INFO: (LOG_COMMON): use value 'false' for key 'gamecontrollertriggeraxis'
INFO: (LOG_COMMON): use value 'true' for key 'showfps'
INFO: (LOG_COMMON): use value '800' for key 'width'
INFO: (LOG_COMMON): use value '600' for key 'height'
INFO: (LOG_COMMON): use value 'false' for key 'fullscreen'
INFO: (LOG_COMMON): use value 'true' for key 'sound'
INFO: (LOG_COMMON): use value '45678' for key 'port'
INFO: (LOG_COMMON): use value 'false' for key 'debug'
INFO: (LOG_COMMON): use value 'true' for key 'network'
INFO: (LOG_COMMON): use value 'true' for key 'vsync'
INFO: (LOG_COMMON): use value 'auto' for key 'texturesize'
INFO: (LOG_COMMON): use value 'true' for key 'grabmouse'
INFO: (LOG_COMMON): use value 'sdl' for key 'soundengine'
INFO: (LOG_COMMON): use value '100' for key 'particles'
INFO: (LOG_COMMON): use value '1' for key 'rendertotexture'
INFO: (LOG_COMMON): use value '8' for key 'red'
INFO: (LOG_COMMON): use value '8' for key 'green'
INFO: (LOG_COMMON): use value '8' for key 'blue'
INFO: (LOG_COMMON): use value '' for key 'mode'
INFO: (LOG_COMMON): mouse grab enabled: true
INFO: (LOG_COMMON): controller enabled: true
INFO: (LOG_COMMON):      sound enabled: true
INFO: (LOG_COMMON):      debug enabled: false
INFO: (LOG_COMMON): register command loglevel
INFO: (LOG_COMMON): register command set
INFO: (LOG_COMMON): register command listvars
INFO: (LOG_COMMON): launchcount => changed value to: 1
INFO: (LOG_COMMON): save config var alreadyrated with value false
INFO: (LOG_COMMON): save config var blue with value 8
INFO: (LOG_COMMON): save config var debug with value false
INFO: (LOG_COMMON): save config var debugentity with value false
INFO: (LOG_COMMON): save config var debugui with value false
INFO: (LOG_COMMON): save config var fullscreen with value false
INFO: (LOG_COMMON): save config var gamecontroller with value true
INFO: (LOG_COMMON): save config var gamecontrollertriggeraxis with value false
INFO: (LOG_COMMON): save config var grabmouse with value true
INFO: (LOG_COMMON): save config var green with value 8
INFO: (LOG_COMMON): save config var height with value 600
INFO: (LOG_COMMON): save config var language with value en_GB
INFO: (LOG_COMMON): save config var launchcount with value 1
INFO: (LOG_COMMON): save config var mode with value 
INFO: (LOG_COMMON): save config var name with value user
INFO: (LOG_COMMON): save config var network with value true
INFO: (LOG_COMMON): save config var particles with value 100
INFO: (LOG_COMMON): save config var port with value 45678
INFO: (LOG_COMMON): save config var red with value 8
INFO: (LOG_COMMON): save config var rendertotexture with value 1
INFO: (LOG_COMMON): save config var servername with value user
INFO: (LOG_COMMON): save config var showfps with value true
INFO: (LOG_COMMON): save config var sound with value true
INFO: (LOG_COMMON): save config var soundengine with value sdl
INFO: (LOG_COMMON): save config var texturesize with value auto
INFO: (LOG_COMMON): save config var vsync with value true
INFO: (LOG_COMMON): save config var width with value 800
INFO: (LOG_COMMON): register command quit
INFO: (LOG_SERVER): next init state: 1
INFO: (LOG_SERVER): init frontend creation
INFO: (LOG_SERVER): Use frontend sdl
INFO: (LOG_SERVER): next init state: 2
INFO: (LOG_SERVER): init sdl
INFO: (LOG_SERVER): next init state: 3
INFO: (LOG_SERVER): init frontend
INFO: (LOG_GFX): initializing: 800:600 - fullscreen: false
INFO: (LOG_GFX): Could not update gamecontroller database. gamecontrollerdb.txt not found.
INFO: (LOG_GFX): found 0 touch device(s)
INFO: (LOG_GFX): current desktop mode: 1920x1080@60Hz (SDL_PIXELFORMAT_RGB888)
ERROR: (LOG_GFX): unknown error (/sources/caveexpress-2.5.1/src/modules/gfx/SDLFrontend.cpp:761 => virtual void SDLFrontend::setGLAttributes())
ERROR: (LOG_GFX): unknown error (/sources/caveexpress-2.5.1/src/modules/gfx/SDLFrontend.cpp:763 => virtual void SDLFrontend::setGLAttributes())
ERROR: (LOG_GFX): unknown error (/sources/caveexpress-2.5.1/src/modules/gfx/SDLFrontend.cpp:765 => virtual void SDLFrontend::setGLAttributes())
INFO: (LOG_GFX): r: 8, g: 8, b: 8
ERROR: (LOG_GFX): unknown error (/sources/caveexpress-2.5.1/src/modules/gfx/SDLFrontend.cpp:771 => virtual void SDLFrontend::setGLAttributes())
ERROR: (LOG_GFX): unknown error (/sources/caveexpress-2.5.1/src/modules/gfx/SDLFrontend.cpp:773 => virtual void SDLFrontend::setGLAttributes())
ERROR: (LOG_GFX): unknown error (/sources/caveexpress-2.5.1/src/modules/gfx/SDLFrontend.cpp:775 => virtual void SDLFrontend::setGLAttributes())
INFO: (LOG_GFX): doublebuffer: disabled
INFO: (LOG_GFX): available driver: haiku
INFO: (LOG_GFX): available driver: offscreen
INFO: (LOG_GFX): available driver: dummy
INFO: (LOG_GFX): driver: haiku
INFO: (LOG_GFX): found 1 display(s)
INFO: (LOG_GFX): init sdl renderer
INFO: (LOG_GFX): available renderer opengl
INFO: (LOG_GFX): available renderer software
INFO: (LOG_GFX): try sdl renderer: opengl
OpenGL load add-on: /boot/system/add-ons/opengl/Software Pipe
OpenGL add-on registered: /boot/system/add-ons/opengl/Software Pipe
GalliumContext: CreateDisplay: Using llvmpipe (LLVM 12.0.1, 256 bits) driver.
INFO: (LOG_GFX): got renderer: opengl
INFO: (LOG_GFX): max texture resolution: 16384:16384
ERROR: (LOG_GFX): That operation is not supported (/sources/caveexpress-2.5.1/src/modules/gfx/SDLFrontend.cpp:648 => virtual int SDLFrontend::init(int, int, bool, EventHandler&))
INFO: (LOG_GFX): possible display modes:
INFO: (LOG_GFX): 1920x1200@60Hz SDL_PIXELFORMAT_RGB888
INFO: (LOG_GFX): 1920x1080@60Hz SDL_PIXELFORMAT_RGB888
INFO: (LOG_GFX): 1680x1050@59Hz SDL_PIXELFORMAT_RGB888
INFO: (LOG_GFX): 1600x1200@60Hz SDL_PIXELFORMAT_RGB888
INFO: (LOG_GFX): 1600x900@60Hz SDL_PIXELFORMAT_RGB888
INFO: (LOG_GFX): 1440x900@60Hz SDL_PIXELFORMAT_RGB888
INFO: (LOG_GFX): 1400x1050@59Hz SDL_PIXELFORMAT_RGB888
INFO: (LOG_GFX): 1366x768@60Hz SDL_PIXELFORMAT_RGB888
INFO: (LOG_GFX): 1360x768@60Hz SDL_PIXELFORMAT_RGB888
INFO: (LOG_GFX): 1280x1024@60Hz SDL_PIXELFORMAT_RGB888
INFO: (LOG_GFX): 1280x800@59Hz SDL_PIXELFORMAT_RGB888
INFO: (LOG_GFX): 1280x720@60Hz SDL_PIXELFORMAT_RGB888
INFO: (LOG_GFX): 1152x864@60Hz SDL_PIXELFORMAT_RGB888
INFO: (LOG_GFX): 1024x768@60Hz SDL_PIXELFORMAT_RGB888
INFO: (LOG_GFX): 800x600@56Hz SDL_PIXELFORMAT_RGB888
INFO: (LOG_GFX): 800x480@59Hz SDL_PIXELFORMAT_RGB888
INFO: (LOG_GFX): 640x480@59Hz SDL_PIXELFORMAT_RGB888
INFO: (LOG_GFX): 640x400@70Hz SDL_PIXELFORMAT_RGB888
INFO: (LOG_GFX): 640x350@70Hz SDL_PIXELFORMAT_RGB888
INFO: (LOG_GFX): resolution: 800x600
INFO: (LOG_TEXTURES): destroy texture loading
INFO: (LOG_SOUND): soundengine: sdl
INFO: (LOG_SOUND): available audio driver haiku
INFO: (LOG_SOUND): available audio driver disk
INFO: (LOG_SOUND): available audio driver dummy
ERROR: (LOG_SOUND): Failed to initialize sdl mixer with ogg support
INFO: (LOG_SOUND): audio driver: haiku
INFO: (LOG_SOUND): sound initialized
INFO: (LOG_SERVER): next init state: 4
INFO: (LOG_SERVER): init the serviceprovider
INFO: (LOG_SERVICE): switching to loopback
INFO: (LOG_NETWORK): init the network layer (local)
INFO: (LOG_SERVICE): initialize the texture definition
INFO: (LOG_COMMON): loaded 52 texture definitions
INFO: (LOG_COMMON): loaded 1015 maps
INFO: (LOG_COMMON): register command listmaps
INFO: (LOG_SERVICE): initialized the serviceprovider
INFO: (LOG_SERVER): next init state: 5
INFO: (LOG_SERVER): init sprites
INFO: (LOG_SERVER): next init state: 6
INFO: (LOG_SERVER): init game data cavepacker
ERROR: (LOG_GAMEIMPL): failed to update the gamestate
INFO: (LOG_CAMPAIGN): loaded gamestate database
INFO: (LOG_CAMPAIGN): use /boot/home/config/settings/cavepacker/gamestate.sqlite as gamestate database file
INFO: (LOG_COMMON): register command unlock
INFO: (LOG_CAMPAIGN): create campaign tutorial
INFO: (LOG_CAMPAIGN): unlocked campaign 'tutorial'
INFO: (LOG_CAMPAIGN): create campaign xsokoban
INFO: (LOG_CAMPAIGN): unlocked campaign 'xsokoban'
INFO: (LOG_CAMPAIGN): create campaign ksokoban
INFO: (LOG_CAMPAIGN): unlocked campaign 'ksokoban'
INFO: (LOG_CAMPAIGN): create campaign gri
INFO: (LOG_CAMPAIGN): unlocked campaign 'gri'
INFO: (LOG_CAMPAIGN): create campaign mgerhardy
INFO: (LOG_CAMPAIGN): unlocked campaign 'mgerhardy'
ERROR: (LOG_CAMPAIGN): no live entry for tutorial
INFO: (LOG_CAMPAIGN): Could not load progress for tutorial
INFO: (LOG_CAMPAIGN): campaign tutorial last map time: 0
INFO: (LOG_CAMPAIGN): next campaign map tutorial0001
INFO: (LOG_CAMPAIGN): completed: false
INFO: (LOG_CAMPAIGN): campaign tutorial last map time: 0
INFO: (LOG_SERVER): next init state: 7
INFO: (LOG_SERVER): init sounds
ERROR: (LOG_COMMON): lua file 'base/cavepacker/entitysounds.lua' does not exist
ERROR: (LOG_CLIENT): could not load entitysounds.lua script
INFO: (LOG_SERVER): next init state: 8
INFO: (LOG_SERVER): init ui
INFO: (LOG_GFX): init the ui
INFO: (LOG_COMMON): step => initui
INFO: (LOG_UI): loaded language 'en_GB' with 107 entries
INFO: (LOG_COMMON): register command ui_printstack
INFO: (LOG_COMMON): register command ui_push
INFO: (LOG_COMMON): register command ui_restart
INFO: (LOG_COMMON): register command ui_pop
INFO: (LOG_COMMON): register command ui_focus_next
INFO: (LOG_COMMON): register command ui_focus_prev
INFO: (LOG_COMMON): register command ui_execute
INFO: (LOG_UI): enable cursor
INFO: (LOG_UI): init the texture cache with small
INFO: (LOG_TEXTURES): load 52 textures
ERROR: (LOG_GFX): could not load the file: base/cavepacker/pics/ui-scene-player.png
ERROR: (LOG_TEXTURES): could not load texture ui-scene-player
ERROR: (LOG_GFX): could not load the file: base/cavepacker/pics/ui-background-title.png
ERROR: (LOG_TEXTURES): could not load texture ui-background-title
INFO: (LOG_UI): Register window main
INFO: (LOG_COMMON): register command cl_connect
INFO: (LOG_COMMON): register command cl_disconnect
INFO: (LOG_COMMON): register command zoom
INFO: (LOG_COMMON): register command move_up
INFO: (LOG_COMMON): register command move_down
INFO: (LOG_COMMON): register command move_left
INFO: (LOG_COMMON): register command move_right
INFO: (LOG_COMMON): register command undo
INFO: (LOG_COMMON): register command deadlocks
INFO: (LOG_UI): Register window map
ERROR: (LOG_COMMON): could not find sprite definition for icon-heart
ERROR: (LOG_COMMON):  + found: deadlock
ERROR: (LOG_COMMON):  + found: package
ERROR: (LOG_COMMON):  + found: package-deadlock
ERROR: (LOG_COMMON):  + found: package-delivered
ERROR: (LOG_COMMON):  + found: player
ERROR: (LOG_COMMON):  + found: target
ERROR: (LOG_COMMON):  + found: tile-background-01
ERROR: (LOG_COMMON):  + found: tile-background-02
ERROR: (LOG_COMMON):  + found: tile-background-03
ERROR: (LOG_COMMON):  + found: tile-background-04
ERROR: (LOG_COMMON):  + found: tile-rock-01
ERROR: (LOG_COMMON):  + found: tile-rock-02
ERROR: (LOG_COMMON):  + found: tile-rock-03
ERROR: (LOG_GFX): could not load the file: base/cavepacker/pics/icon-heart.png
ERROR: (LOG_TEXTURES): could not load texture icon-heart
ERROR: (LOG_SPRITES): could not add frame 'icon-heart' to sprite 'icon-heart' (def does not exist)
INFO: (LOG_UI): Register window campaignmaps
INFO: (LOG_UI): Register window payment
INFO: (LOG_UI): Register window googleplay
INFO: (LOG_UI): Register window settings
INFO: (LOG_UI): Register window campaign
INFO: (LOG_UI): Register window gesture
INFO: (LOG_UI): Register window mapfinished
INFO: (LOG_UI): Register window introgame
INFO: (LOG_UI): Register window intropathfinding
INFO: (LOG_UI): Register window introdeadlock
INFO: (LOG_UI): Register window options
INFO: (LOG_COMMON): register command cl_pingservers
INFO: (LOG_UI): Register window multiplayer
INFO: (LOG_UI): Register window createserver
INFO: (LOG_COMMON): register command loadmap
ERROR: (LOG_GFX): could not load the file: base/cavepacker/pics/icon-checkbox-on.png
ERROR: (LOG_TEXTURES): could not load texture icon-checkbox-on
ERROR: (LOG_GFX): could not load the file: base/cavepacker/pics/icon-checkbox-off.png
ERROR: (LOG_TEXTURES): could not load texture icon-checkbox-off
INFO: (LOG_UI): Playing the map is not possible
INFO: (LOG_UI): Register window editor
ERROR: (LOG_GFX): could not load the file: base/cavepacker/pics/icon-result.png
ERROR: (LOG_TEXTURES): could not load texture icon-result
ERROR: (LOG_GFX): could not load the file: base/cavepacker/pics/icon-plus.png
ERROR: (LOG_TEXTURES): could not load texture icon-plus
INFO: (LOG_UI): Register window mapeditorhelp
INFO: (LOG_UI): Register window mapeditoroptions
INFO: (LOG_COMMON): register command map_open_in_editor
INFO: (LOG_UI): Loaded gesture
INFO: (LOG_UI): Loaded gesture
INFO: (LOG_GFX): init the console
INFO: (LOG_COMMON): register command cl_toggleconsole
INFO: (LOG_SERVER): next init state: 9
INFO: (LOG_SERVER): execute commandline
INFO: (LOG_SERVER): commandline handled
INFO: (LOG_SERVER): frontend start
INFO: (LOG_GFX): sdl frontend is starting
INFO: (LOG_UI): pushed window main onto the stack
INFO: (LOG_UI): attempt to start the music file music-1
INFO: (LOG_UI): push window main
INFO: (LOG_COMMON): pushwindow => main
INFO: (LOG_COMMON): activewindow => main
ERROR: (LOG_UI): could not find window 'modeselection'
INFO: (LOG_SERVER): initialization done
INFO: (LOG_SERVER): next init state: 11
INFO: (LOG_SERVER): Run the game at 60.000000 frames per second
INFO: (LOG_UI): push popup
INFO: (LOG_COMMON): activewindow => popup
INFO: (LOG_UI): pop window popup
INFO: (LOG_COMMON): popwindow => popup
INFO: (LOG_COMMON): activewindow => main
INFO: (LOG_SERVER): received quit event
INFO: (LOG_COMMON): shutdown config manager
INFO: (LOG_COMMON): save config var alreadyrated with value false
INFO: (LOG_COMMON): save config var blue with value 8
INFO: (LOG_COMMON): save config var debug with value false
INFO: (LOG_COMMON): save config var debugSleep with value 0
INFO: (LOG_COMMON): save config var debugentity with value false
INFO: (LOG_COMMON): save config var debugui with value false
INFO: (LOG_COMMON): save config var editor-lastmap with value 
INFO: (LOG_COMMON): save config var forcefingercontrol with value false
INFO: (LOG_COMMON): save config var fpslimit with value 60.0
INFO: (LOG_COMMON): save config var frontend with value sdl
INFO: (LOG_COMMON): save config var fullscreen with value false
INFO: (LOG_COMMON): save config var gamecontroller with value true
INFO: (LOG_COMMON): save config var gamecontrollertriggeraxis with value false
INFO: (LOG_COMMON): save config var googleplaystate with value 
INFO: (LOG_COMMON): save config var grabmouse with value true
INFO: (LOG_COMMON): save config var green with value 8
INFO: (LOG_COMMON): save config var height with value 600
INFO: (LOG_COMMON): save config var language with value en_GB
INFO: (LOG_COMMON): save config var launchcount with value 1
INFO: (LOG_COMMON): save config var maxzoom with value 1.2
INFO: (LOG_COMMON): save config var minzoom with value 0.5
INFO: (LOG_COMMON): save config var mode with value 
INFO: (LOG_COMMON): save config var mousespeed with value 0.2
INFO: (LOG_COMMON): save config var musicvolume with value 128
INFO: (LOG_COMMON): save config var name with value user
INFO: (LOG_COMMON): save config var network with value true
INFO: (LOG_COMMON): save config var particles with value 100
INFO: (LOG_COMMON): save config var persister with value sqlite
INFO: (LOG_COMMON): save config var port with value 45678
INFO: (LOG_COMMON): save config var red with value 8
INFO: (LOG_COMMON): save config var renderer with value opengl
INFO: (LOG_COMMON): save config var rendertotexture with value 1
INFO: (LOG_COMMON): save config var servername with value user
INFO: (LOG_COMMON): save config var showcursor with value true
INFO: (LOG_COMMON): save config var showfps with value true
INFO: (LOG_COMMON): save config var solvestepmillis with value 
INFO: (LOG_COMMON): save config var sound with value true
INFO: (LOG_COMMON): save config var soundengine with value sdl
INFO: (LOG_COMMON): save config var texturesize with value auto
INFO: (LOG_COMMON): save config var volume with value 128
INFO: (LOG_COMMON): save config var vsync with value true
INFO: (LOG_COMMON): save config var width with value 800
INFO: (LOG_SERVER): Quitting the game
INFO: (LOG_COMMON): step => shutdownui
INFO: (LOG_TEXTURES): shutting down the texturecache with 12 textures
INFO: (LOG_TEXTURES): destroy texture cavepacker-entity-small
INFO: (LOG_TEXTURES): destroy texture cavepacker-environment-small
INFO: (LOG_TEXTURES): destroy texture cavepacker-ui-fonts-small
INFO: (LOG_TEXTURES): destroy texture cavepacker-ui-scene-small
INFO: (LOG_TEXTURES): destroy texture cavepacker-ui-small
INFO: (LOG_UI): free the bitmap font font-8
INFO: (LOG_UI): free the bitmap font font-48
INFO: (LOG_UI): free the bitmap font font-24
INFO: (LOG_UI): free the bitmap font font-10
INFO: (LOG_SOUND): shutting down the sound engine
INFO: (LOG_SOUND): closing the sound system
INFO: (LOG_GAMEIMPL): clear deadlock state
INFO: (LOG_COMMON): step => shutdownui
INFO: (LOG_TEXTURES): shutting down the texturecache with 0 textures
INFO: (LOG_SOUND): shutting down the sound engine
INFO: (LOG_NETWORK): shutting down loopback-network
INFO: (LOG_COMMON): shutdown config manager
ERROR: (LOG_COMMON): no config variables to save
INFO: (LOG_COMMON): step => sdl backend shutdown
INFO: (LOG_MAIN): Leaving mainloop
INFO: (LOG_SERVER): shutdown backend
INFO: (LOG_SERVICE): shutting down the serviceprovider
INFO: (LOG_MAIN): quit
INFO: (LOG_SOUND): shutting down the sound engine
INFO: (LOG_CLIENT): client map reset
INFO: (LOG_UI): free the bitmap font font-12
~> 

So finally I could launch the game this way , but

Question 01 :

Shouldn’t be added ‘Box2D23’ as a dependecy to CavePacker or other dependency package install - to be able to launch CavePacker successfully ?

Anyway, I could resolve this way but I suggest to fix this launch issue I reported.

Unfortunately I have further issues , but those are related the ported app itself.

  1. Well there is 2 basic issue with the game I do not know is it comes from the framework it uses to run or Haiku port.

3.a ) It cannot be scale - the window remain small
This way the objects within the program window
and especially the texts are not easily seen and readable
- except the main Menu items - so hard to use it.

3.b) If the mouse gets into the app window

¤ becomes sluggish - I use touchpad and this way it is annoying
¤ catched & trapped - no more move out from the window
I had to quit pushing ESC and then quit using the Menu
to get my mouse back.

Unfortunately this way I cannot play some Sokoban
on Haiku 64bit :(…

Question 02 :

Could have the reported/experienced issues - while running - been resolved or CavePacker would remain further as is now ?

Does scaling remain so ?
Does the mouse trapped - by framework or app longer ?
Does the pointing device stay sluggish - that we would use to drive stuff within the program ?

Thank you in advance for your reply ! :nerd_face:

Yes, it not beeing marked as a dependency is a bug

As for the other two bugs i don’t know

Will do a check on CavePacker later (if no one beats me to it) :slight_smile:
Thanks for reporting!

EDIT, looking at the recipe for both cavepacker and box2d they are fine, box2d23 is the old one and doesn’t provide any develop package anymore.
Trying to install it here with box2d installed isn’t a problem. Running it however I see it’s still linked against the old library, so a rebuild should fix that, will get back on that.

Yes, me also wondered that an older version of Box2D provided in this year, but seams that version packaged for e.g such games/apps that ported this year and who made the port had not checked the available dependency package, which version available, but ported what used for the ported app on another OS.
Think about OpenEXR packages.
on 32 bit Haiku - there are 3 versions in Haikuports - one is gcc2 requirement, but there are 2 additional packages
on 64 bit Haiku - there are 2 versions

On Haikuports should have a rule
to create dependency packages
of libraries and other progs

ONLY in that case

if there is no any version of them !

They should check the package availability, and if a version - even a newer version - exists - try to add that for a recipe.

If an older available - than that they would compile for ported app, then investigate which package use it and discuss it with others
to other provider to both
check out and re-create recipe with newer version.

If I remember well @Pulkomandy just recently created/shared
a Python script - yepp !.. in hrev57477 - which creates a graph about dependencies of some hpkg files …

Add a script to draw a dependency graph from a set of hpkg files hrev57477

It could be used for that purpose to find such dependencies - or at least it can be a base of it … even if it should be modified …

to check dependencies on all packages

which one relates on that specific package ?

to start a discussion about :
upgrade a necessary dependency
and
recreate a recipe for other package(s) as well - if necesarry.

This way avoid several version of apps / libraries exists parallel.

I know ,
languages (like python)
and
frameworks (like Qt)
are exceptions - they will be provided naturally in several versions (as new versions keep on getting available)

but at least in case libraries other apps which are generally also some dependencies.

→ Really, really should avoid parallel and confliccting package versions

which cause installation conflicts
the one and only thing I really hate in UNIX/Linux

Thanks in advance
if you discuss this
and create a rule
and also recommend for devs to investigate too
who create packages of ported apps…

We at haikuports do our best to keep things up and running. :slight_smile:

In case of Box2D, the old version has been kept around for packages relying on it, it can’t be used for new builds so anything needing Box2D will have to use the newer version.
How CavePacker escaped in the online reports beats me, it should have mention this. Fix for that will be online today (providing the buildmasters are online).

About the script by @PulkoMandy , I have that installed minutes after it was merged, it only shows the dependency graph, it doesn’t show a “broken” dependency. It’s progress however.

It does, with some limitations, depending on how you use it.

If you gave it ALL the packages from the haikudepot repository, it would draw a huge graph, and in it, there would be red arrows for all missing dependencies. But:

  1. You need help from one of the Haiku sysadmins to access that repository
  2. The graph would be way too large to do anything useful from it

However, the script would be easily modified to only list these “not found” dependencies. But then, it is probably more efficient to implement that directly in pkgman instead, and use info from the repository info file rather than needing to have access to all packages.

2 Likes

Well, from my side it was just suggestion to discuss about it.

Me only shared foundings to have been informed about
issue of launching
and
also difficulties when try to playing with the game.

I understand the fix for dependency is doable - I’m happy as
that I finally managed but some might be cannot , so next time they won’t experience it.
Thanks again.

For the game issue I also understand it’s another story.
I just wanted to inform who ported - he might read forum as well -
the game unfortunately not enough “joyable” when running.
Also I hoped only and not wanted :slight_smile: to get answers to my questions above.

I can live without this game.
Think about me … as a tester/reviewer only.
I will do following forum posts for other apps also.

Thanks for your efforts, Begasus. :nerd_face:

2 Likes

In this case it didn’t complain about something broken, you can install CavePacker with the latest Box2D installed, it will just fail to launch as it was build against the older library (shouldn’t that be reported as it does now with GIMP?).

Anyway, looking into the current package for CavePacker I see: requires: lib:libbox2d>=2.3.0 which in itself doesn’t brake with the new version as compat version is fine with new version 2.4.0 which is > then 2.3.0.
This should be revbumped (I’m actually already looking into bumping it to the latest version) to fix it.

And thanks for that @KitsunePrefecture , this one got through the mazes. :slight_smile:

I’m having a hard time figuring this out myself, tried to get some fixes in but nothing is realy helping out at the moment. Maybe it’s one of those SDL2 things that keep biting me :rofl:

Yepp, that way I wrote in my first post
“…Well there is 2 basic issue with the game …”
here → I do not know is it comes from the framework it uses to run
I ment SDL2 or this Box2D
here → or Haiku port.
I thought
the program originally this small sized and port to Haiku could not enhance on its scalability as it was not programmed originally
also for sluggish move in its window caused by the original device programming used within program window and the framework or graphical library enables only this device speed.
This way as ported to Haiku - not rewritten - the mouse works, but seems movement “translated” within the game, so that makes it sluggish.
Actually I do not remember device settings, and I had not switch on my mouse I just used touchpad to move cursor. On touchpad I set to move bigger leap for a smaller movement - so if it works the oppesite I loose my patience quickly :sunglasses:

OK, CavePacker should be fine now, fixed a libVersion mismatch in Box2D also while in the process (and bumbed lua requirement up to lua5.4). Enjoy! :slight_smile:
PS. for the other issues I haven’t found a sollution, but gameplay is the same as it was (using arrow keys on the keyboard works fine for moving around).

Yepp, I installed them already.

~> pkgman update yt_dlp lua box2d dooble cavepacker
100% repochecksum-1 [65 bájt]
Ellenőrzőkód érvényesítése a tárolóhoz (BeSly Software Solutions)...done.
100% repochecksum-1 [65 bájt]
Ellenőrzőkód érvényesítése a tárolóhoz (FatElk_64)...done.
100% repochecksum-1 [65 bájt]
Ellenőrzőkód érvényesítése a tárolóhoz (Haiku)...done.
100% repochecksum-1 [64 bájt]
Ellenőrzőkód érvényesítése a tárolóhoz (HaikuPorts)...done.
100% repochecksum-1 [71 bájt]
Ellenőrzőkód érvényesítése a tárolóhoz (LOTE)...done.
The following changes will be made:
  in system:
    install package lua-5.4.6-2 from repository HaikuPorts
    upgrade package dooble-2023.11.30-4 to 2023.12.25-1 from repository HaikuPorts
    upgrade package box2d-2.4.1-1 to 2.4.1-2 from repository HaikuPorts
    upgrade package yt_dlp-2023.11.16-1 to 2023.12.30-1 from repository HaikuPorts
    upgrade package cavepacker-2.5.1-2 to 2.5.2-1 from repository HaikuPorts
Continue? [yes/no] (yes) : 
100% lua-5.4.6-2-x86_64.hpkg [372.09 KiB]
Validating checksum for https://eu.hpkg.haiku-os.org/haikuports/r1beta4/x86_64/current/packages/lua-5.4.6-2-x86_64.hpkg...done.
100% dooble-2023.12.25-1-x86_64.hpkg [6.04 MiB]
Validating checksum for https://eu.hpkg.haiku-os.org/haikuports/r1beta4/x86_64/current/packages/dooble-2023.12.25-1-x86_64.hpkg...done.
100% box2d-2.4.1-2-x86_64.hpkg [119.88 KiB]
Validating checksum for https://eu.hpkg.haiku-os.org/haikuports/r1beta4/x86_64/current/packages/box2d-2.4.1-2-x86_64.hpkg...done.
100% yt_dlp-2023.12.30-1-any.hpkg [2.68 MiB]
Validating checksum for https://eu.hpkg.haiku-os.org/haikuports/r1beta4/x86_64/current/packages/yt_dlp-2023.12.30-1-any.hpkg...done.
100% cavepacker-2.5.2-1-x86_64.hpkg [15.73 MiB]
Validating checksum for https://eu.hpkg.haiku-os.org/haikuports/r1beta4/x86_64/current/packages/cavepacker-2.5.2-1-x86_64.hpkg...done.
[system] Applying changes ...
[system] Changes applied. Old activation state backed up in "state_2024-01-02_14:10:47"
[system] Cleaning up ...
[system] Done.
~> 

I was curious about package ‘box2d23’ - finally manually uninstalled

~> ls -l /boot/system/packages/administrative/state_2024-01-02_14:10:47/*.hpkg
-rw-r--r-- 1 user root   115278 jan.    1 02:22 /boot/system/packages/administrative/state_2024-01-02_14:10:47/box2d-2.4.1-1-x86_64.hpkg
-rw-r--r-- 1 user root 19094633 jan.    1 02:23 /boot/system/packages/administrative/state_2024-01-02_14:10:47/cavepacker-2.5.1-2-x86_64.hpkg
-rw-r--r-- 1 user root  6192119 dec.   13 15:45 /boot/system/packages/administrative/state_2024-01-02_14:10:47/dooble-2023.11.30-4-x86_64.hpkg
-rw-r--r-- 1 user root  2911760 nov.   26 23:50 /boot/system/packages/administrative/state_2024-01-02_14:10:47/yt_dlp-2023.11.16-1-any.hpkg
~> ls -l /boot/system/packages/box2d*
-rw-r--r-- 1 user root 122759 jan.    2 14:10 /boot/system/packages/box2d-2.4.1-2-x86_64.hpkg
-rw-r--r-- 1 user root 116419 jan.    1 02:33 /boot/system/packages/box2d23-2.3.1-2-x86_64.hpkg
~> pkgman uninstall box2d23
The following changes will be made:
  in system:
    uninstall package box2d23-2.3.1-2
Continue? [yes/no] (yes) : 
[system] Applying changes ...
[system] Changes applied. Old activation state backed up in "state_2024-01-02_14:50:49"
[system] Cleaning up ...
[system] Done.
~> 

Trapping - resolved : I use AppSwitcher to change to another app, and then my pointing device frees up, as that window generally does not hold my pointing device cursor :sunglasses:

Sluggish pointging device - solved. I switched on my wireless mouse for this game, that override slow motion with its moves.
And yes in a cave I can use cursor buttons.

Otherwise I found a Settings menu.
At Input there is controller trigger settings but nothing about mouse.

Here I found a place where I wanted to add a user name, but
Yannika was not possible, only YANNIKA, as for hitting button [A] the selection moved on menu items, so even here A-S-D should be active 8D. So can be move in the menu with buttons as well.

Otherwise at Graphic I set

Texture to BIG with
Full screen ON
and then at twice attempt twice crashed.

Finally seems succeed as 3rd time it launched in full screen.
In setting the Texture was BIG and Full screen ON.
I did an experiment and changed back to Full screen OFF and then
Texture to small.
Done-
As it finished and a plus second … it crashed finally again.
Now I have 3 error report files - if anyone needs it - as I selected to create it.

Game launches default in windowed mode (I’ve set it that way as I don’t like having fullscreen running) :slight_smile:
Been some issues in the past (could be those are resolved.

I haven’t had any crashes here so far (a restart after setting it to fullscreen worked fine here).

About the mouse and textures I’m clueless. :slight_smile:

Note to myself (and others using cavepacker), do **not** click on Twitter in the menu :slight_smile:

I did so … earlier … it also helped me to leave the program window 8D

OK, in windowed mode I can use the mouse again after switching to another Desktop, when running in fullscreen I can’t :frowning: