Jump to content


Photo

[RELEASE] BAM Batcher


  • Please log in to reply
83 replies to this topic

#1 Miloch

Miloch

    Barbarian

  • Modder
  • 6579 posts

Posted 12 September 2009 - 10:03 PM

File Name: BAM Batcher
File Submitter: Miloch
File Submitted: 13 Sep 2009
File Category: IE Modding Tools
Forum: www.shsforums.net/index.php?showforum=535
Readme: readme.spellholdstudios.net/bam-readme.html

This tool handles mass-manipulation of BAMs, a feature that other tools like BAM Workshop and DLTCEP do not (currently) provide. Near Infinity's Mass Exporter feature will only decompress BAMs (not dissemble or assemble them) and then only if you want to decompress all BAMs in the game (not a wise move). BAM Batcher includes the following subcomponents:
1. Convert BAMs to BMPs
2. Convert BMPs to inventory BAMs
3. Convert BMPs to spell BAMs
4. Convert BMPs to description BAMs
5. Fix inventory BAM coordinates
6. Fix spell BAM coordinates
7. Fix description BAM coordinates
8. Decompress BAMs
9. Compress BAMs
10. List BAMs and dimensions
11. List BMPs and dimensions
12. List GIFs and dimensions

In addition, this mod includes the long-lost Moinesse's BAMs as a separate component with two options for installation:
1. BAMs only
2. BAMs with test items

Please see the full readme for more information.

Click here to download this file

Edited by Miloch, 12 September 2009 - 10:14 PM.

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle


#2 vilkacis

vilkacis

    Rashemen REPRESENT! Word to yo hamsta!

  • Modder
  • 1571 posts

Posted 13 September 2009 - 11:47 AM

Ohohoho. This looks like one sexy little tool, and I will gladly abuse the hell out of it the next time I need to make some bams.

:cheers:

#3 Daulmakan

Daulmakan

    Comfortably numb

  • Member
  • 1065 posts

Posted 13 September 2009 - 12:45 PM

Sounds extremely useful. Thanks.

item_pack.jpg   Drows.jpg

 


#4 Sam.

Sam.
  • Administrator
  • 1335 posts

Posted 13 September 2009 - 02:15 PM

It's hard to describe how I'm feeling right now, but this is something like how it just went:
:o ... :) ... :D ... :wub: ... :cheers: ... :clap: ... :Bow:

This thing rules! Can I send you a bottle of something?
Aye, single-malt scotch preferably, but I'm easy.

What's the address, because as soon as I'm legally old enough to buy it ( :P ), I'm going to send you a whole F***in' crate! I knew there was a reason I just really wasn't feelin' working on those couple dozen BAMs yesterday.... Um, I THINK I JUST FOUND IT!!!

"Ok, I've just about had my FILL of riddle asking, quest assigning, insult throwing, pun hurling, hostage taking, iron mongering, smart-arsed fools, freaks, and felons that continually test my will, mettle, strength, intelligence, and most of all, patience! If you've got a straight answer ANYWHERE in that bent little head of yours, I want to hear it pretty damn quick or I'm going to take a large blunt object roughly the size of Elminster AND his hat, and stuff it lengthwise into a crevice of your being so seldom seen that even the denizens of the nine hells themselves wouldn't touch it with a twenty-foot rusty halberd! Have I MADE myself perfectly CLEAR?!"

--<CHARNAME> to Portalbendarwinden

--------------------

post-10485-0-15080600-1348188745.jpg
___________Old pen and paper modules of the 70s and 80s.___________

CA Forums CA Homepage


#5 Deathsangel

Deathsangel

    Living on Wings of Dreams

  • Modder
  • 3089 posts

Posted 14 September 2009 - 05:40 AM

Hehe, I actually one day centered all bams of Moinesse's BAMs, using DLTCEP I think... Lord_Kilroy (?? not sure, now big man at World Transition Project) once told me what was wrong and how I had to change it so I did that in one go...
He was amazed at that, but it was just opening them and telling DLTCEP (or whatever program I used) to centre them.
I started to use them for new items in the MftW.

Will check this out though. After all, I am settling in my new appartement and a good collegeau is getting me back into the modding

Edited by Deathsangel, 14 September 2009 - 05:42 AM.

Still modding the Mod for the Wicked... It is a big project you know... And I got sidetracked (several times) a bit... sorry.
However, as we all know, Evil never really sleeps.


Sentences marking (my) life:

Winds of change... Endure them, and in Enduring grow Stronger
It takes a fool to look for logic in a man's heart
Never question the sanity of the insane
The Harmony of Life is Chaos
Living on Wings of Dreams



(1st march 2009) SHS women over me:
Kat: if there were more guys that looked like you out here, people's offspring wouldnt be so damn ugly
Noctalys: you are adorable :P

~~ I love it, and I am humbled! Yay! ~~


#6 Miloch

Miloch

    Barbarian

  • Modder
  • 6579 posts

Posted 14 September 2009 - 02:44 PM

Hehe, I actually one day centered all bams of Moinesse's BAMs, using DLTCEP I think...

Well I wrote the tool to do that in one fell sweep, but I ended up having to edit them all individually anyhow, since every one of them lacked a shadow on the large frame, and some were actually too big for the frames, or way too small, or had other issues that even centreing wouldn't fix, because they needed to be cropped. But I didn't have to guess on the coordinates at least, or try pixel-editing them in something like DLTCEP or BAM Workshop. I just used this to mass-dissemble them to bitmaps, touched up all the frames in Paint Shop then reassembled them with this all in one go.

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle


#7 @vGur

@vGur
  • Member
  • 121 posts

Posted 14 September 2009 - 04:10 PM

As always, Your work is GREAT!

#8 Deathsangel

Deathsangel

    Living on Wings of Dreams

  • Modder
  • 3089 posts

Posted 15 September 2009 - 05:51 AM

Hehe, I actually one day centered all bams of Moinesse's BAMs, using DLTCEP I think...

Well I wrote the tool to do that in one fell sweep, but I ended up having to edit them all individually anyhow, since every one of them lacked a shadow on the large frame, and some were actually too big for the frames, or way too small, or had other issues that even centreing wouldn't fix, because they needed to be cropped. But I didn't have to guess on the coordinates at least, or try pixel-editing them in something like DLTCEP or BAM Workshop. I just used this to mass-dissemble them to bitmaps, touched up all the frames in Paint Shop then reassembled them with this all in one go.


Quiet a bit more work than I did. Oh well, I am to download this anway. So i'll get the correct ones to work on the items ;)
All a learning experience than with DLTCEP I reckon... right... :wacko: :P

Still modding the Mod for the Wicked... It is a big project you know... And I got sidetracked (several times) a bit... sorry.
However, as we all know, Evil never really sleeps.


Sentences marking (my) life:

Winds of change... Endure them, and in Enduring grow Stronger
It takes a fool to look for logic in a man's heart
Never question the sanity of the insane
The Harmony of Life is Chaos
Living on Wings of Dreams



(1st march 2009) SHS women over me:
Kat: if there were more guys that looked like you out here, people's offspring wouldnt be so damn ugly
Noctalys: you are adorable :P

~~ I love it, and I am humbled! Yay! ~~


#9 Kwiat_W

Kwiat_W
  • Modder
  • 290 posts

Posted 19 March 2010 - 01:33 AM

There is a problem with option 3 - Convert BMPs to spell BAMs (but i haven't tried other options), it can handle only a single file at a time. If there is more than one file in the spell folder, only the one that is alphabetically the last will be saved in bam folder. With a small change in the code it seams to be working as intended.

BEFORE
//! Convert BMPs to spell BAMs //////////////////////////////////////////////
BEGIN ~Convert BMPs to spell BAMs~
SUBCOMPONENT ~BAM Batcher~
NO_LOG_RECORD

COPY - ~bambatch/spell~ ~bambatch/spell~
  qw = 0
  READ_ASCII 0x0 sg (2) //Signature
  PATCH_IF (~%sg%~ STRING_EQUAL_CASE ~BM~ = 1) BEGIN
    SPRINT bs ~%SOURCE_RES%~
    TO_LOWER bs
    PATCH_PRINT ~Converting %bs%.bmp to a BAM ...~
    READ_SHORT 0x1c bc //Bit count
    READ_LONG 0x1e cp //Compression
    PATCH_IF (bc = <img src='http://www.shsforums.net/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='8)' /> AND (cp = 0) BEGIN
      READ_ASCII 0x6 nl (1) //Null
      READ_LONG 0xa fd //Raster data offset
      READ_LONG 0x12 qw //Width
      df = (qw / 4) * 4
      PATCH_IF df < qw BEGIN
        lz = df + 4 //Line size
        df = lz - qw //Byte difference
      END ELSE BEGIN
        lz = qw
        df = 0
      END
      sw = ((qw - 32) / 2) //Formatted width
      READ_LONG 0x16 qh //Height
      sh = ((qh - 32) / 2) //Formatted height
      READ_ASCII 0x36 pt (1024) //Color table
      SPRINT fj ~~
      jl = 0 //BMP datasize
      tc = 0 //Transparency count
      FOR (k1 = qh; k1 > 0; k1 -= 1) BEGIN //Row height loop
        FOR (k2 = 0; k2 < qw; k2 += 1) BEGIN //Row width loop
          READ_ASCII (fd + (k1 - 1) * (qw + df) + k2) fl (1) //Last row first
          PATCH_IF (~%fl%~ STRING_EQUAL_CASE ~%nl%~ = 1) BEGIN
            tc += 1
            PATCH_IF (k1 = 1) AND (k2 = (qw - 1)) BEGIN
              INNER_PATCH z BEGIN
                WRITE_BYTE 0 (tc - 1)
                READ_ASCII 0 tp (1) //Read ASCII value of tc
              END
              SPRINT fj ~%fj%%nl%%tp%~
              jl += 2 //Increase datasize 2 bytes
              tc = 0
            END
          END ELSE BEGIN
            PATCH_IF tc > 0 BEGIN
              INNER_PATCH z BEGIN
                WRITE_BYTE 0 (tc - 1)
                READ_ASCII 0 tp (1) //Read ASCII value of tc
              END
              SPRINT fj ~%fj%%nl%%tp%%fl%~
              jl += 3 //Increase datasize 3 bytes
              tc = 0
            END ELSE BEGIN
              SPRINT fj ~%fj%%fl%~
              jl += 1 //Increase datasize 1 byte
            END
          END
        END
      END
    END ELSE BEGIN
      PATCH_PRINT ~Bitmap %bs% is not 8-bit or is compressed - check the file.~
    END
  END ELSE BEGIN
    PATCH_PRINT ~%SOURCE_FILE% is not a valid bitmap - check the file.~
  END
BUT_ONLY

ACTION_IF qw > 0 BEGIN
  COPY ~bambatch/hdr-spl.bam~ ~bambatch/bam/%bs%.bam~
    READ_LONG 0xc fn //Frame entry offset
    WRITE_SHORT fn qw //Frame width
    WRITE_SHORT (fn + 2) qh //Frame height
    WRITE_SHORT (fn + 4) sw //X coordinate
    WRITE_SHORT (fn + 6) sh //Y coordinate
    READ_LONG (fn + <img src='http://www.shsforums.net/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='8)' /> fd //Frame data offset
    READ_LONG 0x10 pf //Palette offset
    WRITE_ASCIIE pf ~%pt%~ //Palette
    READ_LONG pf p0
    PATCH_IF p0 = 0x9797 BEGIN
      WRITE_LONG pf 0xff00 //Fix cyan transparency to green
    END
    READ_LONG (pf + 4) p1
    PATCH_IF p1 = 0xff6597 BEGIN
      WRITE_LONG (pf + 4) 0x080808 //Fix pink shadow to dark grey
    END
    INSERT_BYTES fd (jl)
    WRITE_ASCIIE fd ~%fj%~ //Small frame data
    COMPRESS_REPLACE_FILE 0 (fd + jl) 9
    INSERT_BYTES 0x0 0xc
    WRITE_ASCII 0x0 ~BAMCV1  ~ //Signature
    WRITE_LONG 0x8 (fd + jl) //Data length
  BUT_ONLY
END

AFTER
//! Convert BMPs to spell BAMs //////////////////////////////////////////////
BEGIN ~Convert BMPs to spell BAMs~
SUBCOMPONENT ~BAM Batcher~
NO_LOG_RECORD

COPY - ~bambatch/spell~ ~bambatch/spell~
  qw = 0
  READ_ASCII 0x0 sg (2) //Signature
  PATCH_IF (~%sg%~ STRING_EQUAL_CASE ~BM~ = 1) BEGIN
    SPRINT bs ~%SOURCE_RES%~
    TO_LOWER bs
    PATCH_PRINT ~Converting %bs%.bmp to a BAM ...~
    READ_SHORT 0x1c bc //Bit count
    READ_LONG 0x1e cp //Compression
    PATCH_IF (bc = <img src='http://www.shsforums.net/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='8)' /> AND (cp = 0) BEGIN
      READ_ASCII 0x6 nl (1) //Null
      READ_LONG 0xa fd //Raster data offset
      READ_LONG 0x12 qw //Width
      df = (qw / 4) * 4
      PATCH_IF df < qw BEGIN
        lz = df + 4 //Line size
        df = lz - qw //Byte difference
      END ELSE BEGIN
        lz = qw
        df = 0
      END
      sw = ((qw - 32) / 2) //Formatted width
      READ_LONG 0x16 qh //Height
      sh = ((qh - 32) / 2) //Formatted height
      READ_ASCII 0x36 pt (1024) //Color table
      SPRINT fj ~~
      jl = 0 //BMP datasize
      tc = 0 //Transparency count
      FOR (k1 = qh; k1 > 0; k1 -= 1) BEGIN //Row height loop
        FOR (k2 = 0; k2 < qw; k2 += 1) BEGIN //Row width loop
          READ_ASCII (fd + (k1 - 1) * (qw + df) + k2) fl (1) //Last row first
          PATCH_IF (~%fl%~ STRING_EQUAL_CASE ~%nl%~ = 1) BEGIN
            tc += 1
            PATCH_IF (k1 = 1) AND (k2 = (qw - 1)) BEGIN
              INNER_PATCH z BEGIN
                WRITE_BYTE 0 (tc - 1)
                READ_ASCII 0 tp (1) //Read ASCII value of tc
              END
              SPRINT fj ~%fj%%nl%%tp%~
              jl += 2 //Increase datasize 2 bytes
              tc = 0
            END
          END ELSE BEGIN
            PATCH_IF tc > 0 BEGIN
              INNER_PATCH z BEGIN
                WRITE_BYTE 0 (tc - 1)
                READ_ASCII 0 tp (1) //Read ASCII value of tc
              END
              SPRINT fj ~%fj%%nl%%tp%%fl%~
              jl += 3 //Increase datasize 3 bytes
              tc = 0
            END ELSE BEGIN
              SPRINT fj ~%fj%%fl%~
              jl += 1 //Increase datasize 1 byte
            END
          END
        END
      END
      INNER_ACTION BEGIN
      COPY ~bambatch/hdr-spl.bam~ ~bambatch/bam/%bs%.bam~
        READ_LONG 0xc fn //Frame entry offset
        WRITE_SHORT fn qw //Frame width
        WRITE_SHORT (fn + 2) qh //Frame height
        WRITE_SHORT (fn + 4) sw //X coordinate
        WRITE_SHORT (fn + 6) sh //Y coordinate
        READ_LONG (fn + <img src='http://www.shsforums.net/public/style_emoticons/<#EMO_DIR#>/cool.gif' class='bbc_emoticon' alt='8)' /> fd //Frame data offset
        READ_LONG 0x10 pf //Palette offset
        WRITE_ASCIIE pf ~%pt%~ //Palette
        READ_LONG pf p0
        PATCH_IF p0 = 0x9797 BEGIN
          WRITE_LONG pf 0xff00 //Fix cyan transparency to green
        END
        READ_LONG (pf + 4) p1
        PATCH_IF p1 = 0xff6597 BEGIN
          WRITE_LONG (pf + 4) 0x080808 //Fix pink shadow to dark grey
        END
        INSERT_BYTES fd (jl)
        WRITE_ASCIIE fd ~%fj%~ //Small frame data
        COMPRESS_REPLACE_FILE 0 (fd + jl) 9
        INSERT_BYTES 0x0 0xc
        WRITE_ASCII 0x0 ~BAMCV1  ~ //Signature
        WRITE_LONG 0x8 (fd + jl) //Data length
      BUT_ONLY
      END
    END ELSE BEGIN
      PATCH_PRINT ~Bitmap %bs% is not 8-bit or is compressed - check the file.~
    END

  END ELSE BEGIN
    PATCH_PRINT ~%SOURCE_FILE% is not a valid bitmap - check the file.~
  END
BUT_ONLY

Thank you for this tool, it's very helpful. :)

icon11.gif W_GUI - a GUI replacement for Baldur's Gate 2/TUTU/BGT/CA
icon11.gif W_PackMule - Your own pack mule for Baldur's Gate 2/Tutu/BGT/CA, BGEE and BG2:EE

icon11.gif Psionics Unleashed - play as a Psion, mod for Baldur's Gate 2/Tutu/BGT/CA

 


#10 Miloch

Miloch

    Barbarian

  • Modder
  • 6579 posts

Posted 24 March 2010 - 06:28 PM

Cheers. Eh, can you highlight the change(s) you made so I don't have to diff the code? You might have to do it in plain text since code tags don't take additional formatting tags (or just post the changed lines).

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle


#11 Kwiat_W

Kwiat_W
  • Modder
  • 290 posts

Posted 25 March 2010 - 01:14 AM

I have just moved the code that starts with
ACTION_IF qw > 0 BEGIN
(minus the qw>0 check) above the lines with
END ELSE BEGIN
      PATCH_PRINT ~Bitmap %bs% is not 8-bit or is compressed - check the file.~
    END
and placed it in "INNER_ACTION" block.

Probably the same has to be done with the "Convert BMPs to description BAMs" component.

icon11.gif W_GUI - a GUI replacement for Baldur's Gate 2/TUTU/BGT/CA
icon11.gif W_PackMule - Your own pack mule for Baldur's Gate 2/Tutu/BGT/CA, BGEE and BG2:EE

icon11.gif Psionics Unleashed - play as a Psion, mod for Baldur's Gate 2/Tutu/BGT/CA

 


#12 berelinde

berelinde

    Troublemaker

  • Modder
  • 4916 posts

Posted 14 April 2010 - 02:32 PM

This thing is awesome. It just saved me literally hours of drudgery.

"Imagination is given to man to console him for what he is not; a sense of humor, for what he is." - Oscar Wilde

berelinde's mods
TolkienAcrossTheWater website
TolkienAcrossTheWater Forum


#13 Avenger_teambg

Avenger_teambg
  • Member
  • 604 posts

Posted 22 August 2010 - 10:29 PM

You know what would be good? Something to create entire creature bams :)
I recently tried to do it with DLTCEP, but it is too many clicks.
Avenger

#14 Miloch

Miloch

    Barbarian

  • Modder
  • 6579 posts

Posted 23 August 2010 - 10:30 PM

You know what would be good? Something to create entire creature bams :) I recently tried to do it with DLTCEP, but it is too many clicks.

I was working on a routine that would dissemble all the PS:T creature BAMs and reassemble them in BG2 format (using the proper animation sequences as specified for example here) but I shelved it for a bit as I tend to do with anything complex enough to make my head spin (which includes, eh, just about anything :D). It should be possible though - just a matter of mapping all the old frames/sequences to new ones.

BAM Batcher can already dissemble creature BAMs. It just (doesn't currently) reassemble them, though it could in theory, as long as it would preserve the original animation sequences and frames (if, for example, you were just editing a BG2 BAM that doesn't need resequencing).

As for creating new creature animations from scratch, that would also be possible perhaps, but it would involve maybe using something like ImageMagick as discussed in that link. Maybe DLTCEP could code it in, but would involve a non-trivial code effort I think. Though BAM Workshop can actually import animated BAMs and I think .flc (Autodesk 3DS Max) formats and such too.

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle


#15 Galactygon

Galactygon

    Modding since 2002

  • Member
  • 938 posts

Posted 23 August 2010 - 11:08 PM

Miloch, do you know of a .bam resizer that can resize the .bam by a certain percent in the x/y direction without scaling the .bam in both directions? For example, I want to elongate the .bam and enter seperate values for the x and y direction.

I'm not too worried about the quality, I can go back and do the actual resizing in Photoshop. I just want the x and y coordinates to fit the new .bam without having to recalculate everything frame by frame.

-Galactygon
Posted Image

#16 Miloch

Miloch

    Barbarian

  • Modder
  • 6579 posts

Posted 23 August 2010 - 11:52 PM

You could try hacking the bamresize.py file of the existing BAM Resizer on PPG to use different inputs for the X and Y values. I don't know python, but I'm looking at the file in PSPad, and it doesn't look a whole lot more complex than other programming/scripting languages. I'd guess it'd be in one of the "def resizeFrame" routines where it does the actual resizing.

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle


#17 Corvias

Corvias
  • Member
  • 36 posts

Posted 26 November 2010 - 08:42 AM

Miloch, can BAM Batcher assemble font BAM's too? (like normal.bam). The font BAM's have individual, single-frame sequences for each character of the font.

#18 Miloch

Miloch

    Barbarian

  • Modder
  • 6579 posts

Posted 28 November 2010 - 03:23 AM

Miloch, can BAM Batcher assemble font BAM's too? (like normal.bam). The font BAM's have individual, single-frame sequences for each character of the font.

It should be possible, but I'd have to add another option I think. Right now, it just assembles inventory and spell BAMs assuming they only have 2 sequences, so that code could be modded to assemble an indefinite number of sequences like in normal.bam. Shouldn't be nearly as complex as trying to assemble creature BAMs.

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle


#19 Wisp

Wisp
  • Modder
  • 1353 posts

Posted 01 February 2011 - 12:59 PM

If you try to convert multiple .bmps to spell .bams at the same time you end up receiving a single .bam, that of the last .bmp. The same is true for description .bams as well. (Methinks you forgot the ACTION_BASH_FOR.)

#20 Miloch

Miloch

    Barbarian

  • Modder
  • 6579 posts

Posted 01 February 2011 - 09:14 PM

Methinks you forgot the ACTION_BASH_FOR.

And here I thought you'd be posting revised, working, tested code :whistling:.

I'm going to have a go at updating this (I think) to try to add an option to (re)assemble creature BAMs. That is, if I can figure it out. My eyes go all funny at this sort of code these days. Having the 16mb file limit in WeiDU doesn't help much either, for larger BAMs.

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle