Jump to content

Recommended Posts

I don't think that is possible sadly. What you could do is sync you anims properly though @Alexandermb might have some more insight... A sound system overhaul is long due...

Share this post


Link to post
Share on other sites
On 11/23/2019 at 6:29 AM, The Undying Nephalim said:

I think I had asked this question before, but I can't seem to find it looking back so I'll ask anyway just in case.

Is there a way to disable event sounds in animations for specific attached props to an actor? I'm running into a problem where I have actors with multiple props that play multiple copies of attack sounds, with expectedly jarring results. I've made copies of Variants that deleted the event= in attack animations, but now animations between the actor and all its attached props play completely out of sync, even though all the attack animations have the appropriate ID's. Is there a way to disable event sounds to attached props, or keep animations between multiple props that use different Variants in sync, or am I stuck with my unit playing 5 copies of an attack sound each time it attacks and blowing out my speakers? :laugh:

Do they have the same starting frame, frame lenght and FPS (24 or 30)? If that so they should be sync deleting event but all of them shouldn't have event so maybe placing the event on an empty prop whitout animation.

Haven't faced this problem yet but sounds like an issue in a future for other actors.

Share this post


Link to post
Share on other sites
5 hours ago, Alexandermb said:

Do they have the same starting frame, frame lenght and FPS (24 or 30)? If that so they should be sync deleting event but all of them shouldn't have event so maybe placing the event on an empty prop whitout animation.

Haven't faced this problem yet but sounds like an issue in a future for other actors.

Yes, they both use the exact same skeleton and the same animations. The animations are completely in-sync until I removed "event=0.5" from one variant of the animations.

Share this post


Link to post
Share on other sites

Random question time!

I seem to recall somewhere that in 0AD Roman heroes could capture or convert enemy units. I can't seem to find any evidence that this is or was a feature in the game. If this was a feature that was cut, how was it used in template files and how can I give a unit the ability to convert enemy units?

  • Like 1

Share this post


Link to post
Share on other sites
1 hour ago, The Undying Nephalim said:

Random question time!

I seem to recall somewhere that in 0AD Roman heroes could capture or convert enemy units. I can't seem to find any evidence that this is or was a feature in the game. If this was a feature that was cut, how was it used in template files and how can I give a unit the ability to convert enemy units?

Planned feature...  @fatherbushido works in that feature for the other team 0 A.D fork.

 

Share this post


Link to post
Share on other sites
9 hours ago, The Undying Nephalim said:

Yes, they both use the exact same skeleton and the same animations. The animations are completely in-sync until I removed "event=0.5" from one variant of the animations.

What if you put event="0.0" ?

 

Share this post


Link to post
Share on other sites
16 hours ago, The Undying Nephalim said:

Random question time!

I seem to recall somewhere that in 0AD Roman heroes could capture or convert enemy units. I can't seem to find any evidence that this is or was a feature in the game. If this was a feature that was cut, how was it used in template files and how can I give a unit the ability to convert enemy units?

 

The capture mechanic could be used to develop the  prison projects according to the Nephi canon. Examples:

  • Hyrule = ("Prisoners of War" tech) Become miners.
  • Gerudo = (Ayloch Prison Complex) Become forced laborers and/or XXX slaves to increase the population.
  • Goron = (Death Mountain Prison Camp) Become miners.
  • Sheikah = (Torture Chamber / Prison Chamber) Gain information of the enemy like theirs resources quantity / they could become Devourers.
  • Darknut = (Fighting Pit) Gain some experience by fighting against the prisoners of war (unless it's Impa hehehe).
  • Lizalfos = Can sacrifice them in the Altar or by the Shaman to gain food. Could make Grub Growers produce food faster or the Carcass Launcher cheaper. (Lizalfos Prison) Could be resold to the enemy by rupees.
  • Moblins = (Pain Punishing Prison) Gain information of the enemy or be resold to the enemy by rupees.
  • Deku Scrubs = Don't know, but they have a Deku Prison and a Boiling Cauldron.
  • Wizzrobes = Don't know , but they have a Magic Prison.
  • Fairies = Don't know , but they have a Midden (like an incinerator).
  • Labrynna = Is a slave based faction, so go wild.
  • Gohma = More food than the corpses.
  • Stalfos = More army.

 

 

  • Like 1

Share this post


Link to post
Share on other sites
23 minutes ago, Stan` said:

Argh. @Alexandermb Any other ideas ?

Umh, maybe deleting the whole event but i guess that would also get them unsync. Why this only applies with this actor in particular and not with every single prop we have sync? like horse peytrals, hair, Even bows should play double sound. Something is different.

If issue persist, actor or variants should have another Tag for Sound or disable anything that could cause an issue if duplicated.

@The Undying Nephalim Can i have a look at the actor xml files please? only the actors, (if the whole item with template are included of ccourse it will help but i just want to have a look at the actor and see what is different from any other synced actors).

Share this post


Link to post
Share on other sites
40 minutes ago, Alexandermb said:



@The Undying Nephalim Can i have a look at the actor xml files please? only the actors, (if the whole item with template are included of ccourse it will help but i just want to have a look at the actor and see what is different from any other synced actors).

Here's one of the actors and the attached prop:

 

lizalfos_helmasaurking_b.xml lizalfos_helmasaurking_mask.xml

Share this post


Link to post
Share on other sites

I've got another question. I've recently been migrating from Windows 7 to Windows 10, and while 0AD seems to work fine there's a huge series of errors it throws up when I start the exe. Is this anything I should worry about?

Spoiler

Assertion failed: "cache.Validate()"
Location: cache.cpp:43 (x86_x64::AddCache)

Call stack:

x86_x64::AddCache (cache.cpp:43)
    cache = 0x016FE620 -> 
        m_Level = 3 (0x00000003)
        m_Type = kUnified
        m_NumEntries = 524288 (0x00080000)
        m_EntrySize = 64 (0x00000040)
        m_Associativity = 0 (0x00000000)
        m_SharedBy = 1 (0x00000001)


x86_x64::AMD::DetectCacheAndTLB (cache.cpp:202)
    regs = 
        eax = 24110732 (0x016FE68C)
        ebx = 18687171 (0x011D24C3)
        ecx = 24110732 (0x016FE68C)
        edx = 18567887 (0x011B52CF)


x86_x64::DetectCacheAndTLB (cache.cpp:624)
    descriptorFlags = 0 (0x00000000)

ModuleInit (module_init.cpp:47)
    initState = 0x012F9DD4 -> 4294867266 (0xFFFE7942)
    init = 0x011D23F0 -> (x86_x64::DetectCacheAndTLB)

x86_x64::Caches (cache.cpp:654)
    idxCache = 2 (0x00000002)
    initState = 4294867266 (0xFFFE7942)

topology::DetermineCachesProcessorMask (topology.cpp:392)
    cachesProcessorMask = 0x012F8654 -> 0 (0x00000000)
    numCaches = 0x012F85D0 -> 0 (0x00000000)
    cacheRelations = 
        m_caches = (vector<topology::CacheRelations::SharedCache >)


topology::InitCacheTopology (topology.cpp:450)

ModuleInit (module_init.cpp:47)
    initState = 0x012F85CC -> 4294867266 (0xFFFE7942)
    init = 0x011B6150 -> (topology::InitCacheTopology)

topology::NumCaches (topology.cpp:457)

RunHardwareDetection (hwdetect.cpp:310)
    LINE_202_ = 
        m_t0 = 0.43231 (0x3FDBAAF702E1330C)
        m_description = 0x0127EB84 -> "RunHardwareDetection"

    rq = 
        mContext = 0x084A0DD0 -> (JSContext)

    global = 
        { 
                (js::ValueOperations<JS::Rooted<JS::Value> >)
 }
        stack = 0x81818080 -> (unavailable - internal error)

        prev = 0x83838282 -> 
            (js::RootedBase<void *>)
            stack = (unavailable - internal error)

            prev = (unavailable - internal error)

            ptr = (unavailable - internal error)


        ptr = 
            data = 
                asBits = -8680821844409482108 (0x8787868685858484)
                s = { payload = 
                        i32 = 2240119940 (0x85858484)
                        u32 = 2240119940 (0x85858484)
                        boo = 2240119940 (0x85858484)
                        str = 0x85858484 -> (JSString)
                        sym = 0x85858484 (see above)
                        obj = 0x85858484 (see above)
                        cell = 0x85858484 (see above)
                        ptr = 0x85858484 (see above)
                        why = -2054847356
                        word = 2240119940 (0x85858484)
                        uintptr = 2240119940 (0x85858484)
, tag = -2021161338 }
                asDouble = -2.17437e-272 (0x8787868685858484)
                asPtr = 0x85858484 (see above)



    caps3 = 2139061886 (0x7F7F7E7E)
    un = 
        sysname = "Win8.1"
        nodename = "DESKTOP-2J3RFH2"
        release = [9] { 0, 189, 189, 190, 190, 191, 191, 192, 192 }
        version = "6.3.9200"
        machine = "x86"

    file = 
        m_Buffer = (shared_ptr<unsigned char>)
        m_BufferSize = 12383 (0x0000305F)

    code = (unsupported basic_string<char,char_traits<char> >)
    tmpVal = 
        { 
                (js::ValueOperations<JS::Rooted<JS::Value> >)
 }
        stack = 0x8D8D8C8C -> (unavailable - internal error)

        prev = 0x8F8F8E8E -> 
            (js::RootedBase<void *>)
            stack = (unavailable - internal error)

            prev = (unavailable - internal error)

            ptr = (unavailable - internal error)


        ptr = 
            data = 
                asBits = -7812739770352562032 (0x9393929291919090)
                s = { payload = 
                        i32 = 2442236048 (0x91919090)
                        u32 = 2442236048 (0x91919090)
                        boo = 2442236048 (0x91919090)
                        str = 0x91919090 -> (JSString)
                        sym = 0x91919090 (see above)
                        obj = 0x91919090 (see above)
                        cell = 0x91919090 (see above)
                        ptr = 0x91919090 (see above)
                        why = -1852731248
                        word = 2442236048 (0x91919090)
                        uintptr = 2442236048 (0x91919090)
, tag = -1819045230 }
                asDouble = -2.27107e-214 (0x9393929291919090)
                asPtr = 0x91919090 (see above)



    caps0 = 2105375868 (0x7D7D7C7C)
    scriptInterface = 
        m_CxPrivate = { pScriptInterface = 0x016FE790 -> 
                m_CxPrivate = { pScriptInterface = 0x016FE790 (see above), pCBData = 0x97979696 }
                m = (unique_ptr<ScriptInterface_impl,default_delete<ScriptInterface_impl> >)
                m_rng = 0x9B9B9A9A -> 
                    lcf = 
                        _x = (unavailable - internal error)



                m_CustomObjectTypes = (unsupported map<basic_string<char,char_traits<char> >,ScriptInterface::CustomType >)
, pCBData = 0x97979696 (see above) }
        m = (unique_ptr<ScriptInterface_impl,default_delete<ScriptInterface_impl> >)
        m_rng = 0x9B9B9A9A (see above)
        m_CustomObjectTypes = (unsupported map<basic_string<char,char_traits<char> >,ScriptInterface::CustomType >)

    settings = 
        { 
                (js::ValueOperations<JS::Rooted<JS::Value> >)
 }
        stack = 0x084A0E04 -> 0x016FE7AC -> 
            (js::RootedBase<void *>)
            stack = 0x084A0E04 (see above)
            prev = 0x00000000
            ptr = 0x07D61A60

        prev = 0x00000000
        ptr = 
            data = 
                asBits = -515264603552 (0xFFFFFF8807D61A60)
                s = { payload = 
                        i32 = 131471968 (0x07D61A60)
                        u32 = 131471968 (0x07D61A60)
                        boo = 131471968 (0x07D61A60)
                        str = 0x07D61A60 (see above)
                        sym = 0x07D61A60 (see above)
                        obj = 0x07D61A60 (see above)
                        cell = 0x07D61A60 (see above)
                        ptr = 0x07D61A60 (see above)
                        why = 131471968
                        word = 131471968 (0x07D61A60)
                        uintptr = 131471968 (0x07D61A60)
, tag = -120 }
                asDouble = -1.#QNAN (0xFFFFFF8807D61A60)
                asPtr = 0x07D61A60 (see above)



    caps2 = 2307491976 (0x89898888)
    caps1 = 2341177994 (0x8B8B8A8A)

InitGraphics (gamesetup.cpp:1004)
    args = (unavailable)
    flags = (unavailable)
    installedMods = (unavailable)
    profilerGPUEnable = (bool)0x90
    setup_vmode = true 
    context = [2048] 
        1 (0x01)
        0 (0x00)
        0 (0x00)
        0 (0x00)
        1 (0x01)
        0 (0x00)
        0 (0x00)
        0 (0x00)
        211 (0xD3)
        232 (0xE8)
        19 (0x13)
        118 (0x76)
        251 (0xFB)
        222 (0xDE)
        35 (0x23)
        130 (0x82) ...
    buf = [500] 
        61972
        367
        16
        256
        1792
        392
        100 ('d')
        0
        61748
        367
        16
        0 ...
    context = [2048] 
        1 (0x01)
        0 (0x00)
        0 (0x00)
        0 (0x00)
        1 (0x01)
        0 (0x00)
        0 (0x00)
        0 (0x00)
        211 (0xD3)
        232 (0xE8)
        19 (0x13)
        118 (0x76)
        251 (0xFB)
        222 (0xDE)
        35 (0x23)
        130 (0x82) ...
    context = [2048] 
        1 (0x01)
        0 (0x00)
        0 (0x00)
        0 (0x00)
        1 (0x01)
        0 (0x00)
        0 (0x00)
        0 (0x00)
        211 (0xD3)
        232 (0xE8)
        19 (0x13)
        118 (0x76)
        251 (0xFB)
        222 (0xDE)
        35 (0x23)
        130 (0x82) ...
    rq = 
        mContext = 0x00000086

    setup_gui = (bool)0xA0
    data = 
        { 
                (js::ValueOperations<JS::Rooted<JS::Value> >)
 }
        stack = 0x00000000
        prev = 0x00020019 -> 
            (js::RootedBase<void *>)
            stack = (unavailable - internal error)

            prev = (unavailable - internal error)

            ptr = (unavailable - internal error)


        ptr = 
            data = 
                asBits = -8240974868612388480 (0x8DA22D05016FE980)
                s = { payload = 
                        i32 = 24111488 (0x016FE980)
                        u32 = 24111488 (0x016FE980)
                        boo = 24111488 (0x016FE980)
                        str = 0x016FE980 -> (JSString)
                        sym = 0x016FE980 (see above)
                        obj = 0x016FE980 (see above)
                        cell = 0x016FE980 (see above)
                        ptr = 0x016FE980 (see above)
                        why = 24111488
                        word = 24111488 (0x016FE980)
                        uintptr = 24111488 (0x016FE980)
, tag = -1918751483 }
                asDouble = -5.32388e-243 (0x8DA22D05016FE980)
                asPtr = 0x016FE980 (see above)



    scriptInterface = (shared_ptr<ScriptInterface>)
    e = 0x00000000

RunGameOrAtlas (main.cpp:632)
    argc = 1 (0x00000001)
    argv = 0x03580008 -> 0x03580028 -> "D:\Program Files (x86)\0 A.D. alpha\binaries\system\pyrogenesis.exe"
    replayFile = 
        path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
        separator = 47 ('/')

    modsToInstall = (unsupported vector<Path >)
    scriptEngine = 
        (Singleton<ScriptEngine>)
        m_Runtimes = (unsupported list<JSRuntime const * >)

    args = 
        m_Args = (unsupported vector<pair<CStr8,CStr8> >)
        m_Arg0 = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 92 ('\')

        m_ArgsWithoutName = (unsupported vector<CStr8 >)

    res = 2.78319e-010 (0x3DF3203D22A75AC2)
    modPath = 
        path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
        separator = 60713

    paths = 
        m_root = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 600

        m_rdata = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 32 (' ')

        m_gameData = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 0

        m_userData = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 1

        m_config = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 5

        m_cache = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 80 ('P')

        m_logs = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 44494


    replay = 
        m_Stream = 0x3DF3203D -> (basic_istream<char,char_traits<char> >)

    mod = 
        path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
        separator = 0

    zip = 
        path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
        separator = 8224

    mods = (unsupported vector<CStr8 >)
    paths = 
        m_root = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 65311

        m_rdata = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 0

        m_gameData = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 63084

        m_userData = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 46966

        m_config = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 0

        m_cache = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 10784

        m_logs = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 0


    builder = 
        m_VFS = (shared_ptr<IVFS>)
        m_Files = (unsupported vector<Path >)
        m_TempDir = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 80 ('P')

        m_NumBaseMods = 2008591822 (0x77B8ADCE)

    installedMods = (unsupported vector<CStr8 >)
    installer = 
        m_VFS = (shared_ptr<IVFS>)
        m_ModsDir = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 39320

        m_TempDir = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 3000

        m_CacheDir = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 2

        m_InstalledMods = (unsupported vector<CStr8 >)

    paths = 
        m_root = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 65311

        m_rdata = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 0

        m_gameData = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 63084

        m_userData = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 46966

        m_config = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 0

        m_cache = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 10784

        m_logs = 
            path = (unsupported basic_string<wchar_t,char_traits<wchar_t> >)
            separator = 0



SDL_main (main.cpp:680)
    argc = 1 (0x00000001)
    argv = 0x03580008 (see above)

main_utf8 (sdl_windows_main.c:126)
    argc = 1 (0x00000001)
    argv = 0x03580008 (see above)

wmain (sdl_windows_main.c:151)
    argc = 1 (0x00000001)
    wargv = 0x018FD3B0 -> 0x018FD3B8 -> 68 (0x0044)
    wenvp = 0x01907FA8 -> 35672 (0x8B58)
    argv = 0x03580008 (see above)
    retval = 0 (0x00000000)
    i = 1 (0x00000001)

CallStartupWithinTryBlock (wseh.cpp:364)
    ret = 18474832 (0x0119E750)

RtlGetAppContainerNamedObjectPath (:0)

RtlGetAppContainerNamedObjectPath (:0)


errno = 0 (No error reported here)
OS error = 203 (The system could not find the environment option that was entered.)

 

 

 

Share this post


Link to post
Share on other sites

Any chance you upgraded your PC?

I recall someone uploading a patch. Not sure if it was committed. Regardless, you would have to wait for A24 I suppose.

Share this post


Link to post
Share on other sites
On 11/14/2019 at 10:12 PM, Angen said:

 

On 11/12/2019 at 9:16 PM, Stan` said:

Can you try this ? Extract it then replace the  file :)

pyrogenesis.zip 1.63 MB · 9 downloads

Using this patched version you should be able to play. You need to copy the four files.

Share this post


Link to post
Share on other sites

Can you show me your folder? You need to copy the fourfiles in something like %localappdata%\0 A.D. alpha\binaries\system

Share this post


Link to post
Share on other sites
9 minutes ago, Stan` said:

Can you show me your folder? You need to copy the fourfiles in something like %localappdata%\0 A.D. alpha\binaries\system

I've got all four file and the new pyrogenesis.exe in there

Spoiler

57ec0d117dcb8e3de45b98986185657f.png

If this don't work ill just stick with my old windows 7 PC until alpha 24.

Share this post


Link to post
Share on other sites
15 hours ago, Stan` said:
  1. How do you launch the game?
  2. Do you have multiple instances of 0 A.D. installed?

I just start it up by double clicking on pyrogenesis.exe.

Just to make sure it was noted, before I got these 4 files and the modified .exe the game runs perfectly fine as long as I click Continue on those startup crashes. There doesn't seem to be anything wrong with 0AD after I skip through those.

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...