Marvel Mods

XML and MUA - Common Items => Knowledge Base - (not for questions) => Tutorials => Topic started by: Norrin Radd on August 06, 2007, 04:12PM

Title: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on August 06, 2007, 04:12PM
Anyone can post helpfull information here for importing xml1 maps or characters, etc.

1. To start off, if you're using ps2 files, you'll need to unzip the assets.zip
2. Then look in the packages (packages\generated\maps) folders for map fbs
3. Move the fbs to a folder where you want to extract them (ex: Desktop\xml1_game)
4. Use my fbExtractor to extract all the fbs into known game files (such as igbs, script, etc)
5. Convert the eng files (and any other important map files such as zoneinfo, nav files, etc.) using my xmlConverter

Now, if you want to load an xml1 level just to see what it looks like, copy over an existing game igb (ex: stark1.igb) with the xml1 igb (ex: hanger from xml1).
You then load the level using script (see Teacncum's script info from one of the py threads) or look through the py files to find out how to load a level
You will most likely load at some position outside of the level and will need to use a flying character to fly into the level area before you die. You will also most likely die if you go close to the ground.

How to Replace a game level with an xml1 one
Note that this is a quick way to see if the level will load and to see what the level will look like

How to load a xml1 level and not die:
Remove this line from the level's eng file (for example open stark1.eng and remove this line)
   killz = -450 ;
Removing this allows characters to go further down in the 'z' direction (up/down) without dying

Then, change the load points for the level that you replaced it with
Open the eng file for the xml1 level
Find lines similar to this one:
Quote<inst name="player_start" pos="1289.24 1799.58 0" extents="1269.55 1776.61 0 1309.51 1829.91 83.9544" orient="0 0 -1.65307"/>
Note the position parts of those lines -> pos = 1289.24 1799.58 0

Open the eng file for the level that you replaced it with (ex: open stark1.eng)
Find lines similar to these ones
Quoteentinst {
   type = player_start_all01 ;
      inst {
      extents = -48.0243 -95.2953 0 71.9757 48.7833 83.9544 ;
      name = player_start_all01 ;
      orient = 0 0 -1.22173 ;
      pos = -1880.12 -187.904 -117.522 ;
      }

   }
You now change the positions of the load points from the current game eng to the xml ones

For example, after the change, the new load lines should look similar to this:
Quoteentinst {
   type = player_start_all01 ;
      inst {
      extents = -48.0243 -95.2953 0 71.9757 48.7833 83.9544 ;
      name = player_start_all01 ;
      orient = 0 0 -1.22173 ;
      pos = 1289.24 1799.58 0 ;
      }

   }

Changing the load positions allow you to start in the same load positions as in the xml1 game, like this:
(http://xs218.xs.to/xs218/07321/Marvel0024.png.xs.jpg) (http://xs.to/xs.php?h=xs218&d=07321&f=Marvel0024.png)


I will add more info later, but anyone is free to add more info in this thread or ask questions
Title: Re: How to convert XML1 levels
Post by: Norrin Radd on August 08, 2007, 09:02PM
To load a level without overwriting level files

1. copy game.exe as, for example, xml1.exe
2. open xml1.exe with a hex editor and search in the text portion for the string zoneinfo.engb
3. change 'zoneinfo.engb' to, for example, 'zonexml1.engb'
4. copy zoneinfo.engb as, for example, zonexml1.engb, and decompile zonexml1.engb into zonexml1.eng
5. decide which act you want to place your xml1 level in and make the new directories as necessary, for example, to load nyc_fb1 in act1, make the directory maps\act1\nyc and packages\generated\maps\act1\nyc
7. open zonexml1.eng and change the directory of a map in the zonexml1.eng, and compile zonexml1.eng into zonexml1.engb.
For example the directory change is:
name = act1/nyc/nyc_fb1
8. Move files for new level into the packages and map folders, for example: packages/generated/maps/act1/nyc/nyc_fb1.pkgb and maps/act1/nyc/
9. Edit packages/generated/maps/act1/nyc/nyc_fb1.pkg (and the level eng file if necessary) so that it points to the right directory for all the scripts, characters, models, etc.


To load these levels you just call the script to load, for example, act1/nyc/nyc_fb1
And to run the game with this new level, run xml1.exe
Title: Re: How to convert XML1 levels
Post by: nodoubt_jr on August 08, 2007, 11:16PM
yeah ok, your tools will make it a whole lot easier.
Title: Re: How to convert XML1 levels
Post by: Norrin Radd on August 09, 2007, 04:19PM
If you want to make your other teamates to follow you in the level, use the .nav file of the level that was extracter, then convert it to xml2/mua form using xmlConverter. The form it converts it to is compatible with mua (i havent verified if it is true for xml2, but it should be). Then convert this nav file to navb using xmlbcui for example.

put the convert navb file along with the rest of the xml1 map files, for example in maps/act1/nyc/
then reference this nav file in the package file in for example packages\generated\maps\act1\nyc
After you changed/added a line to the level eng file, it should look like this:

Quote
   zonexml {
   filename = maps/act1/nyc/nyc_fb1 ;
   }

   nav {
   filename = maps/act1/nyc/nyc_fb1 ;
   }

   pkg {

notice how the nav filename points to where you put the actual navb file.

This allows your teamates to follow you around the level. It also most likely allows other characters to move around the level properly also, however i havent checked out this aspect of its functionality.
Title: Re: How to convert XML1 levels
Post by: Norrin Radd on August 09, 2007, 04:43PM
since the fb files dont contain package files, package files will either need to be created or altered from existing versions, meaning that levels simply cant be loaded by copy and pasting and converting all the files in the fbs, the package files will need to be created/reworked to reflect the level as oppose to converting xml2 levels where there was a pc version, so we have those package files.

thanks nodoubt_jr
Title: Re: How to convert XML1 levels
Post by: nodoubt_jr on August 09, 2007, 04:57PM
yeah i couldnt even get them to load until i did and added a package file to the packages folder
Title: Re: How to convert XML1 levels
Post by: Norrin Radd on August 09, 2007, 04:59PM
I think the game loads the packages file first when it loads a level, because that tells it where to look for the rest of the files like the level igb, etc.
if it cant find the package file, it just craps out
but i could be wrong
Title: Re: How to convert XML1 levels
Post by: Norrin Radd on August 10, 2007, 12:45AM
it may be possible that all that is needed to write a new pkgb file for the xml1 levels is to extract the levels fb file and see what comes out. then, put all the packaged files as new entries into the new pkgb file, as scripts or whatever they are, then add the ones that are common to all levels (these ones wont be extracted in the levels fb, but in some common fb)
Title: Re: How to convert XML1 levels
Post by: Norrin Radd on August 10, 2007, 01:48PM
How to insert xml1 objects into a level

if you want to add xml1 objects inside a level, you must:
1. put an entry for that object model (that points to the model file) in the pkg file so it looks like this for example:
Quote}

   model {
   filename = models/nyc/antennae ;
   }

   model {
In this example, antennae.igb is the model file

2. put the entry from the converted level eng file (the file that was converted from xml1 to xml2 format which contains the object that you want to import) into the new eng file of the level that you are working on (or you can simply edit the converted eng file directly if you want to load that level, see Step 3.), so it looks like:
Quote}

   entity {
   name = antennae_ny ;
   classname = physent ;
   health = 25 ;
   model = nyc/antennae ;
   material = solid_metal ;
   structure = 0 ;
   randompickups = 0 ;
   nogravity = true ;
   nopickup = true ;
   nopush = true ;
   pathignore = true ;
   cameracollide = false ;
   deathsound = death_styles/ds_metal_s ;
   deatheffect = break/break_metal ;
   fxlevel = 1 ;
   }

   entity {

3. then edit this entry so it is alphabetical order (if it is not, the game may crash to desktop!), it should look like this:
Quote}

   entity {
   cameracollide = false ;
   classname = physent ;
   deatheffect = break/break_metal ;
   deathsound = death_styles/ds_metal_s ;
   fxlevel = 1 ;
   health = 25 ;
   model = nyc/antennae ;
   material = solid_metal ;
   name = antennae_ny ;
   nogravity = true ;
   nopickup = true ;
   nopush = true ;
   pathignore = true ;
   randompickups = 0 ;
   structure = 0 ;
   }

   entity {

4. put an instance of that object in the eng file like this:
Quotenocollide = true ;
   }

   entinst {
   type = antennae_ny ;
      inst {
      name = antennae_ny ;
      pos = 2088 1368 240 ;
      orient = 0.0 -1.68587e-007 -1.5708 ;
      }

   }

   entinst {

Now the object will load in the level, and look something like this (the antenna is the xml1 object inserted):
(http://xs218.xs.to/xs218/07325/Marvel0025.png.xs.jpg) (http://xs.to/xs.php?h=xs218&d=07325&f=Marvel0025.png)


The entries not being in alphabetical order seems to crash the game to desktop, so each entry in the level eng file should be changed to alphabetical order
Title: Re: How to convert XML1 levels (includes alphabetizer V1.0)
Post by: Norrin Radd on August 10, 2007, 06:40PM
Just to make it easier on people converting XML1 files, i made a program that converts all the 'entity' entries of a converted XML1 -> XML2 file into alphabetical order

alphabetizer V1.0 By Norrin Radd Released
http://www.sendspace.com/file/72itoy

=====How to use alphabetizer=====
Put alphabetizer.exe in c:\windows
On the XML1 file, right click and select "open with"
Check "always open these types of file with it"
The entity parts are then alphabetized into eng MUA compatible style after double-click
The new alphabetized files are named alphaFILENAME, where FILENAME is the file which was double clicked on


An example:
Before conversion:
Quoteactleader = true ;
   ignoretelekinesis = true ;
   }

   entity {
   name = antennae_ny ;
   classname = physent ;
   health = 25 ;
   model = nyc/antennae ;
   material = solid_metal ;
   structure = 0 ;
   randompickups = 0 ;
   nogravity = true ;
   nopickup = true ;
   nopush = true ;
   pathignore = true ;
   cameracollide = false ;
   deathsound = death_styles/ds_metal_s ;
   deatheffect = break/break_metal ;
   fxlevel = 1 ;
   }

   entity {
   name = barricade_barrel_ny ;
   classname = physent ;
   health = 25 ;

After conversion:
Quoteteam = hero ;
   toggleonact = false ;
   }

   entity {
   cameracollide = false ;
   classname = physent ;
   deatheffect = break/break_metal ;
   deathsound = death_styles/ds_metal_s ;
   fxlevel = 1 ;
   health = 25 ;
   material = solid_metal ;
   model = nyc/antennae ;
   name = antennae_ny ;
   nogravity = true ;
   nopickup = true ;
   nopush = true ;
   pathignore = true ;
   randompickups = 0 ;
   structure = 0 ;
   }

   entity {
   classname = physent ;
   deatheffect = break/break_plastic ;
   deathsound = death_styles/ds_plastic_s ;
   deathspawn = barricade_barrel_ny_b ;

After conversion, these entries are now compatible with MUA

Title: Re: How to convert XML1 levels (includes alphabetizer V1.0)
Post by: Norrin Radd on August 10, 2007, 06:49PM
this program makes it way easier to import objects

(http://xs218.xs.to/xs218/07326/Marvel0029.png.xs.jpg) (http://xs.to/xs.php?h=xs218&d=07326&f=Marvel0029.png)
Title: Re: How to convert XML1 levels (includes alphabetizer V1.0)
Post by: nodoubt_jr on August 10, 2007, 07:11PM
once again  :bowdown1: , alphabatizing is a major thing, i forgot to do it when i was working on the Mansion Arena and it crashed, but later after sorting it out it loaded find.  thanks.
Title: Re: How to convert XML1 levels (includes alphabetizer V1.0)
Post by: Norrin Radd on August 10, 2007, 07:16PM
np, let me know if you have problems with the program
Title: Re: How to convert XML1 levels (includes alphabetizer V1.0)
Post by: nodoubt_jr on August 10, 2007, 07:21PM
ok :)
Title: Re: How to convert XML1 levels (includes alphabetizer V1.0)
Post by: Norrin Radd on August 10, 2007, 07:53PM
i was able to load a level off the original xml1 eng file after i converted it and used my alphabetizer on it, i just changed the characters in the levels to ones that i had in my npcstat, and i also made my own package file.
the problems i had were that it would only load sometimes (although the original loadpoint styles worked for some locations), and sometimes it would crash at random spots in the level, and the enemies would run all over and dissapear into thin air

when i made the eng file based off the stark one it worked fine, its just when i used the original one there were some bugs
Title: Re: How to convert XML1 levels (includes alphabetizer V1.0)
Post by: Norrin Radd on August 10, 2007, 08:17PM
To make XML1 load points MUA compatible

these are things you can replace/add to make xml1 extraction points MUA compatible

replace something that looks like (int the xml1 eng file):
Quote
   entity {
   actleader = true ;
   actmatchteam = true ;
   actonuse = true ;
   actscript = extractionPointLite('_OWNER_','false','false','false','false','false') ;
   actsound = common/game/xtraction ;
   acttogglesanim = false ;
   animstarton = true ;
   classname = gameent ;
   description = Xtraction Point ;
   ignoretelekinesis = true ;
   model = puzzles/beacon_xtraction_saveonly ;
   name = xtraction_point_sidemission ;
   nogravity = true ;
   nopickup = true ;
   nopush = true ;
   quickuse = true ;
   team = hero ;
   toggleonact = false ;
   }


with something that looks like:

Quote   entity {
   actleader = true ;
   actmatchteam = true ;
   actonuse = true ;
   actscript = common/extraction/exp_activate ;
   actsound = common/game/xtraction ;
   acttogglesanim = true ;
   acttogglesloopfx = true ;
   animstarton = false ;
   classname = gameent ;
   description = S.H.I.E.L.D. Access Point ;
   extent = -30 -30 0 30 30 60 ;
   fxlevel = 1 ;
   ignoretelekinesis = true ;
   loopfx = base/misc/extraction_loop ;
   loopfxstarton = false ;
   model = common/extraction_point ;
   name = xtraction_point ;
   nogravity = true ;
   nopickup = true ;
   nopush = true ;
   quickuse = true ;
   resetstate = true ;
   spawnscript = common/extraction/exp_spawn ;
   team = hero ;
   }

replace something that looks like this (in the xml1 eng file):

Quote   entinst {
   type = xtraction_point_sidemission ;
      inst {
      name = xtraction_point_sidemission ;
      pos = 951.436 1533.19 6.60472 ;
      }

   }

with something that looks like this (note you should change the 'pos' location numbers so they match the ones you are replacing them with, which i have done here):

Quote   entinst {
   type = xtraction_point ;
      inst {
      name = xtraction_point ;
      pos = 951.436 1533.19 6.60472 ;
      }

   }



add something that looks like:

Quote   entity {
   actcountremove = 1 ;
   acteffect = base/misc/extraction_burst ;
   actleader = true ;
   actmatchteam = true ;
   actontouch = true ;
   actscript = common/extraction/exp_trig ;
   actsound = common/game/extraction ;
   actteamplayer = true ;
   acttogglesloopfx = true ;
   boxcollision = true ;
   classname = gameent ;
   extent = -120 -120 0 120 120 72 ;
   fxlevel = 2 ;
   loopfx = base/misc/extraction_loop ;
   loopfxstarton = true ;
   name = expt_trig ;
   nocollide = true ;
   nogravity = true ;
   nopickup = true ;
   nopush = true ;
   persistent = false ;
   resetstate = true ;
   team = hero ;
   }

now you'll have mua extraction points where you can save and change team instead of extraction points that potentially dont work
Title: Re: How to convert XML1 levels (includes alphabetizer V1.0)
Post by: Norrin Radd on August 11, 2007, 05:42PM
in xml1 the level automaps are stored as igbs as oppose to zam files (which is what xml2 and mua use) so i'm not sure it they will be usable.
if you dont include a zam entry in the pkg file, then an automap wont load, and if you do call a zam entry from the pkg file (just not the one for the xml1 level loaded) and use the entry in the original xml1 eng, which is:
   automap_offset = -50 -30 ;
   automap_texture = automap_texture_file ;
then it still only loads the zam file as the automap as oppose to the xml1 automap igb
Title: Re: How to convert XML1 levels (includes alphabetizer V1.0)
Post by: nodoubt_jr on August 11, 2007, 06:25PM
so automaps are unusable?  i had not even noticed it was gone until you mentioned it.
Title: Re: How to convert XML1 levels (includes alphabetizer V1.0)
Post by: Norrin Radd on August 11, 2007, 06:47PM
i think they are unusable, i tried different things to get them to work, but they never did

i do remember when i started playing with the level that i saw a map that closely matched the xml1 level i was playing, but i must have not seen it clearly

if you get them to work, let me know please
Title: Re: How to convert XML1 levels (includes alphabetizer V1.0)
Post by: nodoubt_jr on August 11, 2007, 06:59PM
ok i will. i just looked at the zam file with texture finder and nothing really shows up that looks like anything, while the igb automaps for XML1 show up like a little map.  I agree with you they might not be usable.
Title: Re: How to convert XML1 levels (includes alphabetizer V1.0)
Post by: Norrin Radd on August 11, 2007, 07:01PM
yeah, i did the same thing, haha,
the zam file might just contain boundaries and other info instead of an actual picture such as the igb has
Title: Re: How to convert XML1 levels (includes alphabetizer V1.0)
Post by: nodoubt_jr on August 11, 2007, 07:06PM
yeah im guessing that too, its just a layout.  Nothing readable shows up if you open it with a hex-editor.
Title: Re: How to convert XML1 levels (includes alphabetizer V1.0)
Post by: Norrin Radd on August 11, 2007, 07:08PM
yeah, i checked that too, haha, its really too bad that they dont seem compatible. Its not a huge loss, but its still a loss nonetheless, ah well, after working on it for a while trying to get it to work i just gave up and figured it wasnt worth it any more
Title: Re: How to convert XML1 levels (includes alphabetizer V1.0)
Post by: Norrin Radd on August 11, 2007, 07:20PM
hopefully we will be able to convert complete levels
Title: Re: How to convert XML1 levels (includes alphabetizer V1.0)
Post by: Teancum on August 11, 2007, 10:03PM
By the way, I call nyc_fb4.  It's the fourth part of the NYC Flashback.  I just happened to start it, and I've got quite a bit of it done.  I figure I'll do it and add it to any other flashback levels others have.  It also is the perfect size for a Danger Room level, so I'll be turning it over to nodoubt when it comes time for that.

I'm also calling Wolverine's flashback mission.  I sooooo want to replace Wolverine's sim mission with the flashback. :D

***EDIT***

ZAM files might just be coordinates like Norrin said, but the automap itself might actually be stored in XML2 world IGBs.  Someone should open a XML2 level in TextureFinder and look for the minimap.
Title: Re: How to convert XML1 levels (includes alphabetizer V1.0)
Post by: Norrin Radd on August 11, 2007, 11:11PM
How to include effects into xml1 levels without importing them (see later in this thread for more examples)

i remember Teancum saying somewhere that the effects for xml1 are present in the xml2 game. Some of them are also present for MUA, so if you are using the converted xml1 level eng file, you need to change instances of the xml1 effects for those in MUA.

for example, for a wood breaking effect, i needed to change
Quote   deatheffect = break/break_wood ;
which is in the xml1 level eng file (this effect file is also present in the extracted fb)

with (notice how they are similar but slightly different)
Quote   deatheffect = base/material/break/brk_wood ;
because the effect for MUA is stored in a different location. There may be multiple instances of these effects within the file, so they will need to be changed. Once they are changed to point where the actual effect file exists, the effect will show up in game.
Title: Re: How to convert XML1 levels (includes alphabetizer V1.0)
Post by: BliZZ on August 11, 2007, 11:15PM
Awesome work, Norrin :thumbsup: Hopefully you'll be able to get some fully playable levels up and running soon :)
Title: Re: How to convert XML1 levels (includes alphabetizer V1.0)
Post by: Norrin Radd on August 11, 2007, 11:34PM
Quote from: BliZZ on August 11, 2007, 11:15PM
Awesome work, Norrin :thumbsup: Hopefully you'll be able to get some fully playable levels up and running soon :)
thanks, i hope so too!

Here is a list of effects that i came across that can be changed without having to convert them from xml1. They are devided into groups, the first line is what was in the original xml1 eng level file, the second line is what it can be replaced with. I verified and these should also work for XML2 (looking your way nodoubt_jr) because xml2 has all these effects in the indicated folders. MUA seems to be missing some of them, so i had to take them from xml2. By the way, the game looks WAY better when these effects are added, so stuff actually looks like it broke instead of just disappearing, but i'm sure you guys know all about this already.


Quote   deatheffect = break/break_plastic ;
   deatheffect = base/material/break/brk_plastic ; (had to take this one from xml2)

   deatheffect = break/break_rubber ;
   deatheffect = base/material/break/brk_rubber ; (had to take this one from xml2)

   deatheffect = break/break_wood ;
   deatheffect = base/material/break/brk_wood ;

   deatheffect = break/break_metal ;
   deatheffect = base/material/break/brk_metal ;

   deatheffect = break/break_paper ;
   deatheffect = base/material/break/brk_paper ;

   deatheffect = break/break_glass ;
   deatheffect = base/material/break/brk_glass ;

   deatheffect = explode/explode_metal ;
   deatheffect = base/material/explode/exp_metal ;

   deatheffect = break/break_junk ;
   deatheffect = base/material/break/brk_junk ;

   deatheffect = break/break_electric ;
   deatheffect = base/material/break/brk_electric ;

edit:
by the way, anyone who wants to can add to this list
Title: Re: How to convert XML1 levels (includes alphabetizer V1.0)
Post by: nodoubt_jr on August 12, 2007, 12:45PM
Quote from: Norrin Radd on August 11, 2007, 11:34PM
I verified and these should also work for XML2 (looking your way nodoubt_jr) because xml2 has all these effects in the indicated folders.

oh yeah, i didnt convert anything, i just looked for the folder (the only one i couldnt find was called break-t-mansion, or something like that).  They all work perfect.

heres some other breaking ones

   deatheffect = break/break_astral ;
   deatheffect = base/material/break/brk_astral ;

   deatheffect = break/break_carpet ;
   deatheffect = base/material/break/brk_carpet ;

   deatheffect = break/break_plant ;
   deatheffect = base/material/break/brk_plant ;

   deatheffect = break/break_upholstery ;
   deatheffect = base/material/break/brk_upholstery ;

@Teancum "It also is the perfect size for a Danger Room level, so I'll be turning it over to nodoubt when it comes time for that."
sure, im having lots of fun with the two arenas i converted.

im probably going to start working on a level that takes place inside the mansion, is there a dangerroom mansion mission/level?  First im going to go check out my conversions and check and add anything that might not be here yet.
Title: Re: How to convert XML1 levels (includes alphabetizer V1.0)
Post by: BliZZ on August 12, 2007, 12:53PM
Juggernaut Flashback is in the Mansion.
Title: Re: How to convert XML1 levels (includes alphabetizer V1.0)
Post by: nodoubt_jr on August 12, 2007, 12:54PM
ok thanks, i'll get started on that one as soon as im done with Capt America for XML2

edit: just looked at it, it shouldnt be too hard to do.
Title: Re: How to convert XML1 levels (includes alphabetizer V1.0)
Post by: Norrin Radd on August 21, 2007, 03:29PM
npcstat entries for converted xml1 characters (they will need to be changed to alphabetical order before they will work)

KidDenise
Skin number changed from 5101
   stats {
   name = KidDenise ;
   charactername = Denise ;
   skin = 7531 ;
   }

screenshot for KidDenise skin (she's the one running away, in orange):
(http://xs218.xs.to/xs218/07343/Marvel0034.png.xs.jpg) (http://xs.to/xs.php?h=xs218&d=07343&f=Marvel0034.png)

here's another one (the dots dont actually appear in the game, just when i took the screenshot it looks like that)
(http://xs118.xs.to/xs118/07343/Marvel0032.png.xs.jpg) (http://xs.to/xs.php?h=xs118&d=07343&f=Marvel0032.png)

CivilianFemale
Skin number changed from 5102
   stats {
   name = CivilianFemale ;
   charactername = Civilian ;
   skin = 7532 ;
   willflee = true ;
   fleedistance = 60 ;
   powerstyle = ps_civilian ;
   characteranims = 75_civilians_male ;
      Talent {
      name = fightstyle_hero ;
      level = 1 ;
      }

      Race {
      name = Human ;
      }

   }

screenshots for CivilianFemale skin (she has a cool little hoodie on and the strings sway as she moves)
(http://xs118.xs.to/xs118/07343/Marvel0036.png.xs.jpg) (http://xs.to/xs.php?h=xs118&d=07343&f=Marvel0036.png)

(http://xs118.xs.to/xs118/07343/Marvel0037.png.xs.jpg) (http://xs.to/xs.php?h=xs118&d=07343&f=Marvel0037.png)



edit:
i changed the number scheme so they would not conflict with mua numbers

edit:
thanks T,

i updated the 75XX file to contain: 7531, 7532, and 75_civilians_male igbs, 7531 and 7532 package files, and the updated hud that they share (7531, originally 5101), and the converted powerstyle that civilianfemale uses

edit
updated again to include 7533 (business suit female civilian)
http://www.sendspace.com/file/0i33p2
Title: Re: How to convert XML1 stuff (includes alphabetizer V1.0)
Post by: Norrin Radd on August 22, 2007, 07:38AM
more possible redundant effects

in xml1:
Quotefilename = weapons/missile/missile_trail ;

changed to:
Quotefilename = base/weapon/missile/missile_trail ;

Possibly can also replace (not sure if there are lrgexp2 or lrgexp3, etc.)
Quotefilename = explode/lrgexp1 ;
   filename = explode/medexp1 ;
   filename = explode/smexp1 ;

with:
Quotefilename = base/material/explode/exp_generic_lrg ;
   filename = base/material/explode/exp_generic_med ;
   filename = base/material/explode/exp_generic_sml ;
Title: Re: How to convert XML1 stuff (includes alphabetizer V1.0)
Post by: nodoubt_jr on August 22, 2007, 10:34AM
also anything with a t in it at the beggining for effects, like

deatheffect = break/t_masion ;
is a tile, so it should actually be

   deatheffect = base/material/tile/tile_mansion ;
Title: Re: How to convert XML1 stuff (includes alphabetizer V1.0)
Post by: Norrin Radd on August 22, 2007, 04:32PM
i was trying to add the sentinel to the level, and i got everything converted but he wouldnt load, it was always defaultman. Then i decided to change the npcstat into alphabetical order, and there you go, he's in the level (minus some arms).

do we know which files must have all entries in alphabetical order? It would be a REAL pain to have to alphabetize every single entry of every single file

(http://xs118.xs.to/xs118/07344/Marvel0043.png.xs.jpg) (http://xs.to/xs.php?h=xs118&d=07344&f=Marvel0043.png)
Title: Re: How to convert XML1 stuff (includes alphabetizer V1.0)
Post by: BliZZ on August 22, 2007, 04:37PM
I can tell you that effects do NOT have to be alphabetized.
Title: Re: How to convert XML1 stuff (includes alphabetizer V1.0)
Post by: Norrin Radd on August 22, 2007, 04:37PM
ok thats a big relief, thanks

edit:
im pretty sure alphabetizing the fightstyle and powerstyle had an effect
Title: Re: How to convert XML1 stuff (includes alphabetizer V1.0)
Post by: nodoubt_jr on August 22, 2007, 06:52PM
yes powerstyle, entities, fightstyle, movestyle, maps, pretty much everything that is not an effect needs to be alphabatized.
Title: Re: How to convert XML1 stuff (includes alphabetizer V1.0)
Post by: Norrin Radd on August 22, 2007, 06:56PM
ok thanks

edit:
that sucks, even conversations have to be alphabetized
Title: Re: How to convert XML1 stuff (includes Ultimate Alphabetizer V1.2)
Post by: Norrin Radd on August 23, 2007, 06:33PM
great news for a very few:

Ultimate Alphabetizer by Norrin Radd RELEASE V1.2
I have created a program that alphabetizes most mua/xml2 files to help when converting the xml1 ones (since after you convert the xml1 ones with xmlconverter, they are not in alphabetical order, and they never were)
(works for conversations, level engs, powerstyle, etc.)

Version 1.2 New!
http://www.sendspace.com/file/inpsde

Enjoy!

===== how to use it =====
Put alphabetizer.exe in c:\windows or any directory
On the file you want alphabetized, right click and select "open with"
Check "always open these types of file with it"
The parts within brackets are then alphabetized into MUA compatible style after double-click
The new alphabetized files are named FILENAME.alpha, where FILENAME is the file which was double clicked on

Or
open it with command prompt and type:
alphabetizer.exe FILENAME

Title: Re: How to convert XML1 stuff (includes Ultimate Alphabetizer V1.2)
Post by: Norrin Radd on August 23, 2007, 06:46PM
i'm not sure if anyone else encountered this problem but:

To get the zone link to work properly (to exit the level) I had to remove the extents line.
Original (the link to escape the level does not appear in the level):
Quoteentinst {
   type = zone_link01 ;
      inst {
      extents = 12 1500 0 24 2088 480 ;
      name = zone_link01 ;
      pos = 18 1794 0 ;
      }

   }

After the removal (it now works):
Quoteentinst {
   type = zone_link01 ;
      inst {
      name = zone_link01 ;
      pos = 18 1794 0 ;
      }

   }

So i suggest anyone working on xml1 levels also removes this line from the zone link entries (if they are having problems not finding the zone link in the level), unless someone knows why this is happening to me.
Title: Re: How to convert XML1 stuff (includes Ultimate Alphabetizer V1.2)
Post by: Norrin Radd on August 28, 2007, 04:44PM
ok i know what was wrong with the extents now:
In the level eng's the 'extent' entries are in a different format in xml1 compared to xml2 and mua.
the mua/xml2 format is:
-x -y -z +x +y +z
where the -'s represent how far the object goes on the negative side from the 'pos' x,y,z positions and the +'s are the other side
xml1 format:
x1 y1 z1 x2 y2 z2
where the 1 positions are on the negative side from the 'pos' positions, and the 2's are on the other side

how to convert the 'extent' entries
example: you start with
Quoteentinst {
   type = zone_link01 ;
      inst {
      extents = 12 1500 0 24 2088 480 ;
      name = zone_link01 ;
      pos = 18 1794 0 ;
      }

   }
note it is in xml1 format. Now you take the three values on the left and do:
x1 - xpos = -x, y1 - ypos=-y, z1 - zpos=-z
x2 - xpos=+x, y2 - ypos=+y, z2 - zpos=+z
after the conversion it looks like:
Quoteentinst {
   type = zone_link01 ;
      inst {
      extents = -6 -294 0 6 295 480 ;
      name = zone_link01 ;
      pos = 18 1794 0 ;
      }

   }
Note how there are negative and positive values. Now it has been converted.

I will likely make a program that fixes this automatically because there are so many 'extent' entries, but until then you will have to do this manually
Title: Re: How to convert XML1 stuff (includes Ultimate Alphabetizer V1.2)
Post by: Norrin Radd on August 28, 2007, 06:47PM
extentConverter by Norrin Radd RELEASE V1.0
I have created a program that converts the 'extent' entries in xml1 level eng's to mua/xml2 format.

Version 1.0 New!
http://www.sendspace.com/file/a5nwj3

===== how to use it =====
Put extentConverter.exe in c:\windows or any directory
On the file you want converted, right click and select "open with"
Check "always open these types of file with it"
The parts within brackets are then converted into MUA compatible style after double-click
The new converted files are named FILENAME.conv, where FILENAME is the file which was double clicked on

Or
open it with command prompt and type:
extentConverter.exe FILENAME

IMPORTANT NOTES
Your file MUST be alphabetized for this program to work correctly, so alphabetize it first!!
If some of the extents have been converted already, it will screw them up.

enjoy!
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on August 28, 2007, 07:50PM
since the game flags in xml1 are not in mua, you may have to improvise. Also the convension used may not be compatible.
The convension used in xml1 is getMissionFlag and setMissionFlag, but in mua its getGameFlag and setGameFlag. What i mean by improvise is you may have to use variables used in the actual game. I will give an example below.

In nyc2 (fb2) there is a variable required called "nyc_fb", but it doesnt exist in mua. Instead i used "stark" variable which is in the game. Because when you start the level the variable should be a certain way, but this wasnt in the level load up script, i found that the variable should not be a 1 to start, so i put this line in the start up level script nyc_fb2.py
QuotesetGameFlag("stark", 6, 0 )
so i set the "stark" variable #6 to 0
then in another script file that uses the variables i made the following changes:
Original
QuoteiNYC2Done = getMissionFlag("nyc_fb", 2 )
if iNYC2Done != 1
     setMissionFlag("nyc_fb", 2, 1 )
     objective ( "sentinel2",  "EOBJCMD_INCREMENT" )
else
     setEnable("zone_link02", "TRUE" )
     setEnable("trigger_touch01", "TRUE" )
     setEnable("trigger_touch04", "FALSE" )
     objective ( "sentinel2",  "EOBJCMD_INCREMENT" )
endif

After Changes:
QuoteiNYC2Done = getGameFlag("stark", 6 )
if iNYC2Done != 1
     objective ( "sentinel2",  "EOBJCMD_INCREMENT" )
     setGameFlag("stark",6,1)
else
     setEnable("zone_link02", "TRUE" )
     setEnable("trigger_touch01", "TRUE" )
     setEnable("trigger_touch04", "FALSE" )
     objective ( "sentinel2",  "EOBJCMD_INCREMENT" )
endif

After the changes, the level acts just like it should, but uses the mua variable instead of the one that doesnt exist in the game. it also uses a different convension (script functions) to call and change the variable
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Teancum on August 28, 2007, 08:09PM
Hmm, I wonder where the variables hide...  I always thought it was a dynamic variable.  I.E. if that variable is not already built in it creates it, then logs it to the savegame as needed.  I didn't find any stark references in the exe or codex.engb.
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on August 28, 2007, 08:20PM
im not sure, it may be dynamic, however when i used the old convension it didnt work, so i just used the new convension and used 'stark' . i could try using the new convension with the old variable 'nyc_fb' and see if it works.

however, i think some variables have multiple layers (or elements like an array) (like i was using variable 6 of stark), so if that is dynamic, im not sure how it would keep track of how many layers/elements a variable has
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: nodoubt_jr on August 28, 2007, 11:27PM
thanks for the new converter, i'll try it out later. hopefully this fixes whatever issues i seem to be having.
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on August 29, 2007, 03:33PM
ok, i found out that yes, you can make your own variables, but the scripts that call them using xml1 convension is not compatible  with mua (and not for xml2 also)

In the scripts i had to change the entries from getMissionFlag() to getGameFlag() and setMissionFlag() to setGameFlag().

As an example:
Original (not working, the game never finds that 'nyc_fb=1')
QuoteiNYC2Done = getMissionFlag("nyc_fb", 2 )
if iNYC2Done != 1
     setMissionFlag("nyc_fb", 2, 1 )
     objective ( "sentinel2",  "EOBJCMD_INCREMENT" )
else
     setEnable("zone_link02", "TRUE" )
     setEnable("trigger_touch01", "TRUE" )
     setEnable("trigger_touch04", "FALSE" )
     objective ( "sentinel2",  "EOBJCMD_INCREMENT" )

After change (working):
QuoteiNYC2Done = getGameFlag("nyc_fb", 2 )
if iNYC2Done != 1
     objective ( "sentinel2",  "EOBJCMD_INCREMENT" )
     setGameFlag("nyc_fb", 2, 1 )
else
     setEnable("zone_link02", "TRUE" )
     setEnable("trigger_touch01", "TRUE" )
     setEnable("trigger_touch04", "FALSE" )
     objective ( "sentinel2",  "EOBJCMD_INCREMENT" )

so no need to improvise, just need to convert the convension

edit:
thanks T.
So these should be changed for MUA AND XML2
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Teancum on August 29, 2007, 04:00PM
Just FYI, XML2 uses GetGameFlag/SetGameFlag, so it's the same.
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on August 30, 2007, 03:56PM
if the camera is not following your characters, and instead only stays stuck at some spots until you move into certain areas, you may have to remove some camera magnets from the level eng.

For example, in nyc3 (nyc_fb3) there are camera magnets and the camera will not follow your characters through small alleys, so basically you cant see what you are doing. Once i removed the camera magnets, the camera followed me through the alleys. What you lose when you remove these is the camera locking into a certain position, it can look around, but physically wont move.
Here are the lines i had to remove:
Quoteentinst {
   type = camera_magnet05 ;
      inst {
      extents = -800 -900 0 800 900 480.001 ;
      name = camera_magnet05 ;
      pos = 2181.86 2961.08 0.369495 ;
      }

   }

   entinst {
   type = camera_magnet02 ;
      inst {
      extents = -449.995 -450 0 450 450.004 480.001 ;
      name = camera_magnet02 ;
      pos = 1427.37 853.536 0.369495 ;
      }

   }

   entinst {
   type = null ;
      inst {
      extents = -6 -6 0 6 6 12 ;
      name = cm5 ;
      pos = 2159.25 3359.95 468 ;
      }

      inst {
      extents = -6 -6 0 6 6 12 ;
      name = cm2 ;
      pos = 1793.46 726.449 468 ;
      }

   }


... some other level info in between


   entity {
   actleader = true ;
   actmatchteam = true ;
   boxcollision = true ;
   cameramagtype = 3 ;
   cameratarget = cm2 ;
   classname = cameramagnetent ;
   name = camera_magnet02 ;
   nocollide = true ;
   team = hero ;
   }

   entity {
   actleader = true ;
   actmatchteam = true ;
   boxcollision = true ;
   cameramagtype = 3 ;
   cameratarget = cm5 ;
   classname = cameramagnetent ;
   name = camera_magnet05 ;
   nocollide = true ;
   team = hero ;
   }
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on August 31, 2007, 08:04AM
I got the policemen's (5803.igb converted to 7563) guns to show up, i added this in their npcstat entry:
QuoteBoltOn {
      bolt = Bip01 R Hand ;
      model = models/weapons/pistol_rhand ;
      slot = ebolton_weapon ;
      }
they still dont shoot, they just punch, but they do have guns now

On a side note, the Ultimate Alphabetizer alphabetizes capital letters first, so watch out if you have any capital entries in your files as it wont alphabetize everything properly then, i saw some that were capitalized and some that weren't in the power and fightstyles, so i had to do a bit of manual changing.
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on September 01, 2007, 01:48PM
when i was putting act1/man/mansion1 together i notice that the game crashed when i added conversations and scripts to the pkg file (there are many). The only way i could fix this was by putting the script and conversation entries in the pkg file in the same order as they were in the fb file. so apparently the order matters, although ive only had this problem for mansion1 so far.

Does anyone know how to get characters in levels to follow you for mua? right now the script file that is used to get Phoenix to follow me is:
setFollowingHero("phoenix", "TRUE" )
but it doesnt work
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverte
Post by: BliZZ on September 01, 2007, 01:51PM
I'd check Super Skrull/Paibok from MUA (when they follow you)
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on September 01, 2007, 01:53PM
ill check it out, thanks

edit:
hm, it didnt work, it was:
beATeamPlayer("phoenix", "TRUE" )
maybe it is different because she in the herostat though, im not sure
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverte
Post by: BliZZ on September 01, 2007, 02:03PM
Maybe you could try changing all the references to "PhoenixSimple"? (who would be in the npcstat)
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on September 01, 2007, 02:11PM
thanks for the suggestion, she still doesnt want to move however :(
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverte
Post by: Norrin Radd on September 08, 2007, 12:32PM
for some reason the entries (from the level eng):
Quoteentity {
   alpha = 0.35 ;
   ambienteffect = misc/waterMove ;
   classname = waterent ;
   density = 10 ;
   gridsize =  ;
   name = water ;
   nocollide = true ;
   splasheffect = misc/waterEntry ;
   texture = textures/water.png ;
   texturescale =  ;
   wakeeffect = base/misc/misc_waterwake ;
   xscroll =  ;
   yscroll =  ;
   }

and
Quoteentinst {
   type = water ;
      inst {
      extents = -1319.99 -624 0 1320 624 30 ;
      name = water ;
      pos = 1859.5 2301.76 -150.616 ;
      }

   }

led to the game freazing at the load screen, even when all the effects and textures were there, i found them in act0/nyc3. When i removed them the level ran fine.

edit:
I believe the freezing happened when the line gridsize was left empty. If it is empty, try removing just that line, and it should no longer freeze the game.
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on September 09, 2007, 01:24PM
for some reason MUA doesnt like those water entities, i had to remove these to get Haarp1 to load

Quoteentinst {
   type = water01 ;
      inst {
      extents = -420 -1200 0 420 1200 24 ;
      name = water01 ;
      pos = 255.306 159.008 -214.795 ;
      }

   }

   entinst {
   type = water03 ;
      inst {
      extents = -833.87 -540.672 0 833.868 540.67 134.495 ;
      name = water03 ;
      pos = -1001.49 -693.508 -139.274 ;
      }

      inst {
      extents = -747.507 -439.372 0 747.5 439.373 26.6287 ;
      name = water03 ;
      pos = 1120.44 -73.8846 -18.02 ;
      }

   }

and
Quoteentity {
   alpha = 0.8 ;
   ambienteffect = misc/waterMove ;
   classname = waterent ;
   density = 10 ;
   gridsize =  ;
   name = water03 ;
   nocollide = true ;
   splasheffect = misc/waterEntry_haarp ;
   texture = textures/water_haarp.png ;
   texturescale =  ;
   wakeeffect = misc/waterSplash_haarp ;
   xscroll =  ;
   yscroll =  ;
   }

   entity {
   alpha = 0.8 ;
   ambienteffect = misc/waterMove ;
   classname = waterent ;
   density = 10 ;
   gridsize =  ;
   name = water01 ;
   nocollide = true ;
   splasheffect = misc/waterEntry_haarp ;
   texture = textures/water_haarp.png ;
   texturescale =  ;
   wakeeffect = misc/waterSplash_haarp ;
   xscroll =  ;
   yscroll =  ;
   }
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on September 09, 2007, 02:00PM
to make enemies huff and puff like they are in the cold (so breath clouds or whatever you want to call them) put this line in the level eng, in the first entity definition
Quotecold = true ;
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: nodoubt_jr on September 09, 2007, 02:49PM
thats weird about the water entities,
arena_arb2 has them and they loaded alright in XML2

(http://i5.photobucket.com/albums/y170/nodoubt_jr/XMenLegends0020-1.jpg)
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverte
Post by: Norrin Radd on September 09, 2007, 02:52PM
yeah, im not sure why, but it always freezes the game, even on different levels
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: nodoubt_jr on September 09, 2007, 03:01PM
did you use the effects from the base/misc ? because they dont really add up.  What i mean is that just cause and effect is called "misc/waterSplash" does not mean "misc_watersplash.XMLB" is its MUA version.  I opened them up and they dont match. This is how its suppose to go

   wakeeffect = misc/waterSplash
   wakeeffect = base/misc/misc_waterwake ;

splasheffect="misc/waterEntry
   splasheffect = base/misc/misc_watersplash ;

ambienteffect="misc/waterMove
   ambienteffect = base/misc/misc_waterambient ;

the only one i needed but couldn find is "ambient/waterspill_tall"
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverte
Post by: Norrin Radd on September 09, 2007, 03:12PM
yeah i saw the names didnt match, thanks for posting them though, but im not sure if it matters whether the effects are present or not. i figure it could be the problem, but i usually initialy test levels with all the effects missing and this is the first time i had the problem, with these water ones

a few others
xml1 effect 'ambient/cold_breath' = mua effect 'base/misc/cold_breath'
and 'ambient/weathersnow' = 'map/common/weather_snow_light'
break/t_haarp_int = base/material/tile/tile_haarp_int
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on September 09, 2007, 09:46PM
to change walls (and possible other structures) to break, change the line in the entity from 'structure = x ;' to 'structure = 1 ;'

for example:
before (wall doesnt break)
Quoteentity {
   classname = tileent ;
   deatheffect = base/material/tile/tile_haarp_int ;
   deathsound = death_styles/t_haarp_int ;
   deathspawn = tile_hall_haarp ;
   fxlevel = 3 ;
   health = 100 ;
   material = solid_metal ;
   name = tile_hall_haarp ;
   structure = 2 ;
   tilemodelfolder = tiles/haarpint/ ;
   }

After, wall breaks
Quoteentity {
   classname = tileent ;
   deatheffect = base/material/tile/tile_haarp_int ;
   deathsound = death_styles/t_haarp_int ;
   deathspawn = tile_hall_haarp ;
   fxlevel = 3 ;
   health = 100 ;
   material = solid_metal ;
   name = tile_hall_haarp ;
   structure = 1 ;
   tilemodelfolder = tiles/haarpint/ ;
   }

This works for MUA and xml2.

What did i get this to fix:
1. now the table and walls in juggrnt1 are breakable, as they should be
2. the walls that are suppose to break in haarp5 can break, so you can continue through the level
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on September 15, 2007, 04:41PM
ps2 xml1 Load screens are fully compatible

edit:
for this loadscreen i put the xml1 load screens in a folder called 'textures/loadingxmen' and then put this line in the zoneinfo file:
Quote   loading = textures/loadingxmen/ice_tunnels ;
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverte
Post by: BliZZ on September 16, 2007, 09:31AM
That's cool, although it'd be better (imo) if we could get versions without the black strip and the words. I know Cates was working on a bunch of Wallpapers (including Green Phoenix, which we need....), but he hasn't been active in a long time.

Also, why the new folder? Couldn't it have just been in the same folder? Just asking.
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on September 16, 2007, 09:33AM
i actually really like them the way they are.
why the new folder, so they dont overwrite the existing ones (ex: 0101.igb , ..........)
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverte
Post by: BliZZ on September 16, 2007, 09:36AM
I guess for maps and stuff it is OK, but some of the maps use their bosses (Marrow, Toad, Blob, etc) as the loading screen, and it'd be kinda nice if the character ones matched up with MUA character ones.

If they have different names, they shouldn't overwrite existing ones, I should think. Plus, I think review_paths uses those specific folders. If not, nevermind.
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on September 16, 2007, 09:39AM
yeah, but for me i would rather have the xml1 loading screen when fighting an xml1 boss, just so it seems more like xml1, and yes if they have different names they dont overwrite, but many of the character ones have the same number, and i'm not going to change all the numbers in the folder, then make a list of numbers i changed, then find the references for all the changed numbers and update them, too time consuming in my opinion, so i just use a new folder.
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on September 16, 2007, 09:42AM
here is an example of the entry in review paths
Quoteitem {
   name = Captain America ;
   type = load ;
   value = textures/loading/0701 ;
   }

so it should be changeable to the new folder
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on September 16, 2007, 09:48AM
here is an updated list of review_paths from xml1, only the loading screens, where all the folder names have been changed

Quoteitem {
   name = Acolytes ;
   type = load ;
   value = textures/loadingxmen/acolytes ;
   }

   item {
   name = Alison ;
   type = load ;
   value = textures/loadingxmen/alison ;
   }

   item {
   name = Astral Plane ;
   type = load ;
   value = textures/loadingxmen/astral ;
   }

   item {
   name = Avalanche ;
   type = load ;
   value = textures/loadingxmen/avalanche ;
   }

   item {
   name = Beast ;
   type = load ;
   value = textures/loadingxmen/0501 ;
   }

   item {
   name = Bio Sentinel ;
   type = load ;
   value = textures/loadingxmen/bio_sent ;
   }

   item {
   name = Blob ;
   type = load ;
   value = textures/loadingxmen/3001 ;
   }

   item {
   name = Briefing ;
   type = load ;
   value = textures/loadingxmen/briefing ;
   }

   item {
   name = Briefing 2 ;
   type = load ;
   value = textures/loadingxmen/briefing2 ;
   }

   item {
   name = Characters Menu ;
   type = load ;
   value = textures/loadingxmen/characters_menu ;
   }

   item {
   name = Colosseum ;
   type = load ;
   value = textures/loadingxmen/colosseum ;
   }

   item {
   name = Colossus ;
   type = load ;
   value = textures/loadingxmen/0901 ;
   }

   item {
   name = Cyclops ;
   type = load ;
   value = textures/loadingxmen/0101 ;
   }

   item {
   name = Danger Room ;
   type = load ;
   value = textures/loadingxmen/danger_rm ;
   }

   item {
   name = Dark Avalanche ;
   type = load ;
   value = textures/loadingxmen/dark_aval ;
   }

   item {
   name = Dark Blob ;
   type = load ;
   value = textures/loadingxmen/dark_blob ;
   }

   item {
   name = Dark Pyro ;
   type = load ;
   value = textures/loadingxmen/dark_pyro ;
   }

   item {
   name = Emma Frost ;
   type = load ;
   value = textures/loadingxmen/1501 ;
   }

   item {
   name = Gambit ;
   type = load ;
   value = textures/loadingxmen/1301 ;
   }

   item {
   name = Gateway ;
   type = load ;
   value = textures/loadingxmen/gateway ;
   }

   item {
   name = GRSO ;
   type = load ;
   value = textures/loadingxmen/5301 ;
   }

   item {
   name = HAARP Interior ;
   type = load ;
   value = textures/loadingxmen/haarp_int ;
   }

   item {
   name = Havok ;
   type = load ;
   value = textures/loadingxmen/havok ;
   }

   item {
   name = Iceman ;
   type = load ;
   value = textures/loadingxmen/0801 ;
   }

   item {
   name = Ice Tunnels ;
   type = load ;
   value = textures/loadingxmen/ice_tunnels ;
   }

   item {
   name = Jubilee ;
   type = load ;
   value = textures/loadingxmen/1601 ;
   }

   item {
   name = Juggernaut ;
   type = load ;
   value = textures/loadingxmen/3401 ;
   }

   item {
   name = Magma ;
   type = load ;
   value = textures/loadingxmen/1801 ;
   }

   item {
   name = Magneto ;
   type = load ;
   value = textures/loadingxmen/magneto ;
   }

   item {
   name = Mansion Front ;
   type = load ;
   value = textures/loadingxmen/x_mansion ;
   }

   item {
   name = Mansion First Floor ;
   type = load ;
   value = textures/loadingxmen/x_mansion_1st_fl ;
   }

   item {
   name = Mansion Upstairs ;
   type = load ;
   value = textures/loadingxmen/x_mansion_2nd_fl ;
   }

   item {
   name = Mansion Act 3 ;
   type = load ;
   value = textures/loadingxmen/x_mansion_act3 ;
   }

   item {
   name = Mansion Subbasement ;
   type = load ;
   value = textures/loadingxmen/x_mansion_basement ;
   }

   item {
   name = Mansion Grounds ;
   type = load ;
   value = textures/loadingxmen/x_mansion_by ;
   }

   item {
   name = Mansion Ground Floor ;
   type = load ;
   value = textures/loadingxmen/x_mansion_first_floor ;
   }

   item {
   name = Marrow ;
   type = load ;
   value = textures/loadingxmen/1401 ;
   }

   item {
   name = Master Mold ;
   type = load ;
   value = textures/loadingxmen/mastermold ;
   }

   item {
   name = Morlocks ;
   type = load ;
   value = textures/loadingxmen/4701 ;
   }

   item {
   name = Muir Com Core ;
   type = load ;
   value = textures/loadingxmen/muir_comcore ;
   }

   item {
   name = Mystique ;
   type = load ;
   value = textures/loadingxmen/2801 ;
   }

   item {
   name = Nightcrawler ;
   type = load ;
   value = textures/loadingxmen/0601 ;
   }

   item {
   name = Nuke Exterior ;
   type = load ;
   value = textures/loadingxmen/nuke_plant_ext ;
   }

   item {
   name = Jean Grey ;
   type = load ;
   value = textures/loadingxmen/0201 ;
   }

   item {
   name = Phoenix ;
   type = load ;
   value = textures/loadingxmen/phoenix ;
   }

   item {
   name = Professor X ;
   type = load ;
   value = textures/loadingxmen/1101 ;
   }

   item {
   name = Professor X Cerebro ;
   type = load ;
   value = textures/loadingxmen/1102 ;
   }

   item {
   name = Psylocke ;
   type = load ;
   value = textures/loadingxmen/1201 ;
   }

   item {
   name = Pyro ;
   type = load ;
   value = textures/loadingxmen/pyro ;
   }

   item {
   name = Rogue ;
   type = load ;
   value = textures/loadingxmen/0701 ;
   }

   item {
   name = Daytime Sentinels ;
   type = load ;
   value = textures/loadingxmen/sentinels_daytime ;
   }

   item {
   name = Flashback Sentinel ;
   type = load ;
   value = textures/loadingxmen/sentinel_fb ;
   }

   item {
   name = Ultimate Sentinel ;
   type = load ;
   value = textures/loadingxmen/sentinel_ultimate ;
   }

   item {
   name = Shadow King ;
   type = load ;
   value = textures/loadingxmen/shadow_king ;
   }

   item {
   name = Spider Sentinel ;
   type = load ;
   value = textures/loadingxmen/spider_sent ;
   }

   item {
   name = Storm ;
   type = load ;
   value = textures/loadingxmen/0401 ;
   }

   item {
   name = Toad ;
   type = load ;
   value = textures/loadingxmen/3201 ;
   }

   item {
   name = Weapon X ;
   type = load ;
   value = textures/loadingxmen/weapon_x ;
   }

   item {
   name = Wolverine ;
   type = load ;
   value = textures/loadingxmen/0301 ;
   }

   item {
   name = Wolverine Sewers ;
   type = load ;
   value = textures/loadingxmen/wolv_sewers ;
   }

   item {
   name = Classic Wolverine ;
   type = load ;
   value = textures/loadingxmen/wolverine_70s ;
   }

   item {
   name = X-Jet in Hangar ;
   type = load ;
   value = textures/loadingxmen/x_jet ;
   }

   item {
   name = X-Jet New York ;
   type = load ;
   value = textures/loadingxmen/ny_jet ;
   }

   item {
   name = X-Jet New York 2 ;
   type = load ;
   value = textures/loadingxmen/x_jet_2 ;
   }
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on September 18, 2007, 03:23PM
How to change the menu screen movie from this:
(http://xs219.xs.to/xs219/07383/Marvel0104.png.xs.jpg) (http://xs.to/xs.php?h=xs219&d=07383&f=Marvel0104.png)

To the xml1 intro video that looks like this:
(http://xs219.xs.to/xs219/07383/Marvel0101.png.xs.jpg) (http://xs.to/xs.php?h=xs219&d=07383&f=Marvel0101.png)
(http://xs219.xs.to/xs219/07383/Marvel0102.png.xs.jpg) (http://xs.to/xs.php?h=xs219&d=07383&f=Marvel0102.png)

1. Backup movie movies/ntsc/eng/i/1/i109.sfd (assuming ntsc)
2. Replace i109.sfd with i/1/i107.sfd from xml1
There may be a way to make it play without overwriting, if you can find where i109.sfd is called. i checked the exe and couldnt find it. it may be in one of the script files
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on September 18, 2007, 04:40PM
I'm not sure if this was common knowledge, but it appears as if archangel was originally going to be a playable in xml1. I have attached the conversation from mansion_back2 which contains a conversation between Magma and Archangel. Notice how it says game.setInCampaign('angel', 'TRUE').
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverte
Post by: Teancum on September 18, 2007, 04:50PM
Yep, there's also some voiceovers still intact.  Look in the Modder's Corner -->Xbox 'Booster' discussions topic to hear em'.  I plan on re-inserting him on the Xbox version.  Unfortunately there's no VO/Power sounds for in-game play.
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on September 18, 2007, 04:51PM
thanks

edit:
haha, his "hello alison" is pretty creepy (140004)
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverte
Post by: Teancum on September 18, 2007, 06:33PM
@ Norrin -- Let me know if you find any more Angel convos.  Also, intro_normal.py pointed to "main_beenox".  I looked at main_beenox.pkgb which pointed to ui/menus/main_beenox.engb.  Bingo.  Found it:

QuoteXMLB menu {
animonclose = true ;
animonopen = true ;
background_movie = i109 ;
background_movie_fullscreen = i109 ;

...
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverte
Post by: Norrin Radd on September 18, 2007, 07:01PM
awesome, thanks :thumbsup:
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on September 19, 2007, 05:00PM
i also see it called in ui\menus\main.engb

QuoteXMLB MENU {
background_movie = i109 ;
desctext1 = $MENU_ACCEPT Select ;
desctext2 = $MENU_BACK Back ;
fadein = true ;
fadeout = true ;
igb = mlm_main ;
lighting = false ;
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on September 20, 2007, 08:28PM
how to convert objectives
convert the mission file from /data/missions/ using xmlconverter and the ultimatealphabetizer

now open the converted file with a text editor. remove the first lines until the first entry and replace it with a line indicating the act the level is on (see below).

before
QuoteXMLB MISSION {
descname = Sentinel flashback. ;
description = Nightcrawler's Danger Room Flashback ;
keepheroes = false ;
mapload =  ;
maxheros = 4 ;
minheros = 4 ;
remote = true ;
scriptstart = missions/mission_fmv_107 ;
skinset = 70s ;
teamselect = false ;
   REQUIREDHERO {
   name = nightcrawler ;
   }

   OBJECTIVE {
   descname = Battle the Sentinel. ;

After
QuoteXMLB MISSION {
   act = 1 ;
   REQUIREDHERO {
   name = nightcrawler ;
   }

   OBJECTIVE {
   descname = Battle the Sentinel. ;

Now remove all entries that dont start with OBJECTIVE (i am not sure if they are compatible with Mua) (see below)

Before
QuoteXMLB MISSION {
   act = 1 ;
   REQUIREDHERO {
   name = nightcrawler ;
   }

   OBJECTIVE {
   descname = Battle the Sentinel. ;

After
QuoteXMLB MISSION {
   act = 1 ;
   OBJECTIVE {
   descname = Battle the Sentinel. ;

Now remove all lines indicating xp, and replace them with rep (see below). Also add the line indicating whether the objective is optional or not, and add lines indicating the zone the mission will take place in, and add the line indicating that the type is normal (see below). You can also remove 'updatedescription' lines that dont actually contain information.

Before
Quote   OBJECTIVE {
   descname = Battle the Sentinel. ;
   description = Defeat the Sentinel in combat. ;
   enabled = true ;
   name = sentinel1 ;
   updatedescription =  ;
   xp = 100 ;
   }

After
Quote   OBJECTIVE {
   descname = Battle the Sentinel. ;
   description = Defeat the Sentinel in combat. ;
   enabled = true ;
   name = sentinel1 ;
   optional = false ;
   rep = 5 ;
   type = normal ;
   zone = nyc1 ;
   }

Follow the steps above for all the OBJECTIVE entries. Now go to the last entry. It is usually the main objective. If it has a line indicating xp = ; just remove that line. You might need to change the name of the OBJECTIVE from a name with spaces to one without spaces (ex: Protect the city --> Protect_the_city). If it is the main objective you can add the line '   major = true ;' and remember the name of this OBJECTIVE, it will be used as the 'parentname'. Now go look at the objectives, if they are all descendents of the main objective add the line '   parentname = Protect_the_city ;' to all of them (not to the main objective itself of course). If there are multiple parents you can use multiple parentname lines. And MAKE SURE everything is still in ALPHABETICAL order.

Now save the file and compile it. Remember the filename. decompile and open data/missions/missions. Add an entry indicating your new objective (see below). Now save and compile it.

Before
QuoteXMLB MISSIONS {
maxmissions = 25 ;
maxquestsperact = 75 ;
maxtotalquests = 300 ;
   MISSION {
   name = act1_heli ;
   }

   MISSION {
   name = act1_stark ;
   }

After
QuoteXMLB MISSIONS {
maxmissions = 25 ;
maxquestsperact = 75 ;
maxtotalquests = 300 ;
   MISSION {
   name = sent_fb ;
   }

   MISSION {
   name = act1_heli ;
   }

   MISSION {
   name = act1_stark ;
   }

Now decompile and open packages/generated/maps/package/missions. Add an entry for your new objective (see below). Save and compile.

Before
Quote   xml {
   filename = data/missions/autotestquests ;
   }

   xml {
   filename = data/missions/missions ;
   }

}

After
Quote   xml {
   filename = data/missions/autotestquests ;
   }

   xml {
   filename = data/missions/missions ;
   }

   xml {
   filename = data/missions/sent_fb ;
   }

}

Now decompile and open data/zoneinfo. Look for the line 'objective_category' for your mission. Change it to point to your new objective (see below). Save and compile.

Before
Quote   texture = textures/zoneshot/act1_extract1 ;
   towncenter = true ;
   }

   zone {
   act = 1 ;
   build = normal ;
   extraction = true ;
   loading = textures/loadingxmen/sentinel_fb ;
   name = act1/fb/nyc1 ;
   objective_category = act1_heli ;
   savename = Seventh Ave. ;
   start_game = true ;
   state = 2 ;
   }

   zone {
   act = 1 ;

After
Quote   texture = textures/zoneshot/act1_extract1 ;
   towncenter = true ;
   }

   zone {
   act = 1 ;
   build = normal ;
   extraction = true ;
   loading = textures/loadingxmen/sentinel_fb ;
   name = act1/fb/nyc1 ;
   objective_category = sent_fb ;
   savename = Seventh Ave. ;
   start_game = true ;
   state = 2 ;
   }

   zone {
   act = 1 ;

Now, open your level eng's that will use this new objective file. Add the line 'act = x ;' to the first entity, where 'x' is the number of the act you added in the objective file (see below). Save and recompile your objective files.

Before
QuoteXMLB world {
   entity {
   extent_max = 3000 3240 360 ;
   extent_min = 0 480 0 ;
   level = 8 ;
   name = world ;

After
QuoteXMLB world {
   entity {
   act = 1 ;
   extent_max = 3000 3240 360 ;
   extent_min = 0 480 0 ;
   level = 8 ;
   name = world ;

Now, if you changed any of the names in the mission file (ex: Protect_the_city) then you also have to change that name in all the scripts that refer to those objectives.

If everything was done right, you should get something like:
(http://xs119.xs.to/xs119/07385/Marvel0113.png.xs.jpg) (http://xs.to/xs.php?h=xs119&d=07385&f=Marvel0113.png)
(http://xs119.xs.to/xs119/07385/Marvel0114.png.xs.jpg) (http://xs.to/xs.php?h=xs119&d=07385&f=Marvel0114.png)
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on September 20, 2007, 09:30PM
How to make objectives with counters appear in the objectives menu

in some xml mission files, objectives contain counters, indicated by 'count = x'. If you do a straight conversion the way i described above, the counters wont appear in the objective menu, so you need to change a few things. You need to add to or overwrite the part in 'description' with the part in 'updatedescription' because the part in 'updatedescription' will not appear in the menu.

example:
Before
Quote   OBJECTIVE {
   count = 2 ;
   descname = Defeat the Sentinels. ;
   description = Battle the Sentinels and destroy them. ;
   enabled = false ;
   name = sentinel2 ;
   optional = false ;
   parentname = Protect_the_city ;
   rep = 5 ;
   type = normal ;
   updatedescription =  You have defeated %d of %d Sentinels. ;
   zone = nyc2 ;
   }

After
Quote   OBJECTIVE {
   count = 2 ;
   descname = Defeat the Sentinels. ;
   description = You have defeated %d of %d Sentinels. ;
   enabled = false ;
   name = sentinel2 ;
   optional = false ;
   parentname = Protect_the_city ;
   rep = 5 ;
   type = normal ;
   updatedescription = Battle the Sentinels and destroy them. ;
   zone = nyc2 ;
   }

Now instead of
(http://xs119.xs.to/xs119/07385/Marvel0112.png.xs.jpg) (http://xs.to/xs.php?h=xs119&d=07385&f=Marvel0112.png)

you will see
(http://xs219.xs.to/xs219/07385/Marvel0120.png.xs.jpg) (http://xs.to/xs.php?h=xs219&d=07385&f=Marvel0120.png)

Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on September 23, 2007, 08:20PM
dont forget to alphabetize the .nav file. I found some entries in there besides the "   c { p = 2 -17 0 ;   }" entries that need to be alphabetized.

You will be able to tell if you need to alphabetize the nav file (unless you forgot to make the nav file) if your teamates dont follow you.
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on October 07, 2007, 08:30AM
For saveonly xtraction points to work, do the following:
make a new file called exp_activatelite.py in scripts/common/extraction/ The contents should be:

Quoteactivator = getID("_ACTIVATOR_" )
owner = getID("_OWNER_" )
if activator != owner
     act("_OWNER_", "_OWNER_" )
     extractionPointLite('_OWNER_','false','true','false')
else
     extractionUnlock("" )
endif

and now call common/extraction/exp_activatelite as the act script in the level eng file (for the extraction point, of course)

downside: It says the word SHIELD when you activate it. There may be away around it, not sure yet.
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on October 07, 2007, 09:01AM
OR, you could try doing it this way, as mentioned by BliZZ in another thread:

1) Change the first entry about xtraction to this:

   entity {
   actleader = true ;
   actmatchteam = true ;
   actonuse = true ;
   actscript = extractionPointLite('_OWNER_','falso','true','false') ;
   actsound = common/game/xtraction ;
   acttogglesanim = false ;
   animstarton = true ;
   classname = gameent ;
   description = X-Men Access Point ;
   extent = -30 -30 0 30 30 60 ;
   fxlevel = 2 ;
   ignoretelekinesis = true ;
   loopfx = base/misc/extraction_lite_loop ;
   loopfxstarton = true ;
   model = puzzles/beacon_xtraction_noteamchange ;
   name = xtraction_point_lite ;
   nogravity = true ;
   nopickup = true ;
   nopush = true ;
   quickuse = true ;
   team = hero ;
   toggleonact = false ;
   }


2) Change the second entry about xtraction to this:

   entinst {
   type = xtraction_point_lite ;
      inst {
      name = xtraction_point_lite ;
      pos = 1500 864 0 ;
      }

   }
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on October 08, 2007, 03:35PM
haha, dont remove the line
Quotenogravity = true ;
from xml1 bridges or they will fall down
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on October 08, 2007, 03:45PM
Success:
(http://xs320.xs.to/xs320/07412/Marvel0139.png.xs.jpg) (http://xs.to/xs.php?h=xs320&d=07412&f=Marvel0139.png)

To make a bridge from xml1 work in mua, remove the following lines in the bridge entry in the level eng:

Quotestopfly =   ;
   stophero =   ;
   stopnpcaltenemy =   ;
   stopnpcenemy =   ;
   stopnpcneutral =   ;
   stopwalk =  ;

(note for those who didnt know, when directly converted, the characters would fall right through the bridges)
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverte
Post by: BliZZ on October 08, 2007, 03:50PM
Do you know how to select which bridge types are made by which character? Metal = Magneto, Molten Rock = Magma, TK = Jean, Ice = Iceman, Rock = Avalanche?
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverte
Post by: Norrin Radd on October 08, 2007, 04:09PM
there are separate entries for each one, but i dont see anything linking certain entries with a character, it may be defined elsewhere and they may use
Quotereactpower = bridge ;
to decide

edit:
also this line
Quoteclassname = powertriggerent ;


-------how to convert motionpaths--------
-you can add all the motionpaths you will be using as precache to the level eng
-add all the motionpaths you will be using to the pkg file, and make sure you use the full extention for the motionpath, not just the filename. For example, if the filename is /mansion/boogey, but you are using the motionpath goforgold inside of boogey.igb, then you need to reference that one. You can see which motionpaths a file contains by searching inside with a hex editor.
-call the correct motionpaths from scripts. These convert directly from xml1, so there shouldn't be any problems with the scripts.
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on October 20, 2007, 12:32AM
The motioncaptures for xml1->mua should be salvageable. All we would need to do is replace the skins since the mocap specific ones from xml1 do this:
(http://xs220.xs.to/xs220/07426/Marvel0242.png.xs.jpg) (http://xs.to/xs.php?h=xs220&d=07426&f=Marvel0242.png)

but when they are replaced they look good:
(http://xs220.xs.to/xs220/07426/Marvel0245.png.xs.jpg) (http://xs.to/xs.php?h=xs220&d=07426&f=Marvel0245.png)
(http://xs220.xs.to/xs220/07426/Marvel0246.png.xs.jpg) (http://xs.to/xs.php?h=xs220&d=07426&f=Marvel0246.png)

The only thing is that the subtitles dont appear. So what we can do is just run a conversation. We know what people are suppose to say because its all in the subtitle files. Currently the camera follows the motioncapture, but you dont really know whats going on because there is no sound or subtitles. If we make it a conversation instead of a cinematic, then we would need to remove the cinematic part and just run a pure conversation, then load the next mission when the convo is done.
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Teancum on November 16, 2007, 09:01AM
Norrin, would it be possible to create a FBBuilder?  The reason I ask is it'd make console mods easier, plus allow me to port the PC port *lol* of XML1 to the Xbox XML2 engine. 

I thought it might be easiest to have a config file placed in a directory with all files needed for that particular FB (no subfolders, just all in one directory).  So you'd see stuff like

moonknight_4101_nc.cfg
4101.igb
41_moonknight.igb
moonknight_icons.igb
etc...

The config file would look something like this:

Quote
FORMAT: [filename to add], [directory listed in FB], [type (from pkgb files], [filesize (in hex if you want)]
4101.igb, actors/4101.igb, actor, 4A44
41_moonknight.igb, actors/41_moonknight.igb, animset, 55A7

Then the builder would just go right down the list, appending each file one right after the other.  I know that might be a lot to ask, but it would make my mods/the Xbox XML1->XML2 port 100x faster.

Just in case anyone asks, I'm porting XML1 Xbox to XML2 Xbox for all the added functionality.
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on November 16, 2007, 09:08AM
i'll have to think about it, tonight or tomorrow i will check and see how much work it will take to do it, if it looks pretty simple then we may be able to have something by the end of next week, if not it may take a while, it also would depend on how busy i am, but hopefully something can be made yes :)

edit:
done, see http://marvelmods.com/forum/index.php?topic=863.0
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverte
Post by: Norrin Radd on February 02, 2008, 05:10PM
let there be fire...

if a fire entity doesnt convert properly (meaning that no fire appears even after you have changed the effects file so it points to a valid fire effect)

try changing it from this format:
   entity {
   actontouch = true ;
   actrescheduledelay = 0.4 ;
   actrescheduledelaymin = 0.4 ;
   boxdamage = true ;
   classname = affectableharment ;
   damage = 3 ;
   damagemods = dmgmod_no_pain ;
   damagetype = dmg_fire ;
   firstact = 1 ;
   health = 1 ;
   knockback = 200 ;
   loopfx = map/common/fire_small ;
   loopfxstarton = true ;
   name = fire ;
   reactpower = extinguish ;
   spawnsoundloop = zone_shared/effects/fire_med ;
   stophero = false ;
   stopnpcaltenemy = false ;
   stopnpcenemy = false ;
   stopnpcneutral = false ;
   targetlockable = true ;
   }


to this one:
   entity {
   boxdamage = true ;
   classname = affectableharment ;
   damage = 3 5 ;
   damagemods = dmgmod_no_pain dmgmod_unblockable ;
   damagetype = dmg_fire ;
   extent = -17 -17 0 17 17 28 ;
   health = 1 ;
   knockback = 200 ;
   loopfx = map/common/fire_small ;
   loopfxstarton = true ;
   name = fire ;
   radiusdamage = false ;
   reactpower = extinguish ;
   smartfire = true ;
   spawnsoundloop = zone_shared/effects/fire_med ;
   stopprojectile = false ;
   structure = 2 ;
   targetlockable = true ;
   }

get the correct extent values from its entinst call


heres a pic of what it looks like when properly converted:
(http://xs224.xs.to/xs224/08050/marvel0153851.png.xs.jpg) (http://xs.to/xs.php?h=xs224&d=08050&f=marvel0153851.png)

edit:
there are also some tricks you can play so that you can make characters like iceman remove those fires
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: iammingy on February 02, 2008, 06:20PM
Thanks, Norrin Radd!
What does "actontouch" do? "act on touch"? (I know this isn't in the fixed version)

EDIT: Understood. Thanks alot!!!
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverte
Post by: Norrin Radd on February 02, 2008, 06:36PM
there are at least two ways to activate something, one of them is "actontouch" and the other "actonuse"

for actonuse you need to press a button to activate the entity (usually a small text appears at the bottom of the screen)
for actontouch you just need to go in that entity's extent field and they you will make it "act"

in this case the fire entities in XML1 are setup so they are entities that "act" but in MUA they dont need to act, they can just "be" if you catch my drift
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on February 08, 2008, 06:46PM
example code of a working fire wall (after conversion and editing to make it work):
   entity {
   boxdamage = true ;
   classname = affectableharment ;
   damage = 3 ;
   damagemods = dmgmod_no_pain ;
   damagetype = dmg_fire ;
   extent = -120 -65 0 120 65 90 ;
   health = 1 ;
   knockback = 200 ;
   loopfx = map/common/fire_wall ;
   loopfxstarton = true ;
   name = fire_wall ;
   radiusdamage = false ;
   reactpower = extinguish ;
   smartfire = true ;
   spawnsoundloop = zone_shared/effects/fire_large ;
   startenabled = true ;
   stopprojectile = false ;
   structure = 2 ;
   targetlockable = true ;
   }


an example of a working entity that is made to harm something (after conversion and editing to make it work):
   entity {
   boxdamage = true ;
   classname = affectableharment ;
   damage = 3 ;
   damagemods = dmgmod_no_pain ;
   damagetype = dmg_fire ;
   extent = -14 -14 0 14 14 28 ;
   health = 1 ;
   knockback = 200 ;
   loopfx = map/common/fire_small ;
   loopfxstarton = true ;
   name = fire ;
   radiusdamage = false ;
   reactpower = extinguish ;
   smartfire = true ;
   spawnsoundloop = zone_shared/effects/fire_med ;
   stopprojectile = false ;
   structure = 2 ;
   targetlockable = true ;
   }
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on February 15, 2008, 12:03AM
it appears that cable can also build bridges, although only with his extreme:
(http://xs224.xs.to/xs224/08075/marvel0219938.png.xs.jpg) (http://xs.to/xs.php?h=xs224&d=08075&f=marvel0219938.png)

it just so happens that his extreme is the only power with dmg_telekinesis in it
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: nodoubt_jr on February 15, 2008, 12:11AM
have you gotten magma to build bridges?
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on February 15, 2008, 12:57AM
no none of her powers make bridges for the converted magma version, but
i think it is related to this:
dmgmod_environment

because these are the entries iceman and cable have for the moves that make bridges:

      trigger {
      arc = 180 ;
      attacktype = psionic ;
      damage = %cable_psycho_dmg ;
      damagelevel = 1 ;
      damagetype = dmg_telekinesis ;
      knockback = 190 ;
      maxrange = 350 ;
      name = psycho_slam ;
      time = 0.225 ;
      type = ce_atk ;
      victimeventtag = 100 ;
         damageMod {
         name = dmgmod_popup ;
         }

         damageMod {
         name = dmgmod_environment ;
         }

      }


      trigger {
      actorbolt = Bip01 L Hand ;
      attack_bone_angles = 0 0 0 ;
      attack_bone_pos = 28 3 41 ;
      attacktype = projectile ;
      damage = %iceman_p2_dmg ;
      damagescale = none ;
      damagetype = dmg_cold ;
      entity = iceman_p2_proj ;
      filename = ents_iceman ;
      fulltargeting = true ;
      maxrange = 800 ;
      name = projectile ;
      powerusage = %iceman_p2_pwr ;
      speed = 1000 ;
      targetable = true ;
      time = 0.25 ;
      victimeventtag = 10 ;
         damageMod {
         name = dmgmod_environment ;
         }

         damageMod {
         name = dmgmod_extinguish ;
         }

      }


i see a similar entry in magma's xml1 version, but not the MUA converted version

<event name="lava_rift" inherit="blast_ranged" HitEffect="powers/magma_power2_rift" fxlevel="1" maxrange="250" DamageType="dmg_fire" damage="L3" radius="48" targetable="true" powerup_tag="magma_power">
<damageMod name="dmgmod_environment"/>
</event>
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: iammingy on March 16, 2008, 12:25AM
Norrin Radd, can you upload the UltimateAlphabetizer and extentConverter again? I couldn't find them in my backup when I formated my computer... @_@ The sendspace links are all expired now.

EDIT: Thanks alot!!!
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on March 16, 2008, 12:35AM
Sure, just remember you only need to run the extent converter for level eng's

Extent converter
Download Here (http://www.marvelmods.com/ftp_users/NorrinR/programs/extentConverter_V1.0.zip)

Ultimate alphabetizer
Download Here (http://www.marvelmods.com/ftp_users/NorrinR/programs/alphabetizer_V1.2.zip)
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverte
Post by: Teancum on March 25, 2008, 12:54PM
   entinst {
   type = player_start_all01 ;
      inst {
      extents = -48.0243 -95.2953 0 71.9757 48.7833 83.9544 ;
      name = player_start_all01 ;
      orient = 0 0 -1.22173 ;
      pos = -1880.12 -187.904 -117.522 ;
      }

   }


Norrin, can you clarify a few things real quick?

      extents = [a "box" containing six points] (really mostly useful for things that need invisible walls, etc - but always needed)
      orient = Pitch / Yaw / Roll (confused as to why a player spawn would need a roll value)
      pos = X / Y / Z

Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverte
Post by: Norrin Radd on March 25, 2008, 01:08PM
yes, but i don't remember 100% if the orient is what you posted. It may be correct, but I possibly remember moving characters angles in the x and y by changing the last value in the orient. It has been a while since i played with it, so i can't remember clearly
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Teancum on March 25, 2008, 01:15PM
Hmm, I'll have to play with it.  I need to make a few invisible lines to cross for stuff like Pyro's AI and the like.  Maybe I'll ask Overload or someone with 3DSMax to export a XML1 map, take an overhead screenshot and make some distance markings for reference.
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverte
Post by: Norrin Radd on March 25, 2008, 01:23PM
can't you just use script to not make him attack players
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverte
Post by: Teancum on March 25, 2008, 01:38PM
Yes, but I need something to trigger that script.  Techncially that's what the little cutscene script does, but until you hit the trigger Pyro can still come after you.  So you could stand just outside the trigger and Pyro will chase you.  So to combat that I'm going to probably put a second trigger on the bridge just before you see Pyro, or move the first further away from Pyro.
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverte
Post by: Norrin Radd on March 25, 2008, 01:42PM
or, you can just make him initially start as not going after your guys, so either in his spawn script, his entry in the eng, or the level zone script
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Teancum on March 25, 2008, 02:07PM
Thanks, I knew there was a simple workaround.  I'll check out the the level eng, as zone/spawn scripts were getting overwritten by other scripts that re-activate AI.  Been awhile since I looked at it actually, I'll update you when I know more.
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on June 13, 2008, 03:34PM
I think they may have have removed Magma's (and other fire character) bridge forming ability and replaced it with the magnetic one, since xml2. I was able to get Polaris to form a bridge by adding some code in the level, but I wasn't able to build a bridge using fire, here is a pic of the metal bridge:
(http://www.marvelmods.com/ftp_users/NorrinR/xml1/pol.JPG)

To build a bridge you should have the following lines in your powerstyle:
      damagetype = dmg_magnetic ;
         damageMod {
         name = dmgmod_environment ;
         }

where dmg_magnetic can be changed to dmg_telekinesis for a phsycic bridge or dmg_cold for an ice bridge. To form Magma's bridge you should be able to do dmg_fire, but it does not seem to work.

To extinguish a fire you should have the following line:
         damageMod {
         name = dmgmod_extinguish ;
         }


To be able to weld things, you should have:
         damageMod {
         name = dmgmod_weld ;
         }



Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Teancum on June 13, 2008, 04:49PM
Maybe I'm speaking out of ignorance, but is it possible that they're are just some models missing?  I'm sure you've already thought of that, but thought I'd throw that out there just in case.
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: iammingy on June 13, 2008, 04:54PM
Quote from: Teancum on June 13, 2008, 04:49PM
Maybe I'm speaking out of ignorance, but is it possible that they're are just some models missing?  I'm sure you've already thought of that, but thought I'd throw that out there just in case.

I think Magma's bridge models already came with MUA-PC :P

Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on June 13, 2008, 04:58PM
The models exist. Nothing happens when you use dmg_fire, but when you use dmg_magnetic, even if the model is missing (which it is, since i had to steal one from xml2 and also steal some level code) the bridge icon dissapears. The game doesnt seem to recognize the dmg_fire as activating a bridge. If you search Game.exe you will see near reactpower there is tkbridge icebridge and metalbridge (there is also tkbridge magmabridge and icebridge earlier in Game.exe but that is not for recognizing the power)

If you truly wanted to do xml1, you could put a dmg_magnetic in magma's entry, and put a magma bridge model in place of the metal bridge i suppose.

unless i am missing something, which is very possible
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverte
Post by: Norrin Radd on June 16, 2008, 11:22AM
Some recent discoveries:

1. Motionpaths from XML1 do convert and work in MUA. These motionpaths can be made to move tanks  and other objects.

2. An additional animation file can be used in each level. This file needs to be included in the pkg file, and must have the name "zone_LEVEL.igb", where LEVEL is the complete name of the level. Anything other than this name it may not work properly. XML1 include these types of files except they must be renamed from mission_XXX to zone_xxx and a new one must be created for each level (because of the level name), as opposed to how xml1 used a single one for multiple levels. This also means that levels should not have the same names.

3. For those who are not aware of the problem with models disappearing, I will post a picture of the problem that BliZZ took:
(http://img179.imageshack.us/img179/6194/47769783rr7.jpg)
I seem to have found a solution to this problem, although it may only be a temporary solution. The reason why I say it may be temporary is because it seems to solve the problem for a single level, but the problem may appear later on while playing. I have found that the game can only handle so many "model" entries in the pkg file. For example if you have too many in there, it will remove your character huds, and your menus will look like in the picture above. This problem is especially present in levels with wall tiles, since there are many wall tile models, which can be put in the pkg file.

I have found that by not including models in the pkg file, this problem does not occur (at least for a single level). This problem may occur later in the game even if the solution I proposed is used, so more testing is needed before saying this is the correct solution, but this solution definately helps.
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverte
Post by: Norrin Radd on July 10, 2008, 04:48PM
----How to convert death sounds in level _m sound files---

It seems that the xml1 death sounds are not directly compatible with MUA, they have an a,b,c,.. style instead of 0,1,2. You can change them into MUA style by doing the following:

1. Decompile the level eng file that refers to the sound file being converted. Replace the death_styles in lines like:
Quotedeathsound = death_styles/ds_wood_s ;
with death_style, so it looks like:
Quotedeathsound = death_style/ds_wood_s ;

2. Make a sound file, import all the xml1 sounds, and for all the death_style sounds (starting with ds_) find new hashes with Zsm Editor and replace the old ones. Then save the new file.

*Example*
Using Zsm Editor, go to 'Text to Hash' (F3), then enter the text for the death sound. As an example, lets say in the level sound file there are the sounds ds_glass_l_a and ds_glass_l_b. The text to get the hash is:
Quotedeath_style/ds_glass_l/***RANDOM***/0
Use the hash you get after conversion for ds_glass_l_a (replace the old hashes in the Events tab), and add one to that hash for ds_glass_l_b. If there are ds_glass_l_c and more, keep adding one to the hash each time. If there is only one of the death sounds (only ds_glass_l_a), the text to get the hash should be:
Quotedeath_style/ds_glass_l

After following these steps, the object death sounds will work in game.
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Teancum on July 11, 2008, 05:30AM
Still pluggin' away I see.  Nice finds man.
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on July 13, 2008, 08:48AM
Thanks.

----How to add melee swing sounds in xml1 level _m sound files---
The xml1 levels don't seem to have normal melee sounds. To add melee sounds to xml1 soundsets, add the whoosh-heavy and whoosh sounds from MUA levels to the _m xml1 level sounds. This way you will be able to hear melee swing sounds. Also add the 'hit' and 'block' sounds.

For example, when you are importing sounds with Zsm Editor, and you import sounds from heli1_m.zsm, you will see three whoosh-heavy and three whoosh sounds. checkmark the Auto copy option and drag those files into the xml1 _m level soundset.

Aside:
you'll also want to import the 'xtraction' and 'extraction' sounds so the extraction points have sounds
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Teancum on July 28, 2008, 06:32AM
I had some thoughts for the main menu.  I'm getting a video capture unit (GameBridge), and I figured I'd record the spinning Cerebro menu by removing all the menu options in the xml files and loading up the game.  Once I get 2-3 rotations recorded it should be easy to loop.  I'll also look into recording the mission briefings as well.
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on July 28, 2008, 06:51AM
You would want to record the mission breifings just because the anims don't seem to work? Talking anims can be used to make people look like their talking and characters can be made to turn to face each other. But to each his own i guess.
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Teancum on July 28, 2008, 08:44AM
If it's not an issue to record it then it seems to make sense.  I mean I guess there's the whole cel-shaded vs MUA's non-cel shaded thing, but it sure would help keep cutscene coding time down, there's quite a few briefings in the game.
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverte
Post by: Norrin Radd on July 28, 2008, 09:13AM
Briefings are really easy to convert, but if you can capture them i am somewhat curious to see how they would turn out
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Teancum on August 06, 2008, 08:58AM
Quote from: Norrin Radd on June 16, 2008, 11:22AM
3. For those who are not aware of the problem with models disappearing, I will post a picture of the problem that BliZZ took:
(http://img179.imageshack.us/img179/6194/47769783rr7.jpg)

I finally hit this problem the other day, but it was with the first HAARP level.  But all you're saying is you took the wall tile entries out of the pkgb, but left them in the level's engb?  That must mean that pkgbs are treated as an 'always load' type of deal.  I've noticed that boltons and bolton animations don't need to be referenced in the pkgb either, so perhaps that's a good enough solution.
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverte
Post by: Norrin Radd on August 06, 2008, 09:01AM
Removing ALL models except some villain boltons and the level model itself helps this problem. But it does not solve it, you will run into it eventually even if you remove the models from the pkgb files. It seems the game can only load a certain amount of models and it accumulates them as you go through levels, without dumping them. I found you can reload the same level many many many times without having this problem, but if you start going to other ones, you will notice it.
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: the master$$$ on August 06, 2008, 09:05AM
hey dude just a question:can a person add a xml level or does he have to replace it (not that im gonna do it)
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverte
Post by: Norrin Radd on August 06, 2008, 09:09AM
you can add levels to the game without replacing any
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: the master$$$ on August 06, 2008, 09:09AM
ok thx
Title: Re: How to convert XML1 stuff (includes Ultimate Alphabetizer V1.2)
Post by: Teancum on December 28, 2008, 10:12PM
Quote from: Norrin Radd on August 23, 2007, 06:33PM
Ultimate Alphabetizer by Norrin Radd RELEASE V1.2
I have created a program that alphabetizes most mua/xml2 files to help when converting the xml1 ones (since after you convert the xml1 ones with xmlconverter, they are not in alphabetical order, and they never were)
(works for conversations, level engs, powerstyle, etc.)

Version 1.2 New!
http://www.sendspace.com/file/inpsde


Anyone have a working link?  This one is dead.
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on December 28, 2008, 11:30PM
Quote from: Norrin Radd on March 16, 2008, 12:35AM
Sure, just remember you only need to run the extent converter for level eng's

Extent converter
Download Here (http://www.marvelmods.com/ftp_users/NorrinR/programs/extentConverter_V1.0.zip)

Ultimate alphabetizer
Download Here (http://www.marvelmods.com/ftp_users/NorrinR/programs/alphabetizer_V1.2.zip)
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Teancum on December 29, 2008, 05:03AM
Ah, thanks.  It was late and I was tired... sorry :P
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: the master$$$ on August 25, 2009, 10:04AM
Hey,does anyone have a working link of this converter and alphabetizer?
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Teancum on August 25, 2009, 11:15AM
I might have them at home.  I'll have to look later.
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: the master$$$ on August 25, 2009, 11:18AM
Thx dude!
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Norrin Radd on August 28, 2009, 11:56AM
Hey the master$$$ I put them in a pack in this thread http://marvelmods.com/forum/index.php?topic=854.msg15383#msg15383 (http://marvelmods.com/forum/index.php?topic=854.msg15383#msg15383)
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: the master$$$ on September 01, 2009, 07:51AM
Thx dude!!!
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverterV1)
Post by: Teancum on March 08, 2014, 07:37PM
Quote from: nodoubt_jr on September 09, 2007, 02:49PM
thats weird about the water entities,
arena_arb2 has them and they loaded alright in XML2

(http://i5.photobucket.com/albums/y170/nodoubt_jr/XMenLegends0020-1.jpg)

So turns out to fix water you just need to remove the following lines from the water entity:

Quote
   entity {
   alpha = 0.35 ;
   ambienteffect = misc/watermove ;
   classname = waterent ;
   density = 10 ;
   gridsize =   ;
   name = water01 ;
   nocollide = true ;
   spawnsoundloop = object_ambi/arbiter_int/electric_loop ;
   splasheffect = misc/waterEntry ;
   texture = textures/water.png ;
   texturescale =   ;
   wakeeffect = Misc/watersplash ;
   xscroll =   ;
   yscroll =   ;

   }
Title: Re: How to convert XML1 stuff (includes UltimateAlphabetizerV1.2, extentConverte
Post by: Teancum on March 18, 2014, 06:52PM
Quote from: Norrin Radd on June 16, 2008, 11:22AM2. An additional animation file can be used in each level. This file needs to be included in the pkg file, and must have the name "zone_LEVEL.igb", where LEVEL is the complete name of the level. Anything other than this name it may not work properly. XML1 include these types of files except they must be renamed from mission_XXX to zone_xxx and a new one must be created for each level (because of the level name), as opposed to how xml1 used a single one for multiple levels. This also means that levels should not have the same names.
Has anyone else had luck with zone animations? I got motionpaths to work (from this same post), but have had no dice with the zone anims for XML1 conversions.

***EDIT***

So it's a bit more complex than this. Once you rename mission_[name].igb to zone_[name of level].igb you have to go into the file with a hex editor and rename mission_[name] and mission_[name]_skel to zone_[level name] and zone_[level name]_skel, respectively. (Use 00 bytes to fill in any leftover space) Same deal with mission1, mission2, etc (these are the actual animations). Rename them to zone1, zone2, etc, filling in with 00 bytes. THEN you add it to your PKGB just like you would in MUA or XML2, and THEN you have to go into the .py script and change instances of animations that call for EA_MISSION[number] to EA_ZONE[number].

Quite cumbersome, but looks like the final piece of the puzzle has been covered.