Updated original post with current version, readme and download link.
Big thank you to Miloch for maintaining the mod and (apparently) fixing my mistakes. My apologies for this.
There have been 58 items by pro5 (Search limited from 06-June 23)
Posted by pro5 on 22 November 2013 - 10:48 AM in Miscellaneous Released Mods
Updated original post with current version, readme and download link.
Big thank you to Miloch for maintaining the mod and (apparently) fixing my mistakes. My apologies for this.
Posted by pro5 on 01 December 2013 - 12:33 AM in IE Help
so where one would find updated tools?
http://sourceforge.n...es/DLTCEP 7.6g/
Not a modding suite per se, but a game files editor (which is enough to do almost anything you'd want, including a total conversion of the whole game). Yes, it should be compatible with both EEs.
Posted by pro5 on 01 December 2013 - 01:31 AM in IE Help
EE only uses new formats for GUI files (+worldmap mos I think) though. And it will work fine with v1 bam and mos files too. So unless you intend to modify the new gui, there really is no reason to wait. Unless I'm missing something.
The following TP2 code will copy all V2 files in the game into "BAMBATCH/V2" subfolder if you want to check out a complete list of what's "uneditable":
COPY_EXISTING_REGEXP GLOB ~.*\.bam~ ~override~ READ_ASCII 0x4 ~version~ (2) PATCH_IF ~%version%~ STRING_EQUAL_CASE ~V2~ BEGIN INNER_ACTION BEGIN COPY_EXISTING ~%SOURCE_FILE%~ ~bambatch/v2~ END END BUT_ONLY COPY_EXISTING_REGEXP GLOB ~.*\.mos~ ~override~ READ_ASCII 0x4 ~version~ (2) PATCH_IF ~%version%~ STRING_EQUAL_CASE ~V2~ BEGIN INNER_ACTION BEGIN COPY_EXISTING ~%SOURCE_FILE%~ ~bambatch/v2~ END END BUT_ONLY
Posted by pro5 on 01 December 2013 - 02:42 AM in IE Help
Area Tilesets use the PVR format (which is uneditable ATM) as well. BGII:EE also introduced 32-bit bitmap files which is a new format to the Infinity Engine and which NearInfinity can't handle yet (although DLTCEP might can).
Yes, but old TIS tilesets are still accepted and will work just as well (so there's no need to wait for new tools to create a new area for your modding needs). New tilesets can currently be loaded in latest DLTCEP (use "Load MOS..." option) and exported as bitmaps/TIS, although not without problems (resulting images/tilesets have visible graphical glitches aka "tears" at tile borders).
Item description images is the only serious problem I've hit in modding BG2EE - old BAMs aren't displayed at the moment, but as I understand this is going to be fixed in a future patch.
Posted by pro5 on 04 December 2013 - 01:11 PM in IE Modding Tools
Hey Miloch. I'm hitting an error when trying to convert standard rakshasa animations (MRAK*.BAM) to bmp. It successfully converts first 14 frames but on the 15th this happens:
Converting frame 15 (compressed): reading datasize -21067 from offset 23429 ... ERROR: illegal 44-byte read from offset 3080 of 0-byte file INNER_PATCH "%fm%" ERROR: [MRAKG1.BAM] -> [bambatch/bam/MRAKG1.BAM] Patching Failed (COPY) (Failure("INNER_PATCH \"%fm%\": read out of bounds")) Stopping installation because of error.
Looks like the patching goes on even if the calculated frame size was invalid.
Posted by pro5 on 05 December 2013 - 12:09 PM in IE Modding Tools
Tinkered with it a bit more today, I think this should do it:
//! Convert BAMs to BMPs /////////////////////////////////////////////////////
BEGIN ~Convert BAMs to BMPs~
SUBCOMPONENT ~BAM Batcher~
NO_LOG_RECORD
//COPY_EXISTING_REGEXP GLOB ~mspi.+\.bam~ ~bambatch/bam~
COPY - ~bambatch/bam~ ~bambatch/bam~
READ_ASCII 0x0 sg (4) //Signature
PATCH_IF (~%sg%~ STRING_EQUAL_CASE ~BAMC~ = 1) BEGIN
READ_LONG 0x8 dl //Uncompressed data length
DECOMPRESS_REPLACE_FILE 0xc (SOURCE_SIZE - 0xc) dl
sz = dl
END ELSE BEGIN
sz = SOURCE_SIZE
END
SPRINT bn ~%SOURCE_RES%~
PATCH_PRINT ~Converting %SOURCE_FILE% to bitmaps ...~
READ_SHORT 0x8 fc //Frame count
READ_LONG 0x10 pf //Palette offset
READ_ASCII pf pt (1024)
READ_ASCII (pf + 3) nl (1) //Null
READ_LONG 0xc fn //Frame entry offset
FOR (f1 = 0; f1 < fc; f1 += 1) BEGIN //Frame loop
SET BadFrameSkip = 0
SPRINT xl ~~ //End of line
READ_SHORT (f1 * 0xc + fn) fw //Frame width
df = (fw / 4) * 4
PATCH_IF df < fw BEGIN
lz = df + 4 //Line size
df = lz - fw //Byte difference
FOR (g1 = 0; g1 < df; g1 += 1) BEGIN
SPRINT xl ~%xl%%nl%~
END
END ELSE BEGIN
lz = fw
df = 0
END
READ_SHORT (f1 * 0xc + fn + 2) fh //Frame height
READ_LONG (f1 * 0xc + fn + 8) fd //Frame data offset
cp = NOT ((fd & 0b10000000000000000000000000000000) >> 31) //Compression
fd = (fd & 0b01111111111111111111111111111111)
PATCH_IF cp = 0 BEGIN
ds = (fw * fh) //Data size
PATCH_IF (%ds% > 1) BEGIN
PATCH_PRINT ~Converting frame %f1% (uncompressed): reading datasize %ds% from offset %fd% ...~
READ_ASCII fd fm (ds)
END // PATCH_IF (%ds% > 1)
ELSE BEGIN
SET BadFrameSkip = 1
END
END ELSE BEGIN
PATCH_IF f1 < (fc - 1) BEGIN
READ_LONG ((f1 + 1) * 0xc + fn + 8) nf //Next frame data offset
nf = (nf & 0b01111111111111111111111111111111)
ds = (nf - fd)
END ELSE BEGIN
ds = (sz - fd)
END
PATCH_IF (%ds% > 1) BEGIN
PATCH_PRINT ~Converting frame %f1% (compressed): reading datasize %ds% from offset %fd% ...~
tx = 0 //Transparency index cleared
SPRINT fm ~~ //Clear frame data
cc = 0 //Column count
FOR (f2 = 0; f2 < ds; f2 += 1) BEGIN //Crawl through frame data
PATCH_IF tx = 0 BEGIN //If transparency set to 0 (1st byte or non-transparent reached)
READ_BYTE (fd + f2) bt //1st byte hex value
READ_ASCII (fd + f2) bx (1) //1st byte ASCII value
PATCH_IF (bt = 0) AND (f2 < (ds - 1)) BEGIN //If byte is transparent and not last pixel
READ_BYTE (fd + f2 + 1) bv //Next byte
FOR (f3 = 0; f3 < (bv + 1); f3 += 1) BEGIN //Augment transparent pixels
SPRINT fm ~%fm%%bx%~ //Add byte ASCII value
cc += 1 //Column counter
PATCH_IF (cc = fw) AND (df > 0) BEGIN //If column is frame width and there's a difference
SPRINT fm ~%fm%%xl%~ //Pad line with extra BMP nulls
cc = 0 //Reset column counter
END
END
tx = 1 //Transparency set
END ELSE BEGIN //If not transparent or last pixel
SPRINT fm ~%fm%%bx%~ //Add byte ASCII value
cc += 1 //Increase column counter
PATCH_IF (cc = fw) AND (df > 0) BEGIN //If column is frame width and there's a difference
SPRINT fm ~%fm%%xl%~ //Pad line with extra BMP nulls
cc = 0 //Reset column counter
END
END
END ELSE BEGIN //If transparency is not 0
tx = 0 //Set to 0
END
END
END // PATCH_IF (%ds% > 1)
ELSE BEGIN
SET BadFrameSkip = 1
END
END // ELSE (PATCH_IF cp = 0)
PATCH_IF %BadFrameSkip% = 0 BEGIN
SPRINT fk ~~
INNER_PATCH ~%fm%~ BEGIN
FOR (g2 = fh; g2 > 0; g2 -= 1) BEGIN //Reverse rows for BMP
PATCH_IF cp = 0 BEGIN //If compressed
READ_ASCII ((g2 - 1) * fw) fl (fw) //Read frame width
SPRINT fk ~%fk%%fl%%xl%~ //Pad with extra nulls
END ELSE BEGIN
READ_ASCII ((g2 - 1) * lz) fl (lz) //Read padded line width
SPRINT fk ~%fk%%fl%~
END
END
END
fz = (0x436 + (lz * fh))
INNER_ACTION BEGIN
COPY ~bambatch/header.bmp~ ~bambatch/bmp/%bn%%f1%.bmp~
WRITE_LONG 0x2 fz //File size
WRITE_LONG 0x12 fw //Width
WRITE_LONG 0x16 fh //Height
WRITE_LONG 0x22 (lz * fh) //Image size
WRITE_ASCIIE 0x36 ~%pt%~ //Color table
READ_LONG 0x36 p0
PATCH_IF p0 = 0x9797 BEGIN
WRITE_LONG 0x36 0xff00 //Fix cyan transparency to green
END
//Uncomment line below to write a brown background (similar to in-game look)
//WRITE_LONG 0x36 0x352e21
READ_LONG 0x3a p1
PATCH_IF p1 = 0xff6597 BEGIN
WRITE_LONG 0x3a 0x080808 //Fix pink shadow to dark grey
END
INSERT_BYTES 0x436 (lz * fh)
WRITE_ASCIIE 0x436 ~%fk%~ //Raster data
BUT_ONLY
END
END // PATCH_IF %BadFrameSkip% = 0
ELSE BEGIN
PATCH_PRINT ~Skipping frame %f1% - invalid frame size.~
END
END // FOR
BUT_ONLY
Basically, just added skipping any frame with frame size 1 x 1 or less - those "pixel" frames are really useless for editing, and if anyone needs to reinsert them later into modified animation bams it should be easy to just clone any one of them with weidu. Rakshasa animation, as it happens, contains tons of those, so this greatly speeds up conversion process too. The loop index variable still goes up for skipped frames, so for example if out of 100 frames 14-65 were skipped, you'll get *0.bmp through *13.bmp and *66.bmp through *100.bmp in the output folder.
Posted by pro5 on 06 December 2013 - 06:43 AM in IE Help
nope. I cannot open the new audio files in ANY way.
They're simple OGG files. Extract them from biffs with weidu (weidu.exe --biff-get whatever.wav), change extension to .ogg and play with any decent music player (foobar2000, winamp, windows media player, etc.) to see what's in them.
DLTCEP menu option Sound -> WAVC to WAV will also correctly extract and convert them to old-fashioned WAVs which will be recognized by non-EE games.
Posted by pro5 on 17 December 2013 - 07:39 AM in IE Modding Tools
(And erm, yeah, if you are doing advanced BAM manipulation for stuff like animations, drop me a PM... might be able to hook you up...)
Done. Been away from BG and IE games and modding, but the stir EE raised has brought me back home, at least for now.
Posted by pro5 on 28 December 2013 - 01:01 AM in IE Mod Ideas
Sounds like an interesting and intriguing concept, I wish you success in bringing it to life.
Advice on a couple things which stood out to me:
All the same it can be sold to a noble collector in Athkatla but the real story begins if it is kept and worn.....
This sounds like it would be easy for a player to skip the quest altogether (perhaps unknowingly) by selling the item. I'd consider adding a plot line to lead the player back towards the amulet after selling it, so the quest can still be started in another way. For example, maybe after a few days the party catches a rumour of the noble collector dying under mysterious circumstances and is called upon to investigate (or maybe they're even suspects in his death now). Or the noble's behavior changes because he's affected by the artifact, and one of his close friends/family comes to the party with questions or plea for aid.
and if you refuse his attempts to 'save' you which involves him joining the party and trying to destroy the amulet without killing you
I'd recommend not making the extra companion mandatory for completing a quest arc. With the amount of NPC mods out there now, those party slots are very precious and by requiring one of them you risk losing a significant part of the audience who'd prefer to have their own NPC party selection. Perhaps the paladin offers to help, and then if the player accepts he also offers to join the group. If this second offer is refused, he can still try to help (perhaps staying at one of the inns, if multiple interactions with him are planned) without joining the party.
Posted by pro5 on 10 January 2014 - 12:37 PM in Mega Mod Help
Drizzt Saga mod is currently undergoing an update for BGEE compatibility, as well as repairing various existing problems, bugs and compatibility issues along the way.
This topic is a request for information on existing fixes and known problems for the current versions of this mod in a generic mega-mod / BWS setup.
I'm aware of these files currently hosted at SHS:
- Drizzt Saga WM (7 or later) patch (changes: area location coordinates on worldmap)
- Drizzt Saga for BGT/Tutu v2 (changes: Drizzt joins after Durlag's Tower is completed)
I'm planning to include these changes in the upcoming v3, so these files will no longer be necessary (v2 adaptation will be included as an optional component).
If there are any other existing fixes applied to Drizzt Saga in the current BWS / BWP setup, please let me know here so I can include them in the new version as well. Any outstanding issues and bug reports can be posted here too. A fair amount of problems I have already found and fixed, but if it's something new I'll investigate. Note that I can't change the mod's quest and dialog content since I'm not the original author (props to flysoup for creating it), I'm just upkeeping the technical side.
Cheers.
Posted by pro5 on 11 January 2014 - 09:48 AM in Mega Mod Help
The One Drizzt is very unlikely to be compatible unless the author updates it, not much I can do about that - there are simply too many changes.
Also in v1.41 tp2 file of this mod, there is an error:
COPY ~THEONEDRIZZT/F_CATTIB.CRE~ ~override~
SAY NAME1 @28
SAY NAME2 @28
SAY INITIAL_MEETING @29
SAY BATTLE_CRY1 @30
SAY DAMAGE @31
SAY DYING @32
SAY SELECT_COMMON1 @33
SAY SELECT_COMMON2 @29
SAY DIALOG_HOSTILE @34
SAY BIO @35
WRITE_ASCII 0x260 ~_TASIGHT~ #8
WRITE_ASCII 0x268 ~_DPLAYER~ #8
WRITE_ASCII 0x4a4 ~_CHAN07~ #8
WRITE_ASCII 0x4b8 ~_BRAC04~ #8
WRITE_ASCII 0x508 ~_POTN08~ #8
Those are Tutu item and script references, though the One Drizzt mod as far as I understand is BGT only (otherwise how it can make Drizzt continuous through RoT). Looks like the author copied these lines from Drizzt Saga Tutu install branch, not realizing there were two branches for BGT and Tutu.
Also I would request that you would make the biff-ing made in the "Areas.bat" file optional, so the BWInstall pack doesn't need to overwrite it. You should be able to ask Lollorian the exact details on that.
More details would be good, so far I can't find any place in BW installpack's bat files that overwrites area biffing in Drizzt Saga - only a small patch made to Sounds.bat to remove pausing the installation. Or are you referring to the fact that biffs created from .bat files cannot be later uninstalled with weidu and have to be deinstalled manually?
There's a folder with fixes included with the BWP Fixpack,
And the Russian Textpack includes a translation.
Thanks, I'll take a look at those.
Posted by pro5 on 13 January 2014 - 11:10 PM in Resource Request Forum
Looking for translations for 17 new lines in BGEE-compatible Drizzt Saga version in French, Italian, Polish and Spanish languages.
- 4 lines are component names for WEIDU.LOG (try to use only latin symbols for these)
- 4 lines are setup feedback lines (try to use only latin symbols for these)
- 9 lines are dialog and journal entries for a new Delayed Start component (can use any national symbols here)
The short TRA file for translation with comments is attached to this post. Please attach the translated version of the same file, rather than simply posting translated text in a response post (I'd rather not worry about losing any special characters while copy-pasting and saving).
Posted by pro5 on 19 January 2014 - 08:27 AM in Resource Request Forum
Added French, thanks.
Since you mentioned that the mod will become BGEE compatible, I assume it will also target BGT/Tutu
Correct, there will be one install package for all 3 platforms.
I don't know if you anticipated the need to have a different character encoding for BGEE
Yes I'm aware of that. I'm prepared to handle the conversions, but having ready-to-use utf8 file for bgee is a great help, thank you.
Posted by pro5 on 19 January 2014 - 11:13 AM in Mega Mod Help
Usage1 can be either the amount of available charges for the 1st extended header (for items with charges), or number of items in a stack (for stackable items). It's similar to how the CLUAConsole:CreateItem() command works - using CLUAConsole:CreateItem("wand02",10,0,0) should create you Wand of Fear with 10 charges, while CLUAConsole:CreateItem("misc07",10,0,0) will create a stack of 10 gold pieces.
Posted by pro5 on 21 January 2014 - 09:49 AM in BGT Archive
Keep in mind WeiDU will auto-update itself if you run the old version .exe from same folder where you also have more recent versions.
Posted by pro5 on 23 January 2014 - 07:21 AM in BGT Archive
I think the easiest solution would be to make the .exe from the archive read-only. Right-click the .exe, set the read-only file attribute, click OK. It should fail to auto-update then. EDIT: Scratch that - testing shows WeiDU has no respect for that flag whatsoever, and updates anyway.
And I don't think this requires any other drastic action such as changing WeiDU ADD_MUSIC behavior - the change in v233 was logical and is actually useful, making it easier for "normal" mods to add their music into the game without creating duplicate entries in the .2da if the mus file already exists (i.e. added by another mod). Some other existing mods, or mods currently in development may rely on that behavior, and changing it could break more than just BGTMusic.
It is not a normal situation for a mod to add duplicate entries for the same MUS file to the songlist, in fact it's a very strange solution, I guess it was just chosen as a convenient shortcut. The ARE files should have been changed to refer to the same existing 2da entry instead.
Posted by pro5 on 24 January 2014 - 06:26 AM in Big Picture
I have BG2EE installed and I can confirm SW2H21.ITM is definitely there, so the problem is somewhere else. Which folder are you running the install .exe from? It should be the same folder which contains the game's CHITIN.KEY file.
Posted by pro5 on 24 January 2014 - 07:03 AM in Big Picture
I assumed BG2EE, should've read more carefully. I didn't think it could be installed on anything except BG2[EE] or BG2+BGT.
Posted by pro5 on 29 January 2014 - 06:31 AM in BGT Archive
Don't work, tavern music start on GNoll Stronghold and Bandit Camp, and Imoen have wrong soundset.
Are you trying this on an existing save, by any chance? The changed TP2 from above won't affect areas already visited in your saved game. Imoen is not touched by BGTMusic at all, but messed up soundsets and strrefs are a common problem after loading a save made with a different mod setup/install order than the current one.
Posted by pro5 on 29 January 2014 - 08:25 AM in Arath
I don't own a Mac, so I can't give verified instructions. But I see Kaeloree included sox in the package and TP2 uses HANDLE_AUDIO to process audio, so in theory this should install on a Mac with a proper OS X version of WeiDU binary.
Try this:
1. Download OS X version of latest WeiDU from weidu.org.
2. Extract the WeiDU binary from the downloaded archive (it's in the "bin" subfolder), put it into your main BG2EE game folder (it should be the one containing the CHITIN.KEY file) and rename it into "setup-arath".
3. Download the .command file attached in a zip archive to this post and unpack it into the same folder. Double-click it to (hopefully) start the installation.
I'd like to know if this works too - I've recently added similar install instructions on Mac OS X and Linux to the readme of a mod I'm working on, but without having a Mac I can't verify they are actually correct.
Posted by pro5 on 29 January 2014 - 08:40 PM in IE Modding Discussion
Posted by pro5 on 31 January 2014 - 06:26 AM in BGT Archive
Nope, I've tried it exactly as you said and I still get the tavern music on the gnoll and bandit maps. Like I said though, as long as you pick the just BG1 option the music will work fine. Except there's no music on the very first Candlekeep map but tbh I don't remember if there ever was. Candlekeep in Chapter 6 has the right music though.And you updated the WeiDU .exe of setup-bgtmusic to v236 before installing it? You can check this in .DEBUG file - it should say "WeiDU v 23600 Log" at the top.
Posted by pro5 on 01 February 2014 - 04:29 AM in Classifieds
Posted by pro5 on 02 February 2014 - 08:42 PM in Mega Mod Help
~BGGRAPHICS/SETUP-BGGRAPHICS.TP2~ #0 #0 // BGT Extended Night and Baldur's Gate Map Fixes: v1.4
Posted by pro5 on 06 February 2014 - 10:47 AM in Infinity Animations
} (ascii code 0x7D) ` (ascii code 0x27) , (ascii code 0x2C) & (ascii code 0x26) ~ (ascii code 0x7E) { (ascii code 0x7B) $ (ascii code 0x24) = (ascii code 0x3D) + (ascii code 0x2B)They are valid filename symbols (in Windows at least, no idea about Mac or Linux), and they are NOT widely used in mods, despite what IA devdoc file says. Not to mention this mod will only ever use them for BAM and (very few) 2DA resources, reducing the chances for any potential conflict further. All these symbols exist with same ascii codes in Japan windows codepage 932 and russian 1251 (I think those were the ones who had problems with IA originally?).
Community Forum Software by IP.Board
Licensed to: Spellhold Studios