Jump to content

Gwendolyne

Modders
  • Posts

    537
  • Joined

  • Last visited

Everything posted by Gwendolyne

  1. Type = 0 ? Item abilities are usually set to 3.
  2. ++ It happens randomly when you open areas with DLTCEP.
  3. Don't know where to find it, but I am pretty sure there has been a lot of literature posted on that subject and that snow settings don't work in BG2 classic.
  4. ALIEN, I polished my code to check if user variables fit to their scope. ALWAYS BLOCK: OUTER_SPRINT configuration-default "%MOD_FOLDER%/1pp-config-default.ini" // default configuration file to read initial variable values OUTER_SPRINT configuration "%MOD_FOLDER%/1pp-config.ini" // user created file, not included inside mod archive. If exists, it will overwrite variable values from 1pp-config-default file ACTION_IF FILE_EXISTS ~%configuration-default%~ THEN BEGIN PRINT "%configuration-default%" LAF GlobalVariableFromIni STR_VAR filename = "%configuration-default%" RET_ARRAY IniArray = GlobalIniArray END END ACTION_IF FILE_EXISTS ~%configuration%~ THEN BEGIN PRINT "%configuration%" LAF GlobalVariableFromIni STR_VAR filename = "%configuration%" RET_ARRAY IniArray = GlobalIniArray END END LAM ~GW_CHECK_CONFIG_VARIABLES~ PRINT @3 /* ~LIST OF VARIABLES USED DURING NSTALLATION: ------------------------------------------ 1pp_fdwarf = %1pp_fdwarf% 1pp_gui = %1pp_gui% 1pp_updated_fonts = %1pp_updated_fonts% 1pp_mixed_labels = %1pp_mixed_labels% 1pp_agannazar_scorcher = %1pp_agannazar_scorcher% 1pp_dispel_magic_effect = %1pp_dispel_magic_effect% 1pp_hammers_icons = %1pp_hammers_icons% 1pp_potions_icons = %1pp_potions_icons% 1pp_iwd_cause_wounds_icons = %1pp_iwd_cause_wounds_icons% 1pp_spells_conflict = %1pp_spells_conflict% 1pp_shields_appearance = %1pp_shields_appearance% 1pp_shields_scatter = %1pp_shields_scatter% 1pp_helmets_appearance = %1pp_helmets_appearance% 1pp_helmets_scatter = %1pp_helmets_scatter% 1pp_helmets_compatibility = %1pp_helmets_compatibility% 1pp_armours_appearance = %1pp_armours_appearance% 1pp_armours_scatter = %1pp_armours_scatter% 1pp_forced_item_colours = %1pp_forced_item_colours% 1pp_shields_shadows = %1pp_shields_shadows% 1pp_helmets_shadows = %1pp_helmets_shadows% 1pp_gemlore = %1pp_gemlore% 1pp_tutu_bg1_shields = %1pp_tutu_bg1_shields% 1pp_tutu_bg1_helmets = %1pp_tutu_bg1_helmets% 1pp_sleeper = %1pp_sleeper% 1pp_colour_iwd = %1pp_colour_iwd% 1pp_solar_weapons = %1pp_solar_weapons%~*/ and the new function GW_variables_check: ACTION_CLEAR_ARRAY GW_variables_check ACTION_DEFINE_ASSOCIATIVE_ARRAY GW_variables_check BEGIN // VARIABLE VALUES : MAX => DEFAULT fdwarf, 2 => 2 gui, 2 => 1 updated_fonts, 2 => 1 mixed_labels, 2 => 1 agannazar_scorcher, 2 => 2 dispel_magic_effect, 2 => 1 hammers_icons, 2 => 1 potions_icons, 2 => 1 iwd_cause_wounds_icons, 2 => 1 spells_conflict, 2 => 1 shields_appearance, 4 => 1 shields_scatter, 2 => 1 helmets_appearance, 4 => 1 helmets_scatter, 2 => 1 helmets_compatibility, 3 => 1 armours_appearance, 4 => 1 armours_scatter, 2 => 1 forced_item_colours, 4 => 1 shields_shadows, 2 => 2 helmets_shadows, 2 => 2 gemlore, 2 => 1 tutu_bg1_shields, 2 => 1 tutu_bg1_helmets, 2 => 1 sleeper, 2 => 1 forced_item_colours_iwd, 2 => 1 solar_weapons, 2 => 1 END DEFINE_ACTION_MACRO ~GW_CHECK_CONFIG_VARIABLES~ BEGIN ACTION_PHP_EACH GW_variables_check AS variable => default BEGIN ACTION_IF (VARIABLE_IS_SET $IniArray("1pp_%variable_0%")) BEGIN ACTION_IF (NOT(IS_AN_INT $IniArray("1pp_%variable_0%")) || ($IniArray("1pp_%variable_0%") > %variable_1% ) || ($IniArray("1pp_%variable_0%") < 1)) BEGIN OUTER_TEXT_SPRINT wrong_value $IniArray("1pp_%variable_0%") OUTER_TEXT_SPRINT $IniArray("1pp_%variable_0%") "%default%" OUTER_SET value = $IniArray("1pp_%variable_0%") PRINT @1 // ~Variable 1pp_%variable_0% value (%wrong_value%) does not match its scope and has been reset to its default value (%value%).~ END ELSE BEGIN OUTER_SET value = $IniArray("1pp_%variable_0%") END END ELSE BEGIN OUTER_TEXT_SPRINT $IniArray("1pp_%variable_0%") "%default%" OUTER_SET value = $IniArray("1pp_%variable_0%") PRINT @2 // ~Variable 1pp_%variable_0% does not exist: it has been set to its default value (%value%).~ END OUTER_SET EVAL "1pp_%variable_0%" = %value% END ACTION_CLEAR_ARRAY GW_variables_check For my mod, I need to add a validity check for string variables.
  5. I faced the problem when rewriting 1pp. I solved it with this warning: * and included the code in the ALWAYS block section.
  6. I have to implement it (and modify the original code), but before, I just need to be sure the pattern will be config-default.ini + config.ini (user's one), or config.ini + config-user.ini.
  7. ALIEN, does this ini file suits to your needs? 1pp-config-default.ini
  8. If you are looking for old engine fans (I mean players who even dislike BGT and prefer playing BG1 vanilla), I may ask them to test your beta versions.
  9. A fix for SPPR508.SPL (chaotic commands) : COPY_EXISTING ~sppr508.spl~ ~override~ LPF ALTER_SPELL_HEADER INT_VAR header_type = 1 header = 10 projectile = (IDS_OF_SYMBOL (projectl SPARKLBL) + 1) END // the last vanilla extender header projectile is SPARKGO instead of SPARKLBL LPF CLONE_EFFECT INT_VAR silent = 1 check_globals = 0 match_opcode = 206 STR_VAR match_resource = ~spwi813~ resource = ~spin774~ END // clone arcane maze to psionic maze protection (already in BG2 FIxpack) LPF DELETE_EFFECT INT_VAR check_globals = 0 header = 0 header_type = 1 multi_match = 1 match_opcode = 267 match_parameter1 = 16233 END // the first vanilla extended header contains one weird opcode #267 with parameter1 16233 (*gulp* BUT_ONLY This fix is also available for EE games.
  10. Works fine for me: GWnbvariables = 3 VARIABLE timer11 = 0 label = timer11 VARIABLE timer12 = 0 label = timer12 VARIABLE timer13 = 0 label = timer13 kjeron's code works fine too, and is much more elegant. I just added the following line: REPLACE_EVALUATE ~^\([^ %TAB%%WNL%]+\)=\([^%WNL%$]+\)~ BEGIN // key must start line and cannot contain whitespace // value is everything after the "=" until the newline/end TO_LOWER %MATCH1% Edit : Oops! my fault. I made a mistake when I inserted two lines at the wrong place in the post. I fixed them and it should work now.
  11. It depends on the creature animation format you use; according to it, the bam files structure are different and the ini file you write must fit the format used.
  12. Did you try with a 4 characters animation?
  13. Try the modified code. Tested with my config-default without EOF blank lines and sensitive variables (1PP_xxx, 1pp_AVehD...). Seems to work and returns 1pp_xxx, 1pp_avend...
  14. 1. No, but READ_ASCII (ofsStart) label (ofsValue - ofsStart) TO_LOWER label might work. 2. Will check.
  15. Are you sure it does work with string variables and that READ_2DA can read game_unicorn="choose a name for your unicorn"? Edit : it DOES NOT WORK. Using your code returns game_unicorn = bla, and not bla bla. If you want to check string variables, you can't read ini file as a 2da one.
  16. ALIEN, meanwhile I wrote something that seems to work default_configuration ini: ;101_ia.tph traified ; Use 1pp or IWD style female dwarf paperdolls? ; 1 = IWD - 2 = 1pp 1pp_fdwarf=2 ;104_core.tph traified ; Do you want to include SoA style loading screens for ToB? ; 1 = Yes. - 2 = Keep loading screens unchanged. 1pp_gui=1 ; Install updated fonts? (may cause issues with languages using different font .BAMs) ; 1 = Yes - 2 = Keep fonts unchanged 1pp_updated_fonts=1 ; Use mixed case labels? ; 1 = Yes - 2 = No 1pp_labels=1 ; Softer Spell Effects ; WARNING: This component will only work properly with 3D support enabled (alpha blending). Installing this component on BG2 in software rendering mode IS NOT A GOOD IDEA. ; 1 = Yes, install - 2 = No, cancel installation 1pp_softer_spell_effects=1 ; Install IWD-style Agannazar's Scorcher or alternate style? ; 1 = IWD style - 2 = BGII alternate 1pp_agannazar_scorcher=2 licorn_name=bla bla CODE : DEFINE_ACTION_MACRO GW_ini_array BEGIN OUTER_TEXT_SPRINT $GW_ini_contents(~%label%~) ~%value%~ END DEFINE_PATCH_FUNCTION ~GW_READ_INI_VARIABLE~ INT_VAR start_offset = 0 RET start_offset end_offset RET_ARRAY GW_ini_contents BEGIN SET offset = start_offset PATCH_IF (offset < 0) BEGIN SET offset = 0 END PATCH_IF (offset > BUFFER_LENGTH) BEGIN SET offset = BUFFER_LENGTH END SET start_offset = "-1" SET end_offset = "-1" SET ofsStart = INDEX_BUFFER(~[0-9a-zA-Z]~ offset) PATCH_IF (ofsStart >= 0) BEGIN SET ofsValue = INDEX_BUFFER(~=~ ofsStart) PATCH_IF (ofsValue >= 0) BEGIN READ_ASCII (ofsStart) label (ofsValue - ofsStart) TO_LOWER label SET ofsEnd = INDEX_BUFFER(~[%WNL%]~ ofsValue) PATCH_IF (ofsEnd >= 0) BEGIN READ_ASCII (ofsValue + 1) value (ofsEnd - ofsValue -1) SET start_offset = ofsStart SET end_offset = ofsEnd INNER_ACTION BEGIN LAM GW_ini_array END END END END END DEFINE_ACTION_FUNCTION GW_READ_CONFIG STR_VAR GW_filename = "" RET_ARRAY GW_ini_contents BEGIN COPY - ~%MOD_FOLDER%/%GW_filename%.ini~ ~override~ INSERT_BYTES SOURCE_SIZE (STRING_LENGTH ~%WNL%~) WRITE_ASCIIE SOURCE_SIZE ~%WNL%~ REPLACE_TEXTUALLY ";.*" "" REPLACE_TEXTUALLY "#.*" "" COUNT_REGEXP_INSTANCES CASE_SENSITIVE ~=~ GWnbvariables PATCH_PRINT "GWnbvariables = %GWnbvariables%" start_offset = 0 FOR (i = 0 ; i < GWnbvariables ; ++i) BEGIN LPF ~GW_READ_INI_VARIABLE~ INT_VAR start_offset RET end_offset RET_ARRAY GW_ini_contents END start_offset = end_offset END END LAF GW_READ_CONFIG STR_VAR GW_filename = "default_configuration" RET_ARRAY GW_array = GW_ini_contents END ACTION_PHP_EACH GW_array AS label => value BEGIN OUTER_SPRINT EVAL "%label%" "%value%" PRINT "VARIABLE %label% = %value%" PRINT "label = %label%" END PRINT "1pp_fdwarf = %1pp_fdwarf%" PRINT "1pp_gui = %1pp_gui%" and the result : VARIABLE 1pp_fdwarf = 2 label = 1pp_fdwarf VARIABLE 1pp_gui = 1 label = 1pp_gui VARIABLE 1pp_updated_fonts = 1 label = 1pp_updated_fonts VARIABLE 1pp_labels = 1 label = 1pp_labels VARIABLE 1pp_softer_spell_effects = 1 label = 1pp_softer_spell_effects VARIABLE 1pp_agannazar_scorcher = 2 label = 1pp_agannazar_scorcher VARIABLE licorn_name = bla bla label = licorn_name 1pp_fdwarf = 2 1pp_gui = 1 The code might be optimized, but I will test it with 1pp.
  17. So, made a 1pp.ini file: ;Use 1pp or IWD style female dwarf paperdolls? ;1 = IWD - 2 = 1pp 1pp_fdwar = 2 ;Do you want to include SoA style loading screens for ToB? ;1 = Yes. - 2 = Keep loading screens unchanged. 1pp_gui = 1 ;Install updated fonts? (may cause issues with languages using different font .BAMs) ;1 = Yes - 2 = Keep fonts unchanged 1pp_updated_fonts = 1 ;Use mixed case labels? ;1 = Yes - 2 = No 1pp_labels = 1 ;Softer Spell Effects ;WARNING: This component will only work properly with 3D support enabled (alpha blending). Installing this component on BG2 in software rendering mode IS NOT A GOOD IDEA. ;1 = Yes, install - 2 = No, cancel installation 1pp_softer_spell_effects = 1 ;Install IWD-style Agannazar s Scorcher or alternate style? ;1 = IWD style - 2 = BGII alternate 1pp_agannazar_scorcher = 2 ; Install less obtrusive dispel magic effect? ;1 = Yes - 2 = No (install improved stock effect instead) 1pp_less_obtrusive_dispel_magic_effect = 1 ;HAMMERS INVENTORY ICONS ;This component overwrites the vanilla Runnehammer icon and sets it to Borok Fist +2, then assigns Borok Fist icon to Runehammer. Do you want to apply those changes? ;1 = Yes - 2 = No, assign the new icon to Borok Fist, but keep the Runnehammer icon for their respective hammers. 1pp_hammers_icons = 1 ;Do you want to include updated potion graphics? ;1 = Yes - 2 = No 1pp_potions_icons = 1 ;Do you want existing cause wound spells to use IWD-style icons? (healing icon in red) ;1 = Yes - 2 = No, keep BG2 icons for existing spells. 1pp_IWD_cause_wounds_icons = 1 ;WARNING: if SPPR142/1342 (spells Cause Light Wounds, Cause Medium Wounds) are already taken by a previously installed mod. Proceeding to install may cause issues. ;1 = Yes, install - 2 = No, cancel installation 1pp_spell_conflict = 1 ;WARNING: What this component installs/offers to install depends on what other components are installed (e.g. it can only make use of additional object animations if they are available). If you have not yet installed a previous component of this mod that you would like to, now is the time. ;1 = Yes, install - 2 = No, cancel installation 1pp_core_update = 1 ;SETTING 1: SHIELD APPEARANCE ;This sets the standard appearance of shields in the game in the sense that these will be the ones you mostly find in stores, etc. Does not necessarily affect magical items or prevent you from finding other items. ;1. 1ppv4-BG II style - 2. BGI style - 3. Faux BGI style (use BG1 icons but not animations) - 4. Skip this part of the install 1pp_pshields = 1 ;SETTING 1B: SCATTER SHIELDS THROUGHOUT GAME ;This determines whether the available extra shields are scattered throughout the game world (in the form of new items, random finds, etc.) for you to find or not. ;1 = Yes - 2 = No 1pp_pshieldz = 1 ; SETTING 2: HELMET APPEARANCE ; This sets the standard appearance of helmets in the game in the sense that these will be the ones you mostly find in stores, etc. Does not necessarily affect magical items or prevent you from finding other items. ; 1. 1ppv4 style - 2. Faux BGI style (use BG1 icons but not animations) - 3. BGII style - 4. Skip this part of the install 1pp_phelmets = 1 ;SETTING 2B: SCATTER HELMETS THROUGHOUT GAME ;This determines whether the available extra helmets are scattered throughout the game world (in the form of new items, random finds, etc.) for you to find or not. ;1 = Yes - 2 = No 1pp_phelmetz = 1 ;SETTING 2C: HELMET COMPATIBILITY ;This is mainly for unsupported third party mods and determines the animation these will use. ;1. updated BGII style - 2. based on BGI style - 3. Skip this part of the install 1pp_phelmetb = 1 ;SETTING 3: ARMOUR ITEM ICONS ;This sets the standard appearance of armour inventory icons in the game. Does not necessarily affect magical items or prevent you from finding other items. ;1. 1ppv4 style - 2. BGI style - 3. BGII style - 4. Skip this part of the install 1pp_parmours = 1 ;SETTING 3B: SCATTER ARMOUR THROUGHOUT GAME ;This determines whether the available alternates are scattered throughout the game world (in the form of new items, random finds, etc.) for you to find or not. ;1 = Yes - 2 = No 1pp_parmourz = 1 ;SETTING 4: FORCED ITEM COLOURS ;This determines which item colours are set/uneditable for equipped items. By default, magical items have set item colours while non-magical shields/helmets do not (allowing you to customise them via your clothing colour). ;1. Yes for magical items/No for non-magical items - 2. Yes for both magical and non-magical items ;3. Yes for both magical and non-magical items, but exclude BG1 legacy shields - 4. No for either magical nor non-magical items 1pp_pcolour = 1 ;SETTING 5A: PAPERDOLL SHADOWS (SHIELDS) ;Traditionally, equipped objects do not render shadows on paperdolls. Enable this option if you want shields to cast shadows on paperdolls. ;1 = No - 2 = Yes 1pp_psshld = 2 ; SETTING 5B: PAPERDOLL SHADOWS (HELMETS) ; Traditionally, equipped objects do not render shadows on paperdolls. Enable this option if you want helmets to cast shadows on paperdolls. ; 1 = No - 2 = Yes 1pp_pshelmet = 2 ;Do you want gems to require some lore to identify? ;1 = Yes - 2 = No 1pp_gemlore = 1 ;Do you want your shield setting to apply to Tutu/BG1 shields as well (warning: replaces Tutu default shields)? ;1 = No - 2 = Yes 1pp_tutu_bg1_shields = 1 ;Do you want your BG2 helmet inventory icon choices to apply to Tutu/BG1 helmets as well (warning: replaces Tutu default helmets)? ;1 = No - 2 = Yes 1pp_tutu_bg1_helmets = 1 ;Do you want to turn the morningstar +2 The Sleeper into a flail? ;1 = Yes - 2 = No, but install the alternate flail icon IBLUN16V as a new resource for modders. 1pp_psleeper = 1 ;SETTING 1: ITEM COLOURS FOR NON-MAGICAL ITEMS (IWD install) ;This determines whether item colours are set for common, non magical shields/helmets. By default, these remain unset so the player can choose their own (matching their clothing colour). By enabling this option, item colours are set for all items. ;1 = No - 2 = Yes 1pp_pcolour_IWD = 1 ;There are two choices for the appearance of weapons wielded by solars. Please pick your preference: ;1. New appearance (solid object with glow) - 2. As in BGII vanilla (blurry bright glow all over) 1pp_solar = 1 Unfortunately, I am afraid I must remove the variables below and keep them in READLN process. ;Softer Spell Effects ;WARNING: This component will only work properly with 3D support enabled (alpha blending). Installing this component on BG2 in software rendering mode IS NOT A GOOD IDEA. ;1 = Yes, install - 2 = No, cancel installation 1pp_softer_spell_effects = 1 ;WARNING: if SPPR142/1342 (spells Cause Light Wounds, Cause Medium Wounds) are already taken by a previously installed mod. Proceeding to install may cause issues. ;1 = Yes, install - 2 = No, cancel installation 1pp_spell_conflict = 1 ;WARNING: What this component installs/offers to install depends on what other components are installed (e.g. it can only make use of additional object animations if they are available). If you have not yet installed a previous component of this mod that you would like to, now is the time. ;1 = Yes, install - 2 = No, cancel installation 1pp_core_update = 1
  18. I can give it a try with 1pp and my mod in progress, and maybe with the next IA release. What about the strings variables? For example, my mod introduces the possibility to gain two kinds of paladin's mount (horse and unicorn). I want to give the players the opportunity to name them as they wish. Let's say, my default_configuration.ini would have something like that: destrier_name = Black Arrow unicorn_name = Silver Star I found a way to read them with WeiDU, at last (I am not very skilled with regexp ), and I can know evaluate them in d files. Edit: I am not sure, but I think mods modifying banters timers would need more than 5 choices...
  19. ALIEN, how would you handle variables set in configuration.ini file? I am currently polishing a new 1pp release and I have not yet made my decision on keeping the READNL process or transferring the variables set during install process into an ini file. I mean, I am an old bear and I don't use install tools. So it would be very easy for me to modify the default values in config.ini, then install the mod. But how BWP Install, BWS (or whatever tool) would handle this? Do you suggest that the player should copy the original config.ini file, change its settings and save them into myconfig.ini? Thus the install tool would check for myconfig.ini and config.ini, then give the priority to myconfig.ini when installing the mod?
  20. This version does not work with foreign languages in EE games. I was to fix it, but forgot. Sorry, will do it.
  21. Thanks. I will translate v17 and add those lines.
  22. Hello jastey I began translating Sir Ajanttis into French. Are there significant dialogs modifications or new strings in this new version? Or may I continue the v17 translation, then look for minor updates?
  23. Yes, it should. I can only imagine that the .jar file association on your system has been corrupted somehow, or it has been overridden by another application. Maybe reinstalling the Java Runtime can fix it. I faced the same issue a few years ago and reinstalling Java fixed it.
  24. To be clear, variable IR_INSTALLED = MOD_IS_INSTALLED ~setup-item_rev.tp2~ 0 would be true if IRR is installed?
×
×
  • Create New...