Jump to content

Nescio

Community Members
  • Posts

    2.300
  • Joined

  • Days Won

    23

Posts posted by Nescio

  1. 1 hour ago, Thorfinn the Shallow Minded said:

    I just wanted to quickly mention that freestanding towers outside of the Roman Empire generally didn't exist, and having them as part of the game aside from just editor buildings would be an inaccurate portrayal of civilisations aside from the Romans.  They already have a limited utility with being able to be built only in friendly territory, and walls with their turrets more or less cover that function already.  If towers are removed, maps can (and should already) be better designed to allow players to wall since that would be the only viable defence aside from a fortress.  Also, outposts in their current iteration are inaccurate as far as I see (I could be incorrect on this matter).  I will admit that they provide a fun gameplay options with their line of sight and neutral territory capabilities, however.  The only reason that both of these exist is because of former RTS games like Age of Empires having them.    

    You're completely right, free standing towers belong to the Medieval times, not really to Antiquity. Unfortunately, the AI is unable to construct walls, and if outposts and towers were to be removed, the AI would be significantly more vulnerable than it is already.

    • Like 2
  2. It seems I'm having this problem too. My operating system is Fedora 28 and yes, I've installed all dependencies listed at https://trac.wildfiregames.com/wiki/BuildInstructions#Fedora

    Outputs:

    [b@p50 gcc]$ g++ -dumpversion
    8
    

     

    [b@p50 gcc]$ make -j3
    Spoiler
    
    [b@p50 gcc]$ make -j3
    ==== Building mocks_real (release) ====
    mocks_real.cpp
    Linking mocks_real
    ==== Building network (release) ====
    precompiled.h
    NetClient.cpp
    NetClientTurnManager.cpp
    NetFileTransfer.cpp
    NetHost.cpp
    NetMessage.cpp
    NetMessageSim.cpp
    NetServer.cpp
    NetServerTurnManager.cpp
    NetSession.cpp
    NetStats.cpp
    StunClient.cpp
    fsm.cpp
    precompiled.cpp
    Linking network
    ==== Building tinygettext (release) ====
    precompiled.h
    precompiled.cpp
    dictionary.cpp
    dictionary_manager.cpp
    iconv.cpp
    language.cpp
    log.cpp
    plural_forms.cpp
    po_parser.cpp
    tinygettext.cpp
    unix_file_system.cpp
    Linking tinygettext
    ==== Building lobby (release) ====
    precompiled.h
    L10n.cpp
    Globals.cpp
    StanzaExtensions.cpp
    XmppClient.cpp
    JSInterface_Lobby.cpp
    precompiled.cpp
    pkcs5_pbkdf2.cpp
    Linking lobby
    ==== Building glooxwrapper (release) ====
    precompiled.h
    glooxwrapper.cpp
    precompiled.cpp
    Linking glooxwrapper
    ==== Building simulation2 (release) ====
    precompiled.h
    precompiled.cpp
    Simulation2.cpp
    CCmpAIManager.cpp
    CCmpCinemaManager.cpp
    CCmpCommandQueue.cpp
    CCmpDecay.cpp
    CCmpFootprint.cpp
    CCmpMinimap.cpp
    CCmpMotionBall.cpp
    CCmpObstruction.cpp
    CCmpObstructionManager.cpp
    CCmpOverlayRenderer.cpp
    CCmpOwnership.cpp
    CCmpParticleManager.cpp
    CCmpPathfinder.cpp
    CCmpPathfinder_Vertex.cpp
    CCmpPosition.cpp
    CCmpProjectileManager.cpp
    CCmpRallyPointRenderer.cpp
    CCmpRangeManager.cpp
    CCmpRangeOverlayRenderer.cpp
    CCmpSelectable.cpp
    CCmpSoundManager.cpp
    CCmpTemplateManager.cpp
    CCmpTerrain.cpp
    CCmpTerritoryInfluence.cpp
    CCmpTerritoryManager.cpp
    CCmpTest.cpp
    CCmpUnitMotion.cpp
    CCmpUnitRenderer.cpp
    CCmpVision.cpp
    CCmpVisualActor.cpp
    CCmpWaterManager.cpp
    ICmpAIInterface.cpp
    ICmpAIManager.cpp
    ICmpCinemaManager.cpp
    ICmpCommandQueue.cpp
    ICmpDecay.cpp
    ICmpFogging.cpp
    ICmpFootprint.cpp
    ICmpGuiInterface.cpp
    ICmpIdentity.cpp
    ICmpMinimap.cpp
    ICmpMirage.cpp
    ICmpMotion.cpp
    ICmpObstruction.cpp
    ICmpObstructionManager.cpp
    ICmpOverlayRenderer.cpp
    ICmpOwnership.cpp
    ICmpParticleManager.cpp
    ICmpPathfinder.cpp
    ICmpPlayer.cpp
    ICmpPlayerManager.cpp
    ICmpPosition.cpp
    ICmpProjectileManager.cpp
    ICmpRallyPoint.cpp
    ICmpRallyPointRenderer.cpp
    ICmpRangeManager.cpp
    ICmpRangeOverlayRenderer.cpp
    ICmpSelectable.cpp
    ICmpSettlement.cpp
    ICmpSound.cpp
    ICmpSoundManager.cpp
    ICmpTemplateManager.cpp
    ICmpTerrain.cpp
    ICmpTerritoryDecayManager.cpp
    ICmpTerritoryInfluence.cpp
    ICmpTerritoryManager.cpp
    ICmpTest.cpp
    ICmpUnitMotion.cpp
    ICmpUnitRenderer.cpp
    ICmpUnknownScript.cpp
    ICmpValueModificationManager.cpp
    ICmpVisibility.cpp
    ICmpVision.cpp
    ICmpVisual.cpp
    ICmpWaterManager.cpp
    CinemaPath.cpp
    Geometry.cpp
    HierarchicalPathfinder.cpp
    LongPathfinder.cpp
    PathGoal.cpp
    In file included from ../../../source/simulation2/helpers/Pathfinding.h:26,
                     from ../../../source/simulation2/helpers/LongPathfinder.h:21,
                     from ../../../source/simulation2/helpers/LongPathfinder.cpp:20:
    ../../../source/simulation2/helpers/Grid.h: In instantiation of ‘T* SparseGrid<T>::GetBucket(int, int) [with T = PathfindTile]’:
    ../../../source/simulation2/helpers/Grid.h:238:10:   required from ‘T& SparseGrid<T>::get(int, int) [with T = PathfindTile]’
    ../../../source/simulation2/helpers/LongPathfinder.cpp:406:41:   required from here
    ../../../source/simulation2/helpers/Grid.h:194:10: warning: ‘void* memset(void*, int, size_t)’ clearing an object of non-trivial type ‘struct PathfindTile’; use assignment or value-initialization instead [-Wclass-memaccess]
        memset(m_Data[b], 0, BucketSize*BucketSize*sizeof(T));
        ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from ../../../source/simulation2/helpers/LongPathfinder.cpp:20:
    ../../../source/simulation2/helpers/LongPathfinder.h:63:8: note: ‘struct PathfindTile’ declared here
     struct PathfindTile
            ^~~~~~~~~~~~
    Rasterize.cpp
    Render.cpp
    Selection.cpp
    EngineScriptConversions.cpp
    JSInterface_Simulation.cpp
    MessageTypeConversions.cpp
    ScriptComponent.cpp
    BinarySerializer.cpp
    DebugSerializer.cpp
    HashSerializer.cpp
    IDeserializer.cpp
    ISerializer.cpp
    StdDeserializer.cpp
    StdSerializer.cpp
    CmpPtr.cpp
    ComponentManager.cpp
    ComponentManagerSerialization.cpp
    DynamicSubscription.cpp
    IComponent.cpp
    LocalTurnManager.cpp
    ParamNode.cpp
    ReplayTurnManager.cpp
    SimContext.cpp
    TurnManager.cpp
    Linking simulation2
    ==== Building scriptinterface (release) ====
    precompiled.h
    precompiled.cpp
    ScriptConversions.cpp
    ScriptInterface.cpp
    ScriptRuntime.cpp
    ScriptStats.cpp
    Linking scriptinterface
    ==== Building engine (release) ====
    precompiled.h
    L10n.cpp
    JSInterface_L10n.cpp
    BoundingBoxAligned.cpp
    BoundingBoxOriented.cpp
    Brush.cpp
    Fixed.cpp
    MD5.cpp
    Matrix3D.cpp
    NUSpline.cpp
    Noise.cpp
    Plane.cpp
    Quaternion.cpp
    Sqrt.cpp
    Vector3D.cpp
    JSInterface_Network.cpp
    precompiled.cpp
    ArchiveBuilder.cpp
    CConsole.cpp
    CLogger.cpp
    CStr.cpp
    CStrIntern.cpp
    CacheLoader.cpp
    Compress.cpp
    ConfigDB.cpp
    DllLoader.cpp
    Errors.cpp
    FileIo.cpp
    Filesystem.cpp
    GUID.cpp
    Game.cpp
    Atlas.cpp
    CmdLineArgs.cpp
    Config.cpp
    GameSetup.cpp
    HWDetect.cpp
    Paths.cpp
    Globals.cpp
    Hotkey.cpp
    Joystick.cpp
    KeyName.cpp
    Loader.cpp
    Mod.cpp
    ModInstaller.cpp
    ModIo.cpp
    Preprocessor.cpp
    ../../../source/ps/ModIo.cpp: In member function ‘void ModIo::StartDownloadMod(size_t)’:
    ../../../source/ps/ModIo.cpp:320:82: warning: ‘new’ of type ‘DownloadCallbackData’ with extended alignment 64 [-Waligned-new=]
     allbackData = new DownloadCallbackData(sys_OpenFile(m_DownloadFilePath, "wb"));
                                                                                  ^
    
    ../../../source/ps/ModIo.cpp:320:82: note: uses ‘void* operator new(std::size_t)’, which does not have an alignment parameter
    ../../../source/ps/ModIo.cpp:320:82: note: use ‘-faligned-new’ to enable C++17 over-aligned new support
    PreprocessorWrapper.cpp
    Profile.cpp
    ProfileViewer.cpp
    Profiler2.cpp
    Profiler2GPU.cpp
    In file included from /usr/include/string.h:494,
                     from /usr/include/c++/8/cstring:42,
                     from /usr/include/boost/filesystem/path.hpp:36,
                     from /usr/include/boost/filesystem.hpp:16,
                     from ../../../source/lib/pch/pch_boost.h:57,
                     from ../../../source/lib/precompiled.h:76,
                     from ../../../source/pch/engine/precompiled.h:18:
    In function ‘void* memcpy(void*, const void*, size_t)’,
        inlined from ‘void rewriteBuffer(u8*, u32&)’ at ../../../source/ps/Profiler2.cpp:564:10:
    /usr/include/bits/string_fortified.h:34:33: warning: ‘void* __builtin___memcpy_chk(void*, const void*, long unsigned int, long unsigned int)’ forming offset [257, 4294967295] is out of the bounds [0, 256] of object ‘message’ with type ‘char [256]’ [-Warray-bounds]
       return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest));
              ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ../../../source/ps/Profiler2.cpp: In function ‘void rewriteBuffer(u8*, u32&)’:
    ../../../source/ps/Profiler2.cpp:563:9: note: ‘message’ declared here
        char message[CProfiler2::MAX_ATTRIBUTE_LENGTH] = {0};
             ^~~~~~~
    Pyrogenesis.cpp
    Replay.cpp
    SavedGame.cpp
    Shapes.cpp
    TemplateLoader.cpp
    ThreadUtil.cpp
    TouchInput.cpp
    UserReport.cpp
    Util.cpp
    VideoMode.cpp
    VisualReplay.cpp
    World.cpp
    RelaxNG.cpp
    XMLWriter.cpp
    XeroXMB.cpp
    Xeromyces.cpp
    JSInterface_ConfigDB.cpp
    JSInterface_Console.cpp
    JSInterface_Debug.cpp
    JSInterface_Game.cpp
    JSInterface_Main.cpp
    JSInterface_Mod.cpp
    JSInterface_ModIo.cpp
    JSInterface_SavedGame.cpp
    JSInterface_VFS.cpp
    JSInterface_VisualReplay.cpp
    SoundManager.cpp
    OggData.cpp
    SoundData.cpp
    ogg.cpp
    CBufferItem.cpp
    CSoundBase.cpp
    CSoundItem.cpp
    CStreamItem.cpp
    JSInterface_Sound.cpp
    SoundGroup.cpp
    format.cpp
    Linking engine
    ==== Building graphics (release) ====
    precompiled.h
    Camera.cpp
    CinemaManager.cpp
    ColladaManager.cpp
    Color.cpp
    Decal.cpp
    Font.cpp
    FontManager.cpp
    FontMetrics.cpp
    Frustum.cpp
    GameView.cpp
    HFTracer.cpp
    HeightMipmap.cpp
    LOSTexture.cpp
    LightEnv.cpp
    MapGenerator.cpp
    MapIO.cpp
    MapReader.cpp
    MapWriter.cpp
    Material.cpp
    MaterialManager.cpp
    MeshManager.cpp
    MiniPatch.cpp
    Model.cpp
    ModelAbstract.cpp
    ModelDef.cpp
    ObjectBase.cpp
    ObjectEntry.cpp
    ObjectManager.cpp
    Overlay.cpp
    ParticleEmitter.cpp
    ParticleEmitterType.cpp
    ParticleManager.cpp
    Patch.cpp
    ShaderDefines.cpp
    ShaderManager.cpp
    ShaderProgram.cpp
    ShaderProgramFFP.cpp
    ShaderTechnique.cpp
    SkeletonAnimDef.cpp
    SkeletonAnimManager.cpp
    Terrain.cpp
    TerrainProperties.cpp
    TerrainTextureEntry.cpp
    TerrainTextureManager.cpp
    TerritoryBoundary.cpp
    TerritoryTexture.cpp
    TextRenderer.cpp
    TextureConverter.cpp
    TextureManager.cpp
    Unit.cpp
    UnitAnimation.cpp
    UnitManager.cpp
    JSInterface_GameView.cpp
    precompiled.cpp
    AlphaMapCalculator.cpp
    DecalRData.cpp
    HWLightingModelRenderer.cpp
    InstancingModelRenderer.cpp
    MikktspaceWrap.cpp
    ModelRenderer.cpp
    OverlayRenderer.cpp
    ParticleRenderer.cpp
    PatchRData.cpp
    PostprocManager.cpp
    RenderModifiers.cpp
    Renderer.cpp
    Scene.cpp
    ShadowMap.cpp
    SilhouetteRenderer.cpp
    SkyManager.cpp
    TerrainOverlay.cpp
    TerrainRenderer.cpp
    TexturedLineRData.cpp
    TimeManager.cpp
    VertexArray.cpp
    VertexBuffer.cpp
    VertexBufferManager.cpp
    WaterManager.cpp
    JSInterface_Renderer.cpp
    mikktspace.cpp
    weldmesh.cpp
    Linking graphics
    ==== Building atlas (release) ====
    precompiled.h
    precompiled.cpp
    ActorViewer.cpp
    Brushes.cpp
    CommandProc.cpp
    GameLoop.cpp
    BrushHandlers.cpp
    CameraCtrlHandlers.cpp
    CinemaHandler.cpp
    CommandHandlers.cpp
    ElevationHandlers.cpp
    EnvironmentHandlers.cpp
    GraphicsSetupHandlers.cpp
    MapHandlers.cpp
    MessageHandler.cpp
    MiscHandlers.cpp
    ObjectHandlers.cpp
    PlayerHandlers.cpp
    TerrainHandlers.cpp
    InputProcessor.cpp
    MessagePasserImpl.cpp
    Misc.cpp
    Register.cpp
    In file included from ../../../source/pch/atlas/precompiled.h:24:
    ../../../source/tools/atlas/GameInterface/Messages.h: In function ‘void AtlasMessage::fGetTerrainGroupPreviews(AtlasMessage::qGetTerrainGroupPreviews*)’:
    ../../../source/tools/atlas/GameInterface/Messages.h:292:8: warning: ‘#‘target_mem_ref’ not supported by dump_expr#<expression error>’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     struct sTerrainTexturePreview
            ^~~~~~~~~~~~~~~~~~~~~~
    ../../../source/tools/atlas/GameInterface/Messages.h:292:8: warning: ‘#‘target_mem_ref’ not supported by dump_expr#<expression error>’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    ../../../source/tools/atlas/GameInterface/Messages.h:292:8: warning: ‘#‘target_mem_ref’ not supported by dump_expr#<expression error>’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    ../../../source/tools/atlas/GameInterface/Messages.h:292:8: warning: ‘#‘target_mem_ref’ not supported by dump_expr#<expression error>’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     struct sTerrainTexturePreview
            ^~~~~~~~~~~~~~~~~~~~~~
    ../../../source/tools/atlas/GameInterface/Messages.h:292:8: warning: ‘#‘target_mem_ref’ not supported by dump_expr#<expression error>’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    ../../../source/tools/atlas/GameInterface/Messages.h:292:8: warning: ‘#‘target_mem_ref’ not supported by dump_expr#<expression error>’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    SimState.cpp
    View.cpp
    Linking atlas
    ==== Building gui (release) ====
    precompiled.h
    CButton.cpp
    CChart.cpp
    CCheckBox.cpp
    CDropDown.cpp
    CGUI.cpp
    CGUIScrollBarVertical.cpp
    CGUISprite.cpp
    CImage.cpp
    CInput.cpp
    CList.cpp
    COList.cpp
    CProgressBar.cpp
    CRadioButton.cpp
    CSlider.cpp
    CText.cpp
    CTooltip.cpp
    GUIManager.cpp
    GUIRenderer.cpp
    GUITooltip.cpp
    GUIbase.cpp
    GUItext.cpp
    GUIutil.cpp
    IGUIButtonBehavior.cpp
    IGUIObject.cpp
    IGUIScrollBar.cpp
    IGUIScrollBarOwner.cpp
    IGUITextOwner.cpp
    MiniMap.cpp
    GuiScriptConversions.cpp
    JSInterface_GUIManager.cpp
    JSInterface_GUITypes.cpp
    JSInterface_IGUIObject.cpp
    ScriptFunctions.cpp
    L10n.cpp
    precompiled.cpp
    Linking gui
    ==== Building lowlevel (release) ====
    precompiled.h
    arena.cpp
    dynarray.cpp
    freelist.cpp
    headerless.cpp
    page_aligned.cpp
    pool.cpp
    shared_ptr.cpp
    unique_range.cpp
    app_hooks.cpp
    base32.cpp
    bits.cpp
    byte_order.cpp
    debug.cpp
    debug_stl.cpp
    dbghelp.cpp
    archive.cpp
    archive_zip.cpp
    codec.cpp
    codec_zlib.cpp
    stream.cpp
    file_loader.cpp
    file_stats.cpp
    real_directory.cpp
    trace.cpp
    file.cpp
    file_system.cpp
    io.cpp
    write_buffer.cpp
    vfs.cpp
    vfs_lookup.cpp
    vfs_path.cpp
    vfs_populate.cpp
    vfs_tree.cpp
    vfs_util.cpp
    fnv_hash.cpp
    frequency_filter.cpp
    input.cpp
    lib.cpp
    module_init.cpp
    ogl.cpp
    path.cpp
    posix.cpp
    rand.cpp
    regex.cpp
    cursor.cpp
    ogl_tex.cpp
    h_mgr.cpp
    ../../../source/lib/res/h_mgr.cpp: In function ‘void h_free_hd(HDATA*)’:
    ../../../source/lib/res/h_mgr.cpp:578:27: warning: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘struct HDATA’ with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess]
      memset(hd, 0, sizeof(*hd));
                               ^
    ../../../source/lib/res/h_mgr.cpp:140:8: note: ‘struct HDATA’ declared here
     struct HDATA
            ^~~~~
    secure_crt.cpp
    snd.cpp
    status.cpp
    svn_revision.cpp
    acpi.cpp
    amd64.cpp
    apic.cpp
    cache.cpp
    msr.cpp
    topology.cpp
    x86_x64.cpp
    cpu.cpp
    gfx.cpp
    dir_watch_inotify.cpp
    lcpu.cpp
    ldbg.cpp
    linux.cpp
    udbg.cpp
    ufilesystem.cpp
    unix.cpp
    unix_executable_pathname.cpp
    unuma.cpp
    uvm.cpp
    x.cpp
    os_cpu.cpp
    gcc.cpp
    smbios.cpp
    tex.cpp
    tex_bmp.cpp
    tex_codec.cpp
    tex_dds.cpp
    tex_png.cpp
    tex_tga.cpp
    timer.cpp
    utf8.cpp
    wsecure_crt.cpp
    precompiled.cpp
    Linking lowlevel
    ==== Building mongoose (release) ====
    mongoose.cpp
    ../../../source/third_party/mongoose/mongoose.cpp: In function ‘mg_context* mg_start(mg_callback_t, void*, const char**)’:
    ../../../source/third_party/mongoose/mongoose.cpp:4297:40: warning: cast between incompatible function types from ‘void (*)(mg_context*)’ to ‘mg_thread_func_t’ {aka ‘void* (*)(void*)’} [-Wcast-function-type]
       start_thread(ctx, (mg_thread_func_t) master_thread, ctx);
                                            ^~~~~~~~~~~~~
    ../../../source/third_party/mongoose/mongoose.cpp:4301:46: warning: cast between incompatible function types from ‘void (*)(mg_context*)’ to ‘mg_thread_func_t’ {aka ‘void* (*)(void*)’} [-Wcast-function-type]
         if (start_thread(ctx, (mg_thread_func_t) worker_thread, ctx) != 0) {
                                                  ^~~~~~~~~~~~~
    Linking mongoose
    ==== Building Collada (release) ====
    precompiled.h
    CommonConvert.cpp
    DLL.cpp
    Decompose.cpp
    GeomReindex.cpp
    Maths.cpp
    PMDConvert.cpp
    PSAConvert.cpp
    StdSkeletons.cpp
    XMLFix.cpp
    precompiled.cpp
    Linking Collada
    ==== Building pyrogenesis (release) ====
    main.cpp
    Linking pyrogenesis
    ==== Building mocks_test (release) ====
    mocks_test.cpp
    Linking mocks_test
    ==== Building AtlasObject (release) ====
    AtlasObjectImpl.cpp
    AtlasObjectJS.cpp
    AtlasObjectText.cpp
    AtlasObjectXML.cpp
    ../../../source/tools/atlas/AtlasObject/AtlasObjectXML.cpp: In function ‘std::__cxx11::wstring fromXmlChar(const xmlChar*)’:
    ../../../source/tools/atlas/AtlasObject/AtlasObjectXML.cpp:96:31: warning: this statement may fall through [-Wimplicit-fallthrough=]
       case 5: ch += *source++; ch <<= 6;
                                ~~~^~~~~
    ../../../source/tools/atlas/AtlasObject/AtlasObjectXML.cpp:97:3: note: here
       case 4: ch += *source++; ch <<= 6;
       ^~~~
    ../../../source/tools/atlas/AtlasObject/AtlasObjectXML.cpp:97:31: warning: this statement may fall through [-Wimplicit-fallthrough=]
       case 4: ch += *source++; ch <<= 6;
                                ~~~^~~~~
    ../../../source/tools/atlas/AtlasObject/AtlasObjectXML.cpp:98:3: note: here
       case 3: ch += *source++; ch <<= 6;
       ^~~~
    ../../../source/tools/atlas/AtlasObject/AtlasObjectXML.cpp:98:31: warning: this statement may fall through [-Wimplicit-fallthrough=]
       case 3: ch += *source++; ch <<= 6;
                                ~~~^~~~~
    ../../../source/tools/atlas/AtlasObject/AtlasObjectXML.cpp:99:3: note: here
       case 2: ch += *source++; ch <<= 6;
       ^~~~
    ../../../source/tools/atlas/AtlasObject/AtlasObjectXML.cpp:99:31: warning: this statement may fall through [-Wimplicit-fallthrough=]
       case 2: ch += *source++; ch <<= 6;
                                ~~~^~~~~
    ../../../source/tools/atlas/AtlasObject/AtlasObjectXML.cpp:100:3: note: here
       case 1: ch += *source++; ch <<= 6;
       ^~~~
    ../../../source/tools/atlas/AtlasObject/AtlasObjectXML.cpp:100:31: warning: this statement may fall through [-Wimplicit-fallthrough=]
       case 1: ch += *source++; ch <<= 6;
                                ~~~^~~~~
    ../../../source/tools/atlas/AtlasObject/AtlasObjectXML.cpp:101:3: note: here
       case 0: ch += *source++;
       ^~~~
    ../../../source/tools/atlas/AtlasObject/AtlasObjectXML.cpp: In constructor ‘toXmlChar::toXmlChar(const wstring&)’:
    ../../../source/tools/atlas/AtlasObject/AtlasObjectXML.cpp:67:49: warning: this statement may fall through [-Wimplicit-fallthrough=]
        case 4: *--target = ((ch | 0x80) & 0xBF); ch >>= 6;
                                                  ~~~^~~~~
    ../../../source/tools/atlas/AtlasObject/AtlasObjectXML.cpp:68:4: note: here
        case 3: *--target = ((ch | 0x80) & 0xBF); ch >>= 6;
        ^~~~
    ../../../source/tools/atlas/AtlasObject/AtlasObjectXML.cpp:68:49: warning: this statement may fall through [-Wimplicit-fallthrough=]
        case 3: *--target = ((ch | 0x80) & 0xBF); ch >>= 6;
                                                  ~~~^~~~~
    ../../../source/tools/atlas/AtlasObject/AtlasObjectXML.cpp:69:4: note: here
        case 2: *--target = ((ch | 0x80) & 0xBF); ch >>= 6;
        ^~~~
    ../../../source/tools/atlas/AtlasObject/AtlasObjectXML.cpp:69:49: warning: this statement may fall through [-Wimplicit-fallthrough=]
        case 2: *--target = ((ch | 0x80) & 0xBF); ch >>= 6;
                                                  ~~~^~~~~
    ../../../source/tools/atlas/AtlasObject/AtlasObjectXML.cpp:70:4: note: here
        case 1: *--target = (char)(ch | firstByteMark[bytesToWrite]);
        ^~~~
    Linking AtlasObject
    ==== Building AtlasUI (release) ====
    precompiled.h
    ActorEditor.cpp
    ActorEditorListCtrl.cpp
    AnimListEditor.cpp
    PropListEditor.cpp
    TexListEditor.cpp
    ActionButton.cpp
    ToolButton.cpp
    Canvas.cpp
    ColorDialog.cpp
    DraggableListCtrl.cpp
    DraggableListCtrlCommands.cpp
    EditableListCtrl.cpp
    EditableListCtrlCommands.cpp
    FieldEditCtrl.cpp
    ListCtrlValidator.cpp
    QuickComboBox.cpp
    QuickFileCtrl.cpp
    QuickTextCtrl.cpp
    FileHistory.cpp
    HighResTimer.cpp
    MapDialog.cpp
    SnapSplitterWindow.cpp
    In file included from /usr/include/wx-2.8/wx/version.h:17,
                     from /usr/include/wx-2.8/wx/defs.h:134,
                     from /usr/include/wx-2.8/wx/wxprec.h:13,
                     from ../../../source/tools/atlas/AtlasUI/Misc/precompiled.h:48:
    ../../../source/tools/atlas/AtlasUI/CustomControls/MapDialog/MapDialog.cpp: In constructor ‘MapDialog::MapDialog(wxWindow*, MapDialogType, const wxIcon&)’:
    ../../../source/tools/atlas/AtlasUI/CustomControls/MapDialog/MapDialog.cpp:113:54: error: ‘Lm_Type’ was not declared in this scope
      filenameSizer->Add(new wxStaticText(this, wxID_ANY, _(m_Type == MAPDIALOG_SAVE ? "Map name: " : "Map path: ")), wxSizerFlags().Align(wxALIGN_CENTER_VERTICAL));
                                                          ^
    ../../../source/tools/atlas/AtlasUI/CustomControls/MapDialog/MapDialog.cpp:113:54: note: suggested alternative: ‘m_Type’
    virtualdirtreectrl.cpp
    AtlasDialog.cpp
    make[1]: *** [AtlasUI.make:346: obj/AtlasUI_Release/MapDialog.o] Error 1
    make[1]: *** Waiting for unfinished jobs....
    make: *** [Makefile:165: AtlasUI] Error 2

     

    [b@p50 gcc]$ cd ../../../binaries/system/
    [b@p50 system]$ test
    [b@p50 system]$ pyrogenesis 
    Cache: 400 (total: 15904) MiB
    TIMER| InitVfs: 1.1263 ms
    TIMER| CONFIG_Init: 685.974 us
    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'
    TIMER| shutdown ConfigDB: 0.345 us
    AL lib: (WW) FreeContext: (0x11171d0) Deleting 64 Sources
    TIMER| resource modules: 1.56899 ms
    TIMER TOTALS (9 clients)
    -----------------------------------------------------
      tc_png_decode: 0 c (0x)
      tc_dds_transform: 0 c (0x)
      tc_pool_alloc: 18.871 kc (1x)
      tc_transform: 0 c (0x)
      tc_plain_transform: 0 c (0x)
      tc_ShaderGLSLLink: 0 c (0x)
      tc_ShaderGLSLCompile: 0 c (0x)
      tc_ShaderValidation: 0 c (0x)
      xml_validation: 0 c (0x)
    -----------------------------------------------------
    TIMER| shutdown misc: 128.86 us
    Cache: 400 (total: 15904) MiB
    TIMER| InitVfs: 209.077 us
    TIMER| CONFIG_Init: 197.571 us
    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'
    ERROR: CVFSFile: file hwdetect/hwdetect.js couldn't be opened (vfs_load: -110100)
    ERROR: Failed to load hardware detection script
    TIMER| RunHardwareDetection: 13.9676 ms
    TIMER| write_sys_info: 28.245 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'
    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: 4.29702 ms
    ERROR: Failed to open font file fonts/mono-10.fnt
    ERROR: Failed to open font file fonts/sans-10.fnt
    TIMER| ps_console: 37.262 us
    TIMER| ps_lang_hotkeys: 492.916 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
    ERROR: CCacheLoader failed to find archived or source file for: "shaders/effects/gui_text.xml"
    ERROR: Failed to load effect 'gui_text'
    Segmentation fault (core dumped)
    

     

  3. On 4/29/2018 at 11:07 PM, wowgetoffyourcellphone said:

    Game needs move-attack [not to be confused with attack-move]. Chasing units should be able to attack while still chasing the fleeing enemy unit. Would be nice to see, that way you don't see, f.e., a sword cavalry catching up to a fleeing enemy archer and stop to attack, only to see the archer run out of melee range.

    Garrisoned siege towers and warships can already shoot while moving (as of A22), so I suppose you could give camel, chariot, elephant, and horse archers a buildingAI attribute as a temporary solution.

  4. 9 hours ago, Lion.Kanzen said:

    Can place 7 icons wide by 4 icons high in the right panel for mod the grid.

    A) villager/citizen  right panel

    B )building right panel task ande upgrades

    image.png.bf83d5c3031c5f97b31bc60d364827d8.png

    First you'll want to change the size of the right panel. It's defined in /binaries/data/mods/public/gui/session/session.xml

    Next you'll adjust what is displayed inside (building orders etc.), which is defined in separate files, located in /binaries/data/mods/public/gui/session/selection_panels_right/

    Then you'll have to edit the maximum number of elements and the rowlength for each of those inside /binaries/data/mods/public/gui/session/selection_panels.js

    9 hours ago, Lion.Kanzen said:

    2-The second  is add to the top bar on right side of emblem, the current phase.

    For the top panel, you'll need the `updateTopPanel()` function inside /binaries/data/mods/public/gui/session/session.js Individual sub-elements are located in /binaries/data/mods/public/gui/session/top_panel/ and loaded by /binaries/data/mods/public/gui/session/top_panel.xml

    9 hours ago, Lion.Kanzen said:

    Sorry he isn't  familiar with modding terms. so is confusing even for me.

    Who?

  5. 25 minutes ago, Sundiata said:

    Or that... Thanks. My Latin is a little rusty, and by rusty I mean nearly non-existant :)

    Carthago delenda est is not incorrect, however, the ceterum censeo is at least as famous, and without it you'd miss the beautiful alliteration, therefore I have a preference for the full sentence instead of the short-hand :)

    (Actually Polybius wrote Greek, but hardly anyone would recognize “δοκεῖ δέ μοι καὶ Καρχηδόνα μὴ εἶναι.” (I had to look up the exact sentence as well, my Greek is not as good as my Latin.) Likewise, ”ἀνερρίφθω κύβος” is better known by its Latin translation alea iacta est.)

  6. 12 minutes ago, wackyserious said:

    Which among the three is most significant with relevance to the current factions? Might include them after working with the Umayyads.

    Moravia (c. 833–907) was probably the least significant; it interacted both with the Byzantines and the Franks/Germans though.

    The Khazar Khaganate (c. 650–969) was a Byzantine ally and trading partner, although there was some tension on the Crimea; it adopted Judaism to be able to trade with both Christian and Muslim states.

    The Bulgarian Empire (c. 681–1018) was the great rival of the Byzantine Empire during this period; they competed with each other for control of the Balkans; the Bulgarian Empire came quite close to taking over the Byzantine Empire, but eventually the Byzantines prevailed and gradually conquered them.

    The Rus' were Swedes who invaded and settled a vast area between the Baltic and Black Seas, parts of which were later known as Ruthenia or Russia (named after Rurik, founder of the Rus'). Their capital was Kiev. The Rus' launched a raid on Constantinople once but eventually became Byzantine allies and trading partners, converted to Eastern Orthodoxy, assisted in defeating the Bulgarian Empire, and supplied the Byzantines with the first Varangian Guard.

    • Thanks 1
  7. 8 minutes ago, wackyserious said:

    The current state of the mod depicts that it somewhat highlights the Viking Age. Just like how the Romans and Carthaginians are clustered together in the game to clash each other. Likewise with the Spartans, the Athenians and the Persians and lastly, the Successor states. It just a matter of coming up with something that is cohesive.

    You probably should consider including the Rus', Khazars, the First Bulgarian Empire, and Great Moravia then.

    • Like 1
  8. 14 minutes ago, Lion.Kanzen said:

    The golden age of Byzantines... my god, lol. 

    Greatest territorial extent does not say everything.

    5 minutes ago, Lion.Kanzen said:

    So first part is from  700-1000 (?) so not Avars or Persian Sassanids ?

    Sasanians are probably early, but Avars were still important in the 9th C:

    Europe_814.png

    The Abbasids splintered into many factions during the 9th C:

    EditedStattering.png

  9. 16 minutes ago, wackyserious said:

    Maybe someone who's a contemporary of the heroes from the other faction. Or at least from a nearer decade or century.

    Anglo-Saxons

    • Alfred the Great
    • Offa of Merica

    Carolingians

    • Charlemagne

    Norse

    • Erik the Red
    • Hastein
    • Ivar the Boneless

    Tagging @Nescio for advice or suggestions.

    From those names it seems you're focusing on c. 800 A.D., which is sensible. I'd strongly recommend to include Saint Boniface as a Carolingian hero. Charles Martel and Pepin the Short are also worth considering.

    As for the Byzantines, the Justinian dynasty (6th C) is probably too early and has more in common with late antiquity than high middle ages, so I don't think Belisarius, Justinian, and Theodora are suitable. Personally I would recommend the Macedonian dynasty (867–1056), under which the Byzantines peaked, although it's a century later than the Carolingians. They have many potential hero candidates, just look at https://en.wikipedia.org/wiki/List_of_Roman_emperors#Macedonian_dynasty_(867–1056) for a start.

    • Thanks 1
  10. Here's the relevant entry in Brill's New Pauly:

    Spoiler

    Emporiae

    (567 words)
     

    [German Version]

    This item can be found on the following maps:

    | | Etrusci, Etruria | Hispania, Iberia | Colonization | Punic Wars | Pyrenean peninsula

    (Emporion). Sea-trading port, now Ampurias, on the eastern edge of the Pyrenees, in the province Gerona, on the Costa Brava. Sources: [1; 2]. Archaeological activity that was unparalleled in Spain took place here from the start of the 20th cent. and has been extensively covered in several publications [3. 334ff.; 4. 66ff.; 5. 94; 6; 7; 8. 273ff.]. The inscriptions have produced very little; two of them were Christian [9]. Coin finds have been rich and significant [7. 251ff.; 10; 11; 12].

    E. grew up from four different settlements. The oldest part is Palaiopolis, probably founded by Massalia after 520 BC (Str. 3,4,8) on the island, today's peninsula, off San Martín de Ampurias, with a temple of the Ephesian Artemis. In any event the finds go even further back in time (as far as 600 BC). To the south lay the harbour, still protected today by a Greek mole. Neapolis, which has been built up in terraces on the mainland beach, probably arose after 500. To the west lay the Iberian city Indike [13], separated from Neapolis by a wall (a description of both peoples in Str. 3,4,8; Liv. 34,9.) Neighbouring it was the Roman colony founded by Caesar in 45 BC. As well, Greek, Roman and Iberian Necropoleis [14; 15] have been uncovered. There have been numerous finds, including many pieces of classical art [16. 275f.].

    E. was the starting point for Roman military operations in Spain (Scipiones, Cato [1] the Elder) and developed into a rich city. Invasion by the Franks (AD 265) seems to have been a disaster for E. but it still played a role as a bishopric in the West Gothic period [17]. That came to an end after invasion by the Arabs, although a condado de Ampurias survived [18].

    Barceló, Pedro (Potsdam)

    Bibliography

    1 A. Schulten (ed.), Fontes Hispaniae Antiquae, 2, 1925

    2 M. Almagro, Las fuentes escritas referentes a Ampurias, 1951

    3 A. Schulten, Ampurias, Neue Jbb. für das klass. Altertum 10, 1907, 334ff.

    4 Id., Eine unbekannte Top. von Emporion, in: Hermes 60, 1925, 66ff.

    5 Id., Forsch. in Spanien, in: AA I/2, 1940

    6 A. Frickenhaus, Zwei top. Probleme. 1. Emporion, in: BJ 118, 1909, 17-27

    7 M. Almagro, Ampurias, 1951

    8 P. García, La España primitiva, 1950

    9 M. Almagro, Las inscripciones ampuritanas griegas, ibéricas y latinas, 1952

    10 H. Dessau, s.v. Emporia, RE V 2, 2526f.

    11 A. Vives, La moneda hispánica, 1926

    12 J. Amorós, Les monedes empuritanes anteriores a les dracmes, 1934

    13 A. Schulten, s.v. Indiketes, RE IX 2, 1368

    14 M. Almagro, Las Necrópolis de Ampurias, 2 vols., 1953/1955 (Reviews cf. Gnomon 26, 1954, 284 and Gnomon 29, 1957, 238)

    15 M. Almagro, P. de Palol, La Ampurias paleocristiana y visigoda, (Monografias Ampuritanas, 4), 1958

    16 P. García, La España primitiva, 1950, 275ff.

    17 Fontes Hispaniae Antiquae 9, 1947, 447ff.

    18 Enciclopedia Universal Ilustrada 5, 274.

    Anuari de l'Institut d'Estudis Catalans 1907-1927 (Research reports)

    E. Samarti i Grego et al., Emporion, in: W. Trillmich, P. Zanker (ed.), Die Monumentalisierung hispanischer Städte zwischen Republik und Kaiserzeit, 1990, 117-144

    E. Samarti i Grego et al., La presencia comercial etrusca en la emporion arcaica, determinada a partir de las Anforas, in: J. Remesal, O. Musso, La Presencia de Material Etrusco en la Península Ibérica, 1991, 83-94

    R. Mar, J. Ruiz de Arbulo, El foro de Ampurias y las transformaciones augusteas de los foros de la Tarraconense, in: W. Trillmich, P. Zanker (ed.), Die Monumentalisierung hispanischer Städte zwischen Republik und Kaiserzeit, 1990, 145-164

    Tovar, 3, 1989, 427-430.

    Cite this page
    Barceló, Pedro (Potsdam), “Emporiae”, in: Brill’s New Pauly, Antiquity volumes edited by: Hubert Cancik and , Helmuth Schneider, English Edition by: Christine F. Salazar, Classical Tradition volumes edited by: Manfred Landfester, English Edition by: Francis G. Gentry. Consulted online on 26 April 2018

     

    • Like 3
    • Thanks 1
  11. 2 minutes ago, Gyrion said:

    Hey guys, could someone possibly help me out? As the title says I am stuck on the difference between Celtiberians and Iberians

    Celtiberians are Celts south of the Pyrenees and Iberians are speakers of the Iberian language(s). Not to be confused with the kingdom of Iberia (modern Georgia) in the Southern Caucasus.

    0 A.D.'s "Iberians" is basically an amalgam of all peoples that happened to live on the Iberian peninsula, thus merging very different civilizations and ethnicities into a single factions: Iberians, Celtiberians, Vascones/Basques, Cantabri, Lusitani, etc.

    Greek_and_Phoenician_Colonies_in_The_Ibe

    • Like 1
    • Thanks 1
  12. 1 minute ago, wackyserious said:

    Yeah it is all in the directory, got any more leads on why it produces an error?

    1 hour ago, wackyserious said:

            "special/formations/battle_line",
        ],

    Since this formation is the last element of a list, there should not be a comma behind it.

    Also, it would be more helpful if you would just post the file next time, rather than quoting its contents :)

    • Thanks 1
  13. 4 minutes ago, wackyserious said:

    @Imarok Can you help me identify why I'm getting errors on the civ .JSON, above?

         "Emblem": "session/portraits/emblems/emblem_byzantines.png",
                "Template": "structures/byza_civil_centre",
                "Template": "units/byza_support_female_citizen",
                "Template": "units/byza_infantry_archer_b",
                "Template": "units/byza_infantry_spearman_b",
                "Template": "units/byza_cavalry_spearman_b",
             "skirmish/structures/default_house_10" : "structures/{civ}_house"

    Do all of these files exist?

  14. 1 hour ago, wackyserious said:

    @stanislas69 @Alexandermb Should this faction be the next in the priority list?

    Could we let them use Lordgood's Spartan buildings pack as their building placeholders?

    If someone could create a unit roster for me, I think I can start working on their actor files.

    Asking for opinions and suggestions.

    @LordGood @Nescio @Sundiata @Lion.Kanzen @wowgetoffyourcellphone plus anyone else who might be interested in this development. :)

    "Byzantine" is a modern term to cover twelve centuries. Rather than trying to contain all that anachronistically in a single civilization, you should chose a single period or dynasty and base your faction on that.

  15. 14 hours ago, Alexandermb said:

    The text didn't speak about torsion but is possibly it may be like picture below. Now that you mention traction it does say that it was a traction catapult but honestly i don't know the difference yet until now, but also speaks about ropes so if maybe isn't counterweighted but pulled by ropes like the ones seen in the drawing but since mod will cover from 500 to 1000 and then 1000 to 1000+ it won't hurt have both.

    Traction trebuchets (pulling ropes) and counterweight trebuchets (dropping weight) are two different things. The one you animated is clearly a counterweight, which will be useful in a Third Crusade or late Middle Ages mod, but not in a Carolingian.

    Here are a few traction trebuchet images used at Wikipedia:

    Byzantine_Trebuchet_Skylintzes.jpgSiJiao_Pao-t1.jpg

     

    • Like 1
  16. 4 minutes ago, Alexandermb said:

    in page 10 or 9 IIRC theres a text who speaks about a lever "catapult" using cilinder wood, two arms and sling as a stolen technology from chinese for trowing rocks but is also seen in two referencial paintings and none of the 3 references has any relation since 1 is in spanish good information page, 2nd is at Age of Charlemagne Osprey book wich was used for both norse and anglo factions and 3rd is another book "Charlemagne's Early Campaigns (768-777): A Diplomatic and Military Analysis".

    Yes, traction trebuchets (or mangonel) existed in Europe since the 6th C AD, and possibly centuries earlier in China, however, the one you animated clearly uses a counterweight, not torsion.

    • Like 1
  17. 6 minutes ago, Alexandermb said:

    Trebuchet is almost done just need to sync animations

    Please correct me if I'm mistaken, but I was under the impression this mod is supposed to cover the 500-1000 AD timeframe. Counterweight trebuchets first appear in the 12th C AD, thus postdating the Carolingians.

     

    • Like 1
  18. 2 minutes ago, Shiyn said:

    I see what you mean. So isnt a matter of rescaling but keeping it tight to 1024. Thats surely a challenge for the current design,  the only way it would work would be to remove the portrait radial from middle and put it on the right side and redraw the minimap concept. I kinda tempts me to experiment with it but i wanna make this one something near consistent so i can move on. 

    You could design a 1920 wide GUI, of course, that's up to you, but that would only be useful as a mod for players who would play 0 A.D. at at least that width.

    If you want to redesign the GUI and create a mod that might be included in the main distribution and replace what we currently have, then yes, I'm afraid you'll have to limit yourself to using 1024 pixels, which is certainly challenging.

    • Like 1
  19. 14 minutes ago, Shiyn said:

    True, there is no point on implementing this if it cant support native 4:3 resolutions. Would act as a mod for those who want it but it will never make it to the main build. 
    Actually my earlier design took this into consideration, since i left half screen alone for scretching and cropping, but since we added the left bar now were locked up on 16:10 logic. 
    Ill give some thought about the options we have here before going deeper with this.

    Height is not a problem; if something works for 16:9, it will also work for 16:10, 3:2, 4:3, 5:4, and other aspect ratios. Width, in pixels, is the limiting factor. 0 A.D.'s GUI does not handle "stretching and cropping"; it's always 1024 pixels wide, regardless the size of the screen or window used. So if you want to implement your ideas, it's better if all GUI elements are located within 1024 pixels, even if your mock-up's 1920 wide.

    19 minutes ago, vladislavbelov said:

    Yeah, I definitely agree with that. And I think the 1024 width is enough to use for a while.

    I worried mostly about the scale for the engine. Because we have issues with that: 1) we don't support scaled fonts yet, 2) we don't support system DPI, no DPI aware yet (i.e. Windows on 125% just scale the game).

    Those two things are certainly desireable to have, but probably also quite hard to implement.

    • Like 1
×
×
  • Create New...