Jump to content


Gibberling Poobah
  • Posts

  • Joined

Everything posted by Mike1072

  1. You can use BATTLE_CRY1, BATTLE_CRY2, etc. in a WRITE_LONG.
  2. Apparently not. I can unarchive anything on a per-topic basis, though - just let me know which ones. If I had my way, nothing would be archived.
  3. We'd welcome the repo in the G3 organization. One of the main reasons behind setting up the organization on GitHub was to be able to more easily manage maintenance and approvals when authors take time off. I've sent an invite to your GitHub account to join the organization. Once you're a member, you should be able to transfer the repo.
  4. I would do exactly what you did except leave out this step, then I would do a force push to overwrite the history in the remote branch. git push -f origin master To be safer, before doing the force push, I would create a separate local branch where you can store the original history in case anything goes wrong (named "old-history" in this case): git fetch git checkout -b old-history origin/master git checkout master
  5. Well, that would depend on how exactly Steam's DRM works. I was thinking that it was simply checking to ensure you owned the title before continuing with starting up. If instead it's killing the process you started in the copied directory and launching the game in the original directory, then you wouldn't be able to get around updates that way. But we've established that the EE games aren't doing this, so let's not worry about it any more. What we do need to worry is Steam applying updates to a game that we've modded. It will do this: whenever it feels like it, if the default setting to keep the game up to date automatically hasn't been changed whenever you launch the game from within Steam You can prevent the first situation by changing the setting, but not the second, so copying the folder is still the safest option to completely eliminate the possibility of accidentally applying an update that breaks your saved games. If you're okay with a little more danger, you could change the setting and then just avoid ever running the game from Steam and that would work fine as well.
  6. I swore that it would open Steam when you ran the .exe. Maybe that has been changed. My bad, then. In that case, changing the Steam setting so that it only updates when launching the game should be sufficient so long as you always start up Baldur.exe in the game folder instead of launching it from within Steam.
  7. There is no option that allows you to prevent updates completely. Your best bet is to create a copy of the entire game directory and mod and play on the copied directory. The original game directory will be automatically updated when new patches are released but the copy should remain unchanged from what I remember. Developers sometimes make older or upcoming patches available to opt in to via Steam's beta system. You can access this via right-clicking the game, selecting Properties, then going to the Betas tab. However, this relies on the developers to actually make your desired patch version available and it could still interfere with installed mods, so I would recommend ignoring that and relying on copying the directory when you want the game to be left as it is. P.S. Thank you for noticing and moving your topic to the appropriate forum!
  8. Mike1072

    I vs. II

    In certain circumstances, as described above.
  9. Mike1072

    I vs. II

    || is a logical operator and the better representation of how we use the word "or" in everyday language. | is a bitwise operator that determines a result by evaluating two bit strings bit-by-bit. For more information, see here. Here are some examples to compare the behaviour. 0 || 0 is 0 0 | 0 is 0 1 || 0 is 1 1 | 0 is 1 2 || 0 is 1 2 | 0 is 2 5 || 12 is 1 5 | 12 is 13 The logical operator || will only ever return 0 or 1, while the bitwise operator | can return other numbers. WeiDU treats the condition on an IF statement as true when it evaluates to any number other than 0, so PATCH_IF (x || y) would evaluate exactly same as PATCH_IF (x | y). However, I would encourage using || for clarity if you are intending a logical comparison. || is a synonym for OR, so you could also use OR. Similarly, I'd suggest using the logical operator && (also known as AND) over the bitwise operator & within conditions. Here are some examples to compare those two: 0 && 0 is 0 0 & 0 is 0 1 && 0 is 0 1 & 0 is 0 1 && 1 is 1 1 & 1 is 1 2 && 0 is 0 2 & 0 is 0 2 && 1 is 1 2 & 1 is 0 2 && 2 is 1 2 & 2 is 2 5 && 12 is 1 5 & 12 is 4 The behaviour of the bitwise operator & does not always match our usage of the word "and" in everyday language, demonstrated by 2 & 1 equalling 0. The bitwise operators are best reserved for dealing with values that are stored bitwise, like usability flags within .itm files.
  10. I mean, sometimes I do, if it is hard to read.
  11. The BG1 UI is still my favourite and that old-school map is necessary for true BG1 nostalgia. Go for it!
  12. Oh man, I was reviewing that PR back in May, doing some rebasing, and then I forgot all about it.
  13. That's what I was going to say! Well done, @morpheus562.
  14. The Gibberlings Three is proud to welcome a new mod by @morpheus562! Enhanced Powergaming Scripts is a collection of player AI scripts designed for use in Baldur's Gate II: Enhanced Edition and the Enhanced Edition Trilogy. With these scripts, you can focus on the fighting aspect of combat while these take care of the nuances in the background. Of note, these scripts allow easy pre-buffing of all characters with a keystroke, intelligent debuffing of enemy protections, and smart use of defensive spells and abilities. You can find further details via the links below. Project Page Forum Readme Download
  15. Thanks, that is a very good suggestion. Keeping the docs up to date is always a challenge, which is why these are generated using the actual files and descriptions. Displaying both descriptions side-by-side seems doable, but trying to find a way to automatically identify and call out individual differences doesn't seem like a good time investment. I don't know when I'll have time to dedicate to this, but we'll see. We have a topic dedicated to discussion of the docs if you have any additional suggestions: https://www.gibberlings3.net/forums/topic/30765-spell-descriptions-and-other-documentation/
  16. Looking at the actual resources in Near Infinity, there aren't any #111 effects on the ITM files, so you may want to be applying that ALTER_SPELL_EFFECT function on the SPL files that create the items in the first place. But that is a separate discussion.
  17. Feel free to ignore Jarno in this case. Firstly, if you want to do an "else if" (like in C-style languages), that's totally valid and common: ACTION_IF (x) BEGIN // do something END ELSE ACTION_IF (y) BEGIN // do something else END For what you're doing, it's easiest to extract the stuff that will be different into the game-specific checks and then proceed with the shared code. For example, you could set a variable to a specific value and then reference the variable in the shared code. I wasn't sure I understood what you were attempting, but it looked like you were first modifying some source files, then cloning those source files and making further changes to the clones. You could do that like so: ACTION_IF GAME_IS ~BGEE~ BEGIN OUTER_TEXT_SPRINT source_paw ~brbrp~ OUTER_TEXT_SPRINT destination_paw ~brbrp2~ END ELSE ACTION_IF GAME_IS ~BG2EE~ BEGIN OUTER_TEXT_SPRINT source_paw ~cdbrbrp~ OUTER_TEXT_SPRINT destination_paw ~cdbrbrp3~ END ELSE ACTION_IF GAME_IS ~IWDEE~ BEGIN OUTER_TEXT_SPRINT source_paw ~werewlf1~ OUTER_TEXT_SPRINT destination_paw ~werewlf3~ END ACTION_IF FILE_EXISTS_IN_GAME ~%source_paw%.itm~ BEGIN COPY_EXISTING ~%source_paw%.itm~ ~override~ LAUNCH_PATCH_FUNCTION ~ALTER_SPELL_EFFECT~ // LINKS TRANSFORMATION WITH CORRECT PAW ATTACK INT_VAR check_globals = 1 check_headers = 1 header = 1 header_type = 1 match_opcode = 111 timing = 2 STR_VAR resource = EVAL ~%destination_paw%~ END BUT_ONLY COPY_EXISTING ~%source_paw%.itm~ ~override/%destination_paw%.itm~ LAUNCH_PATCH_FUNCTION ~ALTER_ITEM_HEADER~ // dice size and dice thrown INT_VAR check_globals = 1 check_headers = 1 header = 1 header_type = 1 dicesize = 12 dicenumber = 1 damage_bonus = 0 END END You may also want to add a condition to the component to prevent users from installing it on games other than the ones you support. You can do so by adding a REQUIRE_PREDICATE right after the start of your component. When the condition isn't met, the user will be prevented from installing the component and they will instead see the associated message. BEGIN ~My Component~ REQUIRE_PREDICATE GAME_IS ~BGEE BG2EE IWDEE~ ~This component can only be installed on BGEE, BG2EE, and IWDEE games.~
  18. G3 is proud to welcome a new mod to the site: Transitions, by Lauriel. Transitions requires EET, BGEE, SoD, or BG2EE. It smooths out the transitions between Baldur's Gate campaigns and allows continued play after boss enemies have been defeated. In addition, it adds personal housing, another Bhaalspawn power, quests, and other content. You can find further details via the links below. Project Page Forum at G3 Readme Download at G3 Download directly at GitHub
  19. Welcome! You may be able to locate the game folder by right-clicking the game in Steam, selecting "Properties...", then clicking the "Local Files" tab and hitting the "Browse..." button. That should open up the folder where the game is installed. I don't use macOS, so that's the extent of my knowledge. I know @subtledoctor uses a Mac and would encourage you to use his launcher for installing mods on Macs (MWL). You can install mods without it, but it may provide an easier experience.
  20. The primary purpose is determining access to items. If an item is flagged to be unusable by assassins, then any kits whose unusability value includes that particular bit will be unable to use the item.
  21. Thanks, I've updated them all. Fixed. There are probably some other references that are a bit out of date, particularly those that relate to limitations that have been removed in the Enhanced Editions. Each of the 32 bits in the unusability value uniquely correspond to a specific vanilla kit. The hex unusability value of "0004 0000" which an assassin uses can be expressed as "0000 0000 0000 0100 0000 0000 0000 0000" in binary. Looking at it this way makes it easier to see which of the 32 bits "belongs" to the assassin. If a kit has this bit set to 1, the game will treat it as an assassin in terms of restricting it from using items that assassins can't use. It can also affect other things, like limiting the number of thieving skill points that the kit gains per level.
  22. Fetching is just one of the first steps in the link you posted. You then have to merge the changes into your current branch. If you're dealing with the master branch, the command would be: git merge upstream/master
  23. We use the .ini file as a place to enable options that we don't feel warrant a separate component.
  24. It's a common practice to link mods in your signature. Take a look at the signatures used by @jastey or @Lava. Everyone is free to post about their mods in this forum or general mod discussion. (We discussed adding a special forum dedicated to that purpose, but weren't sure what to name it.) The only thing I'll say about official hosting is that it something that we evaluate on a case-by-case basis in private correspondence with the mod author. It involves work on our end, so we don't enter into it lightly.
  25. Your .tp2 looks fine. If you're installing on EEs, make sure that you set the WeiDU preference for which dialog.tlk to install to (weidu.conf) to match the language you selected in-game.
  • Create New...