Jump to content

andy5995

Community Members
  • Posts

    505
  • Joined

  • Days Won

    9

Posts posted by andy5995

  1. I know in theory a wiki is supposed to make it easier to maintain documentation, but I'm not sure if that's always the case.

     

    Has there been any discussion on using some website builder for docs?

     

    A few examples of other projects that do this:

     

    Community Health Toolkit

     

    Godot

     

    Meson

     

    Especially after 0ad has migrated to a {git/pull request}-based system so people can submit patches more efficiently, it seems that being able to review new documentation will help assure the docs are in better shape, and hopefully encourage more people to review, edit, and submit.

  2. 33 minutes ago, Stan` said:

    I have currently set up a gitea instance due to blender announcing they are migrating from Phabricator to gitea which means they will both create migration scripts and also help by contributing to gitea. They didn't sadly make their decision public but the reasoning was that since they wouldn't pay for gitlab it made no sense to redevelop the missing features that were only available to paying users such as blocking pull requests.

    Today I made the first experiments at setting up a jenkins CI to work with our large repo. I am now able to trigger builds and send feedback.  Now I have to find a smart way to not clone the repos uselessly just like it's done using zfs for linux right now.

    Reading and replying quickly, but I think understand. Caching is available in github actions, but I've found that sometimes errors happen due to the cache not getting updated correctly.

     

    Another way is to create docker image with everything and push it docker hub. Then pull that image and start a container in your CI workflow? But that has disadvantages too, obviously.

  3. I'm pretty sure I'd be available to help some with the migration process, when it's decided upon. I'm looking forward to 0ad switching primarily to git, as I never worked with svn much when it was more popular (because I didn't do much development at that time) and I'm much more comfortable with the "pull request" workflow. I guess arcanist is supposed to make it easier, but I kept getting certificate errors when I tried it, and it seemed to be a problem for a while, iirc.

     

    When the Devuan distro forked Debian, they used self-hosted GitLab, but eventually switched to self-hosted gitea. I don't know why.

  4. 2 hours ago, Old Roman said:

    Ok the following seeds generated a valley In medium Carpathian in which I was completely trapped:

    "Seed":2164250698
    "Seed":118454041
    "Seed":1002090554

    These may be useful to someone who might want to figure out why the map code is occasionally doing this.  For myself, I have no desire to play these seeds again.  However you may have answered a question I posted a long time ago about replaying a randomly generated game.  At that time I interpreted certain suggestions that I should use the seed in Atlas (which of course failed).  Thanks to Stan and Andy I see that the seed will probably work by starting the game with the command line and will investigate when I come across a particularly interesting iteration of a random map.  

     

    No need for you to do that @Old Roman:) Could you attach a replay though?

  5. For Atlas, I expect that the linuxdeploy-plugin-gtk will be the best (maybe only) option. (more info about linuxdeploy plugins in the linuxdeploy user guide )

    When I run the appimage with the '-editor' option, this is the output

    Quote

     

    TIMER| LoadDLL: 186.59 ms
    Gtk-Message: 15:30:30.448: Failed to load module "canberra-gtk-module"
    Gtk-Message: 15:30:30.448: Failed to load module "canberra-gtk-module"
    TIMER| InitVfs: 3.80243 ms
    FILES| Main log written to '/home/andy/.config/0ad/logs/mainlog.html'
    FILES| Interesting log written to '/home/andy/.config/0ad/logs/interestinglog.html'
    TIMER| CONFIG_Init: 2.9302 ms
    Sound: AlcInit success, using OpenAL Soft

    (atlas:56487): Gtk-WARNING **: 15:30:31.099: Could not load a pixbuf from icon theme.
    This may indicate that pixbuf loaders or the mime database could not be found.
    **
    Gtk:ERROR:../../../../gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /org/gtk/libgtk/icons/16x16/status/image-missing.png: Unrecognized image file format (gdk-pixbuf-error-quark, 3)
    Bail out! Gtk:ERROR:../../../../gtk/gtkiconhelper.c:494:ensure_surface_for_gicon: assertion failed (error == NULL): Failed to load /org/gtk/libgtk/icons/16x16/status/image-missing.png: Unrecognized image file format (gdk-pixbuf-error-quark, 3)
    Aborted (core dumped)

     

     

  6. It's working now (except for Atlas)!

     

    Putting libAtlasUI.so and libCollada.so in AppRun/usr/lib did the trick.  (I thought I tried that already, as I mentioned above, but saw libCollada.so wasn't there).

     

    I'll update the howto in a few minutes, but I'd say it's ready for someone who's familiar with your CI to start adding it. I think best to create the AppImage on systems with a slightly older version of libc than the bleeding edge. That assures it's more likely to run on newer, as well as older systems. But I'm a bit hazy about that yet.

  7. 10 hours ago, hyperion said:

    Well, if you can't figure out the right path, worst case you could patch ColladaManager to not dlopen but to link directly to collada, then it would behave like the other deps.

    I increased and took a closer look at my scrollback. Right before the DLL conversion errors, near the top of the console output is a fairly good clue:

     

    Quote

    ERROR: DllLoader: dlopen(libCollada.so) failed: libCollada.so: cannot open shared object file: No such file or directory; dlopen(libCollada_dbg.so) failed: libCollada_dbg.so: cannot open shared object file: No such file or directory;

    I've looked at the code in DllLoader.cpp, but I don't see yet how I can have the complete path output to the console. The base filename is passed to dlopen(); doesn't really make sense to me yet.

  8. On 29/08/2022 at 6:33 AM, Stan` said:

    Well you have the seed in the replay to replay the exact same map...

    @Old Roman 

    Quote

    For example, let’s say you wanted to generate a random number in Excel (Note: Excel sets a limit of 9999 for the seed). If you enter a number into the Random Seed box during the process, you’ll be able to use the same set of random numbers again. If you typed “77” into the box, and typed “77” the next time you run the random number generator, Excel will display that same set of random numbers. If you type “99”, you’ll get an entirely different set of numbers. But if you revert back to a seed of 77, then you’ll get the same set of random numbers you started with.

    The seed used for each game is stored in the replay file. 0ad has cmd line options to use the same seed. They're listed in binaries/system/readme.txt

     

     

  9. I tried without specifying any --libdir. I changed the install script (above) to install ActorEditor, libCollada.so, AtlasUi.so to AppRun/usr/bin.

     

    Ran `linuxdeploy`. It failed saying the deps couldn't be found. Fixed by using patchelf on 5 files:

     

    binaries/system{libmoz*,libnv*}

     

    Example:

    In AppRun/usr/bin

    `patchelf --set-rpath libmozjs78-ps-release.so:/0ad/binaries/system pyrogenesis` (where /0ad/ is my source root)

     

    Rebuilt the appimage and ran it. I got errors immediately about directory creation.

     

    I copied default.cfg  dev.cfg  keys.txt to AppRun/user/data/config

     

    Rebuilt the appimage and ran it

     

    I got the same errors about Collada as before, but the full-screen problem was fixed.

  10. @hyperionI don't think using --bindir  is needed at all for this actually, but haven't tried building without it yet. I'm going to do that now.

     

    As for libdir, when linuxdeploy is run, it copies libraries into AppRun/usr/lib and that seems to be working well. It fixed a lot of problems I was having... except for libCollada.so. I copied it into the AppRun folder in 3 different places: the bin folder (alongside pyrogenesis), the AppRun/usr/lib/games/0ad folder, and AppRun/usr/lib. That didn't help anything.

  11. I can now run the appimage, get the main menu, and open the game setup menu.

     

    Alt+Enter doesn't switch to full-screen, but I can do that by right-clicking the title bar and clicking on "full screen".

     

    When I start a game, it loads, but I get many collada related errors.
     

    Quote

     

    ERROR: Error loading object variation (actor: art/actors/flora/trees/pine_maritime.xml)
    ERROR: Failed to load COLLADA conversion DLL
    ERROR: Could not load mesh 'art/meshes/gaia/pine_maritime_4.dae'
    ERROR: CObjectEntry::BuildVariation(): Model art/meshes/gaia/pine_maritime_4.dae failed to load
    ERROR: Error loading object variation (actor: art/actors/flora/trees/pine_maritime.xml)
    ERROR: Failed to load COLLADA conversion DLL
    ERROR: Could not load mesh 'art/meshes/gaia/pine_maritime_3.dae'
    ERROR: CObjectEntry::BuildVariation(): Model art/meshes/gaia/pine_maritime_3.dae failed to load
    ERROR: Error loading object variation (actor: art/actors/flora/trees/pine_maritime.xml)
    ERROR: Failed to load COLLADA conversion DLL
    ERROR: Could not load mesh 'art/meshes/gaia/pine_maritime_4.dae'
    ERROR: CObjectEntry::BuildVariation(): Model art/meshes/gaia/pine_maritime_4.dae failed to load
    ERROR: Error loading object variation (actor: art/actors/flora/trees/pine_maritime.xml)
    ERROR: Failed to load COLLADA conversion DLL
    ERROR: Could not load mesh 'art/meshes/gaia/pine_maritime_2.dae'
    ERROR: CObjectEntry::BuildVariation(): Model art/meshes/gaia/pine_maritime_2.dae failed to load
    ERROR: Error loading object variation (actor: art/actors/flora/trees/pine_maritime.xml)

     

     

     

  12. This is where I'm at
     

    Quote


    $ ./0_A.D.-x86_64.AppImage
    TIMER| InitVfs: 33.4227 ms
    FILES| Main log written to '/home/andy/.config/0ad/logs/mainlog.html'
    FILES| Interesting log written to '/home/andy/.config/0ad/logs/interestinglog.html'
    TIMER| CONFIG_Init: 1.14333 ms
    Sound: AlcInit success, using OpenAL Soft
    ERROR: CVFSFile: file audio/sound_group.rng couldn't be opened (vfs_load: -110100)
    ERROR: CXeromyces: failed adding validator for 'audio/sound_group.rng'
    ERROR: CSoundManager: failed to load grammar file 'audio/sound_group.rng'
    WARNING: Window icon not found.
    ERROR: CVFSFile: file hwdetect/hwdetect.js couldn't be opened (vfs_load: -110100)
    ERROR: Failed to load hardware detection script
    TIMER| RunHardwareDetection: 821.107 us
    FILES| Hardware details written to '/home/andy/.config/0ad/logs/system_info.txt'
    TIMER| write_sys_info: 16.2474 ms
    ERROR: CVFSFile: file gui/gui_page.rng couldn't be opened (vfs_load: -110100)
    ERROR: CXeromyces: failed adding validator for 'gui/gui_page.rng'
    ERROR: CGUIManager: failed to load GUI page grammar file 'gui/gui_page.rng'
    ERROR: CVFSFile: file gui/gui.rng couldn't be opened (vfs_load: -110100)
    ERROR: CXeromyces: failed adding validator for 'gui/gui.rng'
    ERROR: CGUIManager: failed to load GUI XML grammar file 'gui/gui.rng'
    WARNING: Unknown render path
    ERROR: CVFSFile: file shaders/program.rng couldn't be opened (vfs_load: -110100)
    ERROR: CXeromyces: failed adding validator for 'shaders/program.rng'
    ERROR: CShaderManager: failed to load grammar shaders/program.rng
    TIMER| InitRenderer: 11.0234 ms
    ERROR: CVFSFile: file maps/scenario.rng couldn't be opened (vfs_load: -110101)
    ERROR: CXeromyces: failed adding validator for 'maps/scenario.rng'
    ERROR: Failed to open font file fonts/mono-10.fnt
    ERROR: Failed to open font file fonts/sans-10.fnt
    TIMER| ps_console: 92.442 us
    TIMER| ps_lang_hotkeys: 208.402 us
    ERROR: CCacheLoader failed to find archived or source file for: "gui/page_pregame.xml"
    ERROR: Failed to open font file fonts/mono-stroke-10.fnt
    Segmentation fault (core dumped)

     

     

  13. 5 hours ago, andy5995 said:

    I don't have this working yet. I can build the appimage but when I run it:

     

    Quote

    ./pyrogenesis: symbol lookup error: ./pyrogenesis: undefined symbol: _ZN4nvtt12InputOptions16setTextureLayoutENS_11TextureTypeEiiii

    I've made edits to the post above, and using that info, the error directly above is gone.

     

    Right now I think the only problem is the data can't be found when the appimage is run. I think that will be fixed after I rebuild specifying the relative path to --datadir.

  14. On 31/07/2022 at 11:49 PM, andy5995 said:

    Everything kept going for a while but it eventually failed:

     

    main.cpp
    Linking pyrogenesis
    ==== Building mocks_test (release) ====
    Creating obj/mocks_test_Release
    mocks_test.cpp
    Linking mocks_test
    ==== Building AtlasObject (release) ====
    ==== Building AtlasUI (release) ====
    precompiled.h
    ../../../source/tools/atlas/AtlasUI/Misc/precompiled.h:107:11: fatal error: wx/wx.h: No such file or directory
      107 | # include "wx/wx.h"
          |           ^~~~~~~~~
    compilation terminated.
    make[1]: *** [AtlasUI.make:188: obj/AtlasUI_Release/precompiled.h.gch] Error 1
    make: *** [Makefile:181: AtlasUI] Error 2
    make: Leaving directory '/home/andy/src/0ad/build/workspaces/gcc'

     

    I had this problem again, building the svn version in an Ubuntu 20.04 docker container. Installing libwxgtk3.0-gtk3-dev provided  `wx-config`, but really I think there should be a check in premake. If wx-config can't be found, fail then.

×
×
  • Create New...