1. Firaxis celebrates the "Asian American and Pacific Islander Heritage Month", and offers a give-away of a Civ6 anthology copy (5 in total)! For all the details, please check the thread here. .
    Dismiss Notice

Bottle neck for plugging around = ArtDefine ?

Discussion in 'Civ4 - Plug and Play Project' started by tucoow, Jul 13, 2008.

  1. tucoow

    tucoow Chieftain

    Joined:
    May 1, 2008
    Messages:
    52
    Location:
    A pasture, somewhere GMT+8
    I've been trying plug & play for just a few days, so please correct me if I'm wrong.

    I've built several "plug & play" units and plug them to Dales Combat Mod and really enjoy them. Later for some reason I need to re-structure the folders above them.

    It came to my mind that the only bottle neck for plugging units around is the path definition in *_CIV4ArtDefines_Unit.xml (ArtDefines_Building as well). It's a "relative path" to the "modules" folder, but it's also a "fixed path" :)

    My point is: everything else seems to be "self-contain" so they just need be put in a folder; I can "plug" the folder anywhere below the "modules" directory of any MOD then it just work -- but need to change the path in *_CIV4ArtDefines_Unit.xml.

    I think this is the only obstacle to "full plug and play" - if you have tens of units the work load is fieceable.

    Any suggestion?
     
  2. rheinig

    rheinig Chieftain

    Joined:
    Jul 24, 2008
    Messages:
    11
    >Any suggestion?
    Yup. Feasible by modifying CvGameCoreDLL.DLL. I'd "define" that any art path in a modular xml that begins with "./" is modified in the xml loader to the "full" relative path as required by the game. However, I seem to remember there is no single routine these string and only these strings always pass through, so as many changes in overrides of CvInfoBase::read are required as there are... No, wait a minute, there's an intermediate derived class CvArtInfoAsset... Well, that could cover NIF, KFM and Path elements, but there's still exceptions... I'll think about including that in my modified DLL which I'll announce shortly in this forum.
     

Share This Page