Jump to content

CamDawg

Gibberling Poobah
  • Posts

    12,003
  • Joined

Everything posted by CamDawg

  1. Mathrim Cauthon has been kind enough to translate this tutorial into French. Part I has been translated so far and is available here.
  2. CamDawg

    CREDITS

    Website updated as well.
  3. The point of dropping them is because Bri is not going to write them. If she's going to write them for a deleted scenes file, then I would just go ahead and code them into the mod.
  4. The site has been updated with the new version. P&P Celestials Mod page P&P Celestials Full Readme G3 Downloads Page
  5. Caedwyr has updated P&P Celestials to v2. P&P Celestials - v2 - Added new scripts for the celestials courtesy of Galactygon - Added new spell graphics for Dimensional Door and Anti-Magic Shell courtesy of Galctygon. - Made some small modifications to the functional properties of Anti-Magic Shell. It now protects from more and disables all of the correct buttons. - Added a French translation by Mathrim Cauthon
  6. Probably more info than you wanted... Banters - Done. Quests - The three minor encounters are done; the large quest is only at an outline atm. Interjections - Probably around 60% done. Love talks - Around 50%. Misc (creatures, items, spells, kits) - Done Audio (Voicing, music) - Not started.
  7. June 30 Getting into the heart of the Love Talks--the core romance track is about halfway coded, though there are still a lot of extras beyond that. And the testing, always the testing. From a coding perspective, I'd say we're around the midpoint overall.
  8. Bri: the check is in the mail.
  9. Distracted by shiny objects and didn't get nearly as much done as I wanted since the last entry. We're in the process of adding some 'floating lovetalks' in an effort to make the romance much less linear. Otherwise, I've been coding in more love talks and squashing a few more bugs.
  10. Sorcerer's Place Collection is now at v2. Sorcerer's Place Collection - v2 - Changed to integer numberng system--future versions of the mod will be v3, v4, etc. - Fixed issues with the Archer of Sylvanus being able to use bows and arrows. - The items in Creslyn's Item Pack will now appear inline in a store's inventory rather than at the top. - Items in Creslyn's Item Pack will also detect kit components better and adjust accordingly.
  11. June 4 Knocked down another 4 or 5 love talks, as well as coded up a lot of ancillary romance material. We passed the 50K word mark somewhere in there as well. My wife and I are moving in early August, so I'm really trying to push and get a lot of coding done before the move, as I'll likely be offline for a bit.
  12. Recent Updates: NPC Beautification - v2 Added Jaheira portrait
  13. The ADD_KIT functions expects the appending done in a certain order, so you will need to stick with the order as given in the tutorial. The // comment tells WeiDU to ignore everything from // to the end of the line. Since the appends are not on the same line, they're fine. It is a bit confusing reading it on the forums, since it causes some lines to wrap depending on your setup. The other type of commenting you may see are /* comments like this */. Anything between the /* and */ gets ignored, including if the comment runs more than one line.
  14. May 24 Bri's still kicking my ass. But I've coded about 8 LTs so far.
  15. OK, so far we've covered what's generally possible in kit creation, the files involved, and creating a basic WeiDU installer and the ADD_KIT command. However, there's still a lot more that needs to be done to install your kit. What about adding spells and items? Interacting with other mods? Assigning a kit to a creature? That's what we're going to cover in this fourth and final installment. I'm going to cover some basic commands and flags/options; I refer the reader to the WeiDU readme for additional WeiDU tricks, commands, and options. Basic file transfers: the COPY command COPY is one of the most basic commands to transfer files. Syntax, and likely options you will need, is: COPY ~MyMod/MySpell.spl~ ~override~ SAY NAME1 ~General Name~ // unidentified name for items OR spell name SAY NAME2 ~Identified Name~ // identified name for items; not used for spells SAY UNIDENTIFIED_DESC ~Unidentified Description~ // unidentified description for items, spell description for spells SAY DESC ~Identified Description~ // identified description for items, unused for spells The COPY command takes your file and moves it, in this example, to the override folder, making it accessible to the game. The SAY commands are optional; they set the strings in dialog.tlk for your item or spell. When creating your items or spells for the kit, don't bother adding the strings to dialog.tlk--WeiDU does it automatically and in an uninstallable fashion. The four SAY commands are all optional, so include the SAYs that you need. COPY can also be used for multiple files, either by copying a directory (in his example, the folder named bams inside the MyMod folder) COPY ~MyMod/bams~ ~override~ or by specifying more than one file with COPY COPY ~MyMod/bam1.bam~ ~override~ ~MyMod/bam2.bam~ ~override~ ~MyMod/eff1.bam~ ~override~ SAY can be used in conjunction with a multiple file COPY; however the SAY will apply to every file copied with the function. Using COPY and COPY_EXISTING to assign a kit to a creature Assigning a kit to a creature is more difficult tha it seems. Creature files (.CRE) use the kit number from KITLIST.2da to determine their kit. However, depending if the player has more than one kit mod installed, the reference will change. So, you need assign the kit at the time of installation. If you're adding a new creature and want it to have the new kit, you could use COPY ~Delainy/cre/C!DELA10.cre~ ~override/C!DELA10.cre~ // Level 10 Delainy SAY NAME1 ~Delainy~ SAY NAME2 ~Delainy~ WRITE_SHORT 0x244 0 // doesn't change WRITE_SHORT 0x246 0x4000 + ~%C!WWBARD%~ // the internal name of your kit, surrounded by % This is code I use to assign the C!WWBARD kit to Delainy. If you want to assign a kit to an existing creature, for example assigning Viconia a Nightcloak of Shar kit, you can use COPY_EXISTING. COPY_EXISTING is similar to COPY, except that it searches for the file in game and makes the changes you specify to it. It can also take multiple souce and destination files, similar to COPY. COPY_EXISTING ~Viconi6.cre~ ~override~ ~Viconi8.cre~ ~override~ ~Viconi9.cre~ ~override~ ~Viconi11.cre~ ~override~ ~Viconi13.cre~ ~override~ ~Viconi16.cre~ ~override~ // ToB only, see below on ACTION_IF WRITE_SHORT 0x244 0 // doesn't change WRITE_SHORT 0x246 0x4000 + ~%A#SHAR%~ // the internal name of your kit, surrounded by % Viconia has multiple CRE files depending on the level she spawns, so this code will patch all of them. However, this is bad code: if you use COPY_EXISTING and WeiDU can not find the file specified, installation will fail. In the example above, Viconi16.cre is a ToB-only file, so using this code on an SoA-only install will cause it to fail. The solution to that is our next command, ACTION_IF. Conditional installations: using ACTION_IF for detection ACTION_IF is a great way to make your mod compatible with other mods and to avoid problems with SoA-only installs. ACTION_IF is essentially a list of WeiDU commands that only occur if a certain condition is met. Syntax is as follows: ACTION_IF FILE_EXISTS_IN_GAME ~item.itm~ THEN BEGIN (WeiDU commands such as COPY if the condition is true) END ELSE BEGIN // the ELSE clause is entirely optional (WeiDU commands such as COPY if the condition is false) END There are conditions other than FILE_EXISTS_IN_GAME (again, check the WeiDU docs). One task that is directly applicable to kit-making is to only copy over HLA spells if ToB is installed. To do that, you can use the condition GAME_INCLUDES ~tob~. To fix the bad Viconia example from above, you use this instead (note that only the Viconi16.cre patch is conditional; all other files are always patched since they are not inside the ACTION_IF): COPY_EXISTING ~Viconi6.cre~ ~override~ ~Viconi8.cre~ ~override~ ~Viconi9.cre~ ~override~ ~Viconi11.cre~ ~override~ ~Viconi13.cre~ ~override~ // Viconi16.cre has moved to the ACTION_IF, below WRITE_SHORT 0x244 0 // doesn't change WRITE_SHORT 0x246 0x4000 + ~%A#SHAR%~ // the internal name of your kit, surrounded by % ACTION_IF FILE_EXISTS_IN_GAME ~Viconi16.cre~ THEN BEGIN COPY_EXISTING ~Viconi16.cre~ ~override~ // ToB only WRITE_SHORT 0x244 0 // doesn't change WRITE_SHORT 0x246 0x4000 + ~%A#SHAR%~ // the internal name of your kit, surrounded by % END Any WeiDU command can be used inside an ACTION_IF, including ADD_KIT. Two popular mods that affect classes and kits in general are Ghreyfain's Ashes of Embers (universal weapons, aka CLERICS WITH SWORDS) and aVENGER's Rogue Rebalancing (thieves get 3 stars in dual-wielding). You can use ACTION_IF to detect if they're installed and modify the kit accordingly. For example, here's the same Silverstar of Selûne kit of Cleric Remix that we used in part three, as it appears in the tp2. I include a check for ~bola01.itm~, an item added by AoE. ACTION_IF FILE_EXISTS_IN_GAME ~bola01.itm~ THEN BEGIN // if Ashes of Embers is installed ADD_KIT ~C!Selune~ ~C!Selune 1 1 1 1 1 1 1 1~ // no weapon restrictions ~C!Selune 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1~ // no weapon restrictions ~C!Selune 0 0 0 0 9 0~ ~C!Selune 0 0 0 0 0 0~ ~C!Selune 0 0 0 0 17 0~ ~C!Selune 0 0 0 0 15 0~ ~C!Selune 0 0 0 1 0 0 1 1 0~ ~C!Selune 1 0 1 1 0 1~ ~Cleric_Remix/Selune/C!Selune.2da~ ~K_C_D K_C_E K_C_G K_C_H K_C_HE K_C_HL K_C_HO~ ~0x00004000 3~ ~C!3~ ~CHAN09 * HELM07 BAG20 RING06 RING31 * BOOT01 AMUL19 BRAC16 BELT06 AROW11,40 BULL03,40 BOLT06,40 POTN52,5 POTN4,2 POTN14,5 HAM07 SW1H27 STAF08~ SAY ~Silverstar of Selûne~ SAY ~Silverstar of Selûne~ SAY ~SILVERSTAR OF SELÛNE: Description cut due to length~ END ELSE BEGIN // if Ashes of Embers is NOT installed ADD_KIT ~C!Selune~ ~C!Selune 0 0 1 1 0 1 0 0~ // normal weapon restrictions ~C!Selune 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0~ // normal weapon restrictions ~C!Selune 0 0 0 0 9 0~ ~C!Selune 0 0 0 0 0 0~ ~C!Selune 0 0 0 0 17 0~ ~C!Selune 0 0 0 0 15 0~ ~C!Selune 0 0 0 1 0 0 1 1 0~ ~C!Selune 1 0 1 1 0 1~ ~Cleric_Remix/Selune/C!Selune.2da~ ~K_C_D K_C_E K_C_G K_C_H K_C_HE K_C_HL K_C_HO~ ~0x00004000 3~ ~C!3~ ~CHAN09 * HELM07 BAG20 RING06 RING31 * BOOT01 AMUL19 BRAC16 BELT06 AROW11,40 BULL03,40 BOLT06,40 POTN52,5 POTN4,2 POTN14,5 HAM07 SW1H27 STAF08~ SAY ~Silverstar of Selûne~ SAY ~Silverstar of Selûne~ SAY ~SILVERSTAR OF SELÛNE: Description cut due to length~ END If AoE is installed, you'll notice that the kit now allows proficiencies in all weapons, matching the changes made by AoE. If AoE is not present, then the kit has the typical proficiency set of a cleric. The same could be used for thief kits and Rogue Rebalancing--by checking for an item only added by Rogue Rebalancing, you could install a thief kit with one or three stars in dual-wielding, as appropriate. Summary I've tried to cover the majority of Kit creation and installation with this tutorial series, but there will inevitably be areas I have missed or additional questions to be asked. As such, please refer to the kit creation series discussion thread here at The Gibberlings Three and we will do our best to answer your questions. Complete Series Part One: Limitations of the Engine Part Two: Game Files Involved Part Three: Installing with WeiDU Part Four: Additional WeiDU Functions
  16. First, I've received PMs and a few emails asking me to hurry up and finish the next part of the tutorial. Thanks all, for your interest, and apologies all, for the delay. Today's topic will cover using WeiDU as a distribution and installation tool. For those of you who do not know how to use WeiDU or are building your first mod, I've also included a section with a basic WeiDU mod set-up. For those of you already familiar in the ways of tp2, you can skip down to the next section. Creating a WeiDU Mod - The Basics A WeiDU mod is essentially the WeiDU program itself, a list of instructions that tells the WeiDU program what to do (the tp2 file, discussed more below) and the files required for your mod--such as items, spells, etc. Your first step is to grab the actual WeiDU program at weidu.org; the current version is v155. Find the weidu.exe program and rename it to Setup-MyMod.exe. Throughout this tutorial, I will use MyMod; however when creating your mod replace MyMod with the name of your mod. As an aside, the examples included with WeiDU itself, as well as the documentation, are a source of tutorials in and of themselves. The next step is to create a folder named MyMod that will hold, among other items, the backup folder and other files for your mod. Inside the MyMod folder, create another folder named backup. When a WeiDU mod is installed, any files that are changed or altered are stored in the backup folder for uninstallation purposes. You'll also want to add a single text file or something inside your backup folder. (If you compress your mod into ZIP or RAR format, some programs will ignore empty folders when decompressing it. This can lead to a missing backup folder, which, in turn, will cause installation of your mod to fail. We add a meaningless file to the folder to make it non-empty.) Finally, we create the tp2 file. The tp2 file is a text file that tells WeiDU how to install and uninstall your mod. A tp2 file esentially contains a header--containing information such as the author, language options, etc.--and a section for every mod component. So create a text file named Setup-MyMod.tp2 and place it inside the MyMod folder. You can use any text editor for working with the tp2 file, though I would recommend Visual Studio Code together with the BGforge MLS extension created by @Magus for syntax highlighting and autocompletion. (Note: Text editor recommendation last updated in January 2021.) Once created, open your tp2 in your editor of choice. Throughout the syntax, you'll see comments from me. In the tp2 file anything between a /* and the closing */ is a comment and ignored by WeiDU. Another form of comment is // which tells WeiDU to ignore everything from // to the end of the line. To start with, we need to create the header. So add this to your tp2: BACKUP ~MyMod/backup~ // so WeiDU can uninstall AUTHOR ~myemail@mydomain.com~ // contact address displayed if installation fails These are the bare minimum required for a mod. There are additional commands you can add to the header; I refer the reader to the WeiDU documentations for a full list. After the header, you'll need to add commands for each component of your mod. BEGIN ~Tutorial Kit~ // name of this component You can have as many BEGINs as you like; each BEGIN is a new component for your mod. When we discuss using the ADD_KIT command, below, you'll need to add it after BEGIN. Finally, on to the ADD_KIT command ADD_KIT is a powerful command for WeiDU that will modify almost all files necessary to create a kit. Probably the best way is to first post code in full, then we'll go back over it line-by-line. This is the Silverstar of Selûne kit from Cleric Remix, which we will use as an example. // internal name of the kit ADD_KIT ~C!Selune~ // appended to CLASWEAP.2da ~C!Selune 0 0 1 1 0 1 0 0~ // appended column-wise to WEAPPROF.2da ~C!Selune 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0~ // appended to ABCLASRQ.2da ~C!Selune 0 0 0 0 9 0~ // appended to ABCLSMOD.2da ~C!Selune 0 0 0 0 0 0~ // appended to ABDCDSRQ.2da ~C!Selune 0 0 0 0 17 0~ // appended to ABDCSCRQ.2da ~C!Selune 0 0 0 0 15 0~ // appended to ALIGNMNT.2da ~C!Selune 0 0 0 1 0 0 1 1 0~ // appended to DUALCLAS.2da ~C!Selune 1 0 1 1 0 1~ // path to your CLAB-style 2da file ~Cleric_Remix/Selune/C!Selune.2da~ // PC races and classes allowed to use this kit, from KITTABLE.2da ~K_C_D K_C_E K_C_G K_C_H K_C_HE K_C_HL K_C_HO~ // usability flags, added to the end of the KITLIST.2da entry ~0x00004000 3~ // HLA table to use; see LUABBR.2da ~C!3~ // list of starting equipment for PCs starting in ToB. Appended column-wise to 25STWEAP.2da ~CHAN09 * HELM07 BAG20 RING06 RING31 * BOOT01 AMUL19 BRAC16 BELT06 AROW11,40 BULL03,40 BOLT06,40 POTN52,5 POTN4,2 POTN14,5 HAM07 SW1H27 STAF08~ // Lower, mixed, and help kit names and descriptions, added to KITLIST.2da SAY ~Silverstar of Selûne~ SAY ~Silverstar of Selûne~ SAY ~SILVERSTAR OF SELÛNE: Description cut due to length~ OK, so now line by line. You'll notice that with most of these I've removed the comments. ADD_KIT ~C!Selune~ C!Selune, in this example, is the internal name of the kit as it will be referred to in the game files. The internal name you specify here will need to be consistent throughout the rest of the ADD_KIT command. // appended to CLASWEAP.2da ~C!Selune 0 0 1 1 0 1 0 0~ // appended column-wise to WEAPPROF.2da ~C!Selune 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0~ // appended to ABCLASRQ.2da ~C!Selune 0 0 0 0 9 0~ // appended to ABCLSMOD.2da ~C!Selune 0 0 0 0 0 0~ // appended to ABDCDSRQ.2da ~C!Selune 0 0 0 0 17 0~ // appended to ABDCSCRQ.2da ~C!Selune 0 0 0 0 15 0~ // appended to ALIGNMNT.2da ~C!Selune 0 0 0 1 0 0 1 1 0~ // appended to DUALCLAS.2da ~C!Selune 1 0 1 1 0 1~ Appends data to the various 2da files. For a refresher on the various 2das, see part two of the tutorial. The spacing between entries is actually unimportant, as it can be one space or several. However, for convenience, I have spaced out the entries here so that they will line up with the columns in a default installation. Data that is appended column-wise is added in a column, rather than a row. ~Cleric_Remix/Selune/C!Selune.2da~ This is the path to your CLAB-style 2da file for the kit. If you were to use MYKIT.2da and put it inside the MyMod folder, than this line would be ~MyMod/MYKIT.2da~ instead. The filename can not exceed eight characters. ~K_C_D K_C_E K_C_G K_C_H K_C_HE K_C_HL K_C_HO~ This line determines what combinations of class and race to make the kit available for a player character, as found in KITTABLE.2da. If you want the kit to not be available to the characters created by the player, then use ~~ instead. Creating non-player kits can be useful if you want to give an NPC or a monster a powerful or unique kit, but don't want the player to have access to it. It can also be used for special modifications to an existing kit for an NPC. Chloe, for example, uses a Kensai kit that is not available to the PC that disallows dual-classing. ~0x00004000 3~ The usability flags for KITLIST.2da. I have again spaced these to match the columns, though this is not strictly necessary. Refer back to part two for more information on the usability flags. ~C!3~ Determines which HLA table to use for the kit. (If the kit is installed on an SoA-only game, the lines delaing with ToB are ignored.) If you use a custom table, you'll need to copy it over separately (covered below). ~CHAN09 * HELM07 BAG20 RING06 RING31 * BOOT01 AMUL19 BRAC16 BELT06 AROW11,40 BULL03,40 BOLT06,40 POTN52,5 POTN4,2 POTN14,5 HAM07 SW1H27 STAF08~ A list of starting equipment for a PC using this kit in ToB, appended column-wise to 25STWEAP.2da. If you don't want a kit to have a piece of equipment in a particular slot, you can use a * instead. This line is also ignored on a ToB-only installation. SAY ~Silverstar of Selûne~ SAY ~Silverstar of Selûne~ SAY ~SILVERSTAR OF SELÛNE: Description cut due to length~ And finally, the name and description of your kit. These correspond to the lower, mixed, and help descriptions of your kit in KITLIST.2da. While many mods treat the mixed and lower strngs differently, I have yet to see a difference and usually use the same string for them. The third SAY, with its longer description, can run over more than one line. So if we were to combine these, and exclude the comments. it would look like: ADD_KIT ~C!Selune~ ~C!Selune 0 0 1 1 0 1 0 0~ ~C!Selune 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0~ ~C!Selune 0 0 0 0 9 0~ ~C!Selune 0 0 0 0 0 0~ ~C!Selune 0 0 0 0 17 0~ ~C!Selune 0 0 0 0 15 0~ ~C!Selune 0 0 0 1 0 0 1 1 0~ ~C!Selune 1 0 1 1 0 1~ ~Cleric_Remix/Selune/C!Selune.2da~ ~K_C_D K_C_E K_C_G K_C_H K_C_HE K_C_HL K_C_HO~ ~0x00004000 3~ ~C!3~ ~CHAN09 * HELM07 BAG20 RING06 RING31 * BOOT01 AMUL19 BRAC16 BELT06 AROW11,40 BULL03,40 BOLT06,40 POTN52,5 POTN4,2 POTN14,5 HAM07 SW1H27 STAF08~ SAY ~Silverstar of Selûne~ SAY ~Silverstar of Selûne~ SAY ~SILVERSTAR OF SELÛNE: Description cut due to length~ Cool, but what about all the spells, items, and other fun stuff I need for the mod? Adding spells, items, and other nifty WeiDU commands pertaining to kits will be covered in the fourth and final installment. Please post discussion and comments to the kit creation series discussion thread here at The Gibberlings Three and we will do our best to answer your questions. Complete Series Part One: Limitations of the Engine Part Two: Game Files Involved Part Three: Installing with WeiDU Part Four: Additional WeiDU Functions
  17. The following mods have been updated recently: JPS' Portrait Pack - v2.0.1 * Corrected Viconia's portraits' filenames. * Added Mac OS X port. * Updated Nalia portrait Sorcerer's Place Collection - v1.1.1 * Fixed some minor issues with Blade Master spells * Ported for Mac OS X. sporeboy!'s Alternate Female NPC Portrait Pack - v2 * Added the option to install the new portraits to the 'portraits' directory.
  18. May 13 Bri's kicking my ass. That is all.
  19. April 30 I haven't been modding too much for the past week due to some RL issues. I'm hoping to be back on a somewhat normal schedule soon. On the upside I finished Legend of Kyoto within a few days of receiving it, so we've cleared one obstacle.
  20. April 14, 2004 Delainy suffered a serious, serious setback yesterday. One that could delay the mod a few weeks at the minimum. I received my Rurouni Kenshin Lengend of Kyoto box set yesterday. One DVD down, seven to go.
  21. Lo folks, Scar was kind enough to post some pointers over at the Spa and Grill. I've already asked for a copy of Mac WeiDU v154 so we can use BUT_ONLY_IF_IT_CHANGES. (Best. WeiDU. Flag. Ever.) Also, I requested a little bit more info on #6 for the ogg -> wav conversion on OS X.
  22. CamDawg

    Aklon's Portrait

    I also couldn't resist doing a revised Aklon:
  23. edit: this thread was started as a request for a Mac port tutorial request. Now the tutorial is written but I don't feel like locking it so it's now a comment thread. I know there are many folks here who play BG2 on the Mac side. Not having a Mac around to test mods on, I was hoping we could get someone to help with some Mac-friendly tips. The two items I do know: * EXE files won't execute on a Mac (of course) so self-extracting exe installers are out. I know StuffIt is a popular compression format for Macs and zip files also work. Not sure about other formats--rar, ace, etc. * File paths in the tp2 should not be delimited with \. Use / instead as it works on both Mac and Windows. Can anyone help?
  24. I dimly remember trying to use a HLA table with a name longer than LUXXX and it failed. It was a while ago, though.
×
×
  • Create New...