Jump to content

khelban12

Members
  • Posts

    162
  • Joined

  • Last visited

Everything posted by khelban12

  1. It's out of SR's scope to do it. I understand. Thank your again for your time.
  2. Hello again and thank you for the quick replies. a) I incorporated the fixes in your pull requests. At first, it didn't work and i got "unhandled case" once again. I had to change (FILE_EXISTS "tobexcore.ini") to (FILE_EXISTS "tobex_ini/tobexcore.ini") and then it works fine. b) I did a new installation and it seems i hadn't messed up anything. The spell.ids file simply does not contain the necessary entries. I know i said that bg2fixpack has code for them but I had hastily browsed the code. It seems that the code is only called from the modder.tpa file which is deprecated for some time now. The first mod (at least in my install order) that inserts the entries is Wheels of Prophecy which is installed way later than Spell Revisions. I don't know what is the proper fix (re-enable modder.tpa in bg2fixpack ?) so i locally did the following workaround which seems to work. --- /home/git/repos/spellrevisions/spell_rev/setup-spell_rev.tp2 2023-06-16 21:45:47.126083785 +0300 +++ spell_rev/setup-spell_rev.tp2 2023-07-27 14:28:33.879636737 +0300 @@ -10,7 +10,11 @@ OUTER_PATCH ~~ BEGIN PATCH_INCLUDE ~spell_rev/settings.ini~ END - + + APPEND ~spell.ids~ ~2124 WIZARD_NAHALS_RECKLESS_DWEOMER~ UNLESS ~WIZARD_NAHALS_RECKLESS_DWEOMER~ + APPEND ~spell.ids~ ~2222 WIZARD_CHAOS_SHIELD~ UNLESS ~WIZARD_CHAOS_SHIELD~ + APPEND ~spell.ids~ ~2723 WIZARD_IMPROVED_CHAOS_SHIELD~ UNLESS ~WIZARD_IMPROVED_CHAOS_SHIELD~ + // On EE games, convert tra files to utf-8 so that games don't crash for non-English ACTION_IF NOT VARIABLE_IS_SET cd_always THEN BEGIN OUTER_SET cd_always = 1 Thank you again for your time. I hope i didn't confuse you this time.
  3. For now, disregard what i said about b). I will do another test installation (this time from scratch from install cds) to test this again. I had the idea to insert code in spell_rev.tp2 that appends the entries to spell.ids, as so many other mods do, and i noticed that bg2fixpack already has entries for the chaos shields spells. So, the only explanation for them to not be there is that i probably did something wrong in my test installation. Sorry for confusing you. I will be back with further news. So the only real problem is the test for tobex.
  4. I may have done something wrong in my installation. I have been known to be an idiot When you tried to reproduce it, did you do it on tobex or EE ? I have tried a new installation with just tobex v28 -> tobex afterlife -> bg2fixpack v13 -> spell_rev v4.19 (my repo shows commit d5ad2b28215de from Jul 25 as latest) and i get the same problems. I noticed that during installation i got a message that there is no rule to identify tobex and that it is an unhandled case and no patching will be done. I searched for this string and it resides in hidespl_patching.tph. diff -urw /home/git/repos/spellrevisions/spell_rev/lib/hidespl_patching.tph spell_rev/lib/hidespl_patching.tph --- /home/git/repos/spellrevisions/spell_rev/lib/hidespl_patching.tph 2023-06-17 19:07:31.288328202 +0300 +++ spell_rev/lib/hidespl_patching.tph 2023-07-26 10:36:29.215926381 +0300 @@ -98,7 +98,7 @@ ACTION_IF GAME_IS "iwdee" BEGIN OUTER_TEXT_SPRINT engine "iwdee" END ELSE BEGIN - ACTION_IF GAME_IS "tobex" BEGIN + ACTION_IF FILE_EXISTS ~tobex_ini/tobexcore.ini~ BEGIN OUTER_TEXT_SPRINT engine "tobex" END ELSE BEGIN WARN "hide_spells: unhandled case; no patching will be done." This is the relevant code. As you see it uses "game_is tobex" which isn't a known value if i am not mistaken. I changed it as shown above (i don't know which is the proper way to identify tobex. some mods check for tobexloader.exe and others for tobexcore.ini) and now patching works. So my revised list of problems are the following: a) I now correctly get only one Dispel Magic spell but i do not get Remove Magic at all. Is this how it is supposed to be ? Does Spell Revisions remove Remove Magic alltogether ? b) I still can choose all the wild magic spells because their patching doesn't work so they are not hidden. hide_spells_from_array: resource name for spell 'WIZARD_NAHALS_RECKLESS_DWEOMER' not found. hide_spells_from_array: resource name for spell 'WIZARD_CHAOS_SHIELD' not found. hide_spells_from_array: resource name for spell 'WIZARD_IMPROVED_CHAOS_SHIELD' not found. I get the above message and indeed if i check spell.ids these identifiers do not exist in spell.ids. Opening the spell files in NI, i get "Wizard_Alarm" for Nahal and "no symbol" for the two chaos shield spells. If this a problem on my side and only in my installation please forgive me for wasting your time.
  5. Greetings. I was reading my notes today and i want to report some potential bugs. a) When you generate a spellcaster (i always run sorcerer but i suppose the same happens with mage too), you can choose Nahal's Reckless Dweomer and Chaos Shield. I checked the spells in NI and the spell-rev files in spwi1## and spwi2## have no exclusion flags where the backed files have exlusion for "Abj, Con, Div, Ench, Ill, Inv, Nec, Trans, Generalist". Is this wanted behavior ? Should all spellcasters be able to choose these spells. b) Again in character generation i get two "Dispel Magics". I chose both spells and opened the save file in eekeeper and the spells are spwi302, spwi326 respectively so they are supposed to be Remove and Dispel Magic. Recently there was a re-implementation of hidespl.2da so i thought that it was to blame but it was not. I checked the git repository and got the following: commit 09348fba01d85d4f0a7cefd60dcd87d2cb344812 Author: Mike <mike1072@gmail.com> AuthorDate: Wed Dec 30 20:07:40 2015 -0800 Commit: Mike <mike1072@gmail.com> CommitDate: Wed Dec 30 20:07:40 2015 -0800 V4 Beta 11 diff --git a/spell_rev/languages/english/arcane.tra b/spell_rev/languages/english/arcane.tra index a1bd6b7..24b56e7 100644 --- a/spell_rev/languages/english/arcane.tra +++ b/spell_rev/languages/english/arcane.tra @@ -606,19 +606,19 @@ Saving Throw: None This spell grants an unnatural perception of things to come. Once Clairvoyance is cast, the caster receives instantaneous warnings of impending danger or harm. He becomes impossible to surprise and cannot be backstabbed. In addition, the spell gives a general idea of what action might be taken to best protect oneself, granting a +2 insight bonus to AC and saves vs. breath. The effects last for the duration of the spell, and cannot be dispelled.~ -@503=~Remove Magic~ -@504=~Remove Magic +@503=~Dispel Magic~ +@504=~Dispel Magic Is this supposed to be ? Should both spells be named Dispel Magic ? If yes, should both be available in character generation or one should be hidden ?
  6. Thank you again for your swift respone. Implementing it will not solve the problem with oBG2 so if it doesn't benefit gemrb then of course no point burdening yourself with needless work. I put a note on my mod-instructions-document to remember and delete gemrb_path.txt before installation.
  7. Won't this put unecessary extra burden on you ? These two files come from tobex but maybe another mod comes with a file which happens to have same name as one in unhardcoded/bg2 and this problem will happen again. Is it common for users to run both oBG2 (in wine or windows) and gemrb from the same tree ? If it was just an oversight of mine, i can remember to delete gemrb_path.txt before each re-installation.
  8. Once again, lynx, your help was invaluable. That was the culprit. I know gemrb creates several files in the tree but they do not cause any problems (my gem-baldur.ini hasn't changed since 2017) so it didn't occur to me that the problem would be due to germb_path.txt. I guess the last time i changed my mod order i used a weidu < 247 and it didn't support gemrb_path so it didn't cause any problems (or most likely i didn't reinstall tobex because i usually change mods after tobex and fixpack).
  9. You mention Gaelan, so did you only talk to brus once ? If yes, then that is why nothing happens. After you amass a certain amount of money (i think 15K in the vanilla game), you will have a visit from a certain lady. Right after her, you will get a second visit from Brus. It is after that meeting with Brus that you need to visit Government district (i may misremember and it is Temple District like jastey said) and the cutscene will trigger. After that, walk around and continue doing stuff and you will get a messenger directing you to meet with Aster.
  10. Greetings. I am not very familiar with BG2 internals so i have a stupid question about where do game files reside. I thought that the normal residence is in bif files and those files get overriden by files residing in the override/ folder. Is there any other case ? Long description of why i am asking: I use original BG2:Tob on linux using wine / gemrb. On sunday a new wine version was released and i compiled it and upgraded to it. I guess the wine team implemented some new functionality because, alongside the normal window with the game, i now also got a "console window" too with tobex afterlife messages. In this window i got the message that clssplab.2da does not exist. I searched my tree and clssplab.2da is supposed to be copied by tobex but it is not. Every file is correctly copied except clssplab.2da and item_use.2da. DEFINE_ACTION_FUNCTION tobex_copy STR_VAR file = "nul" BEGIN ACTION_IF NOT FILE_EXISTS_IN_GAME "%file%" BEGIN COPY "%TOBEX_MOD_DIRECTORY%/TobEx_redist/override/%file%" "override/%file%" END END This is the code that does the copying. A simple check for the existence of the file. This code works correctly for every file except for clssplab.2da and item_use.2da. The "FILE_EXISTS_IN_GAME" clause returns that these two files exist. However, neither DLTCEP, nor NearInfinity can find these files. I also opened chitin.key in a hex editor and i couldn't find the resource names there either. I tested a fully patched BG2:TOB tree clean from any mods. I thought that there must be a bug in the FILE_EXISTS_IN_GAME clause in my weidu (249 version) because i had some other weidu problems lately that appeared suddenly out of nowhere but i ran the following code ACTION_IF FILE_EXISTS_IN_GAME "clssplab.2da" BEGIN PRINT ~HELLO~ COPY_EXISTING ~clssplab.2da~ ~override/tmp.2da~ COPY_EXISTING ~item_use.2da~ ~override/tmp2.2da~ END and lo and behold, the two files get copied correctly to override and have sensible contents (almost same as the ones in tobex but with less columns). So, my questions are: a) Where do these two files reside, if not in the override folder or in bif files ? b) Why does only FILE_EXISTS_IN_GAME find them and not tobex / dltcep / nearinfinity ? Thank you for your time.
  11. Greetings. In my latest playthrough i had a weird crash each time i tried to rest at an inn. It took me long to debug because a) the assertion message printed was misleading, b) it only occured in inns (or so i thought). So, the assertion message made me think infinity animations related trouble and the crash at inns only made me think about the movie that plays during resting at an inn. Further testing showed that it also crashed in certain dungeons. So i tried uninstalling mod after mod to see which mod causes it and the crashes stopped after uninstalling d5_random_tweaks (i am not 100% sure but i think it was the stinking cloud or web tweak). It would never occur to me that a crash during resting would be due to a spell (which had not been casted any time in that area). Anyway, to make a long story short, the problem is that d5_random_tweaks use opcodes (for example 335) that are not implemented on oBG2 (dltcep shows them correctly but Near Infinity shows every opcode > 318 as unknown) and that is causing crashes. I had of course read the readme that says "Note: most or all of these use EE 2.0 engine features. One or two may work on the pre-EE game (e.g. adding saving throws to level drain attacks), but most will not". However, further down in the readme, in the individual spell descriptions, only a few components contain the label "EE-only". This, combined with the fact that i had read the tp2 file and many components had game_is guards to prevent installation on oBG2, gave me the impression that i can safely install the components that do not have guards. This, of course, is not a jab at Subtledoctor. I thank you for your hard work giving us great mods. I just mention it here so that it doesn't catch any other oBG2 users off-guard. I have locally commented all the lines that use opcodes > 318 and the game works perfectly without crashing any more but i haven't done any testing to see if the tweaked spells behave as expected.
  12. Hello. Does anyone use the "Faster Cutscenes" component (non-silly version, number 3141) on oBG2 ? Does it work for you ? To be more precise, does the first cutscene with Irenicus (the "the child of bhall has awaken" one) get shortened ? All the others work correctly. I was reviewing my notes for local modifications today and noticed that for a long time i have been changing faster_start.tpa tp make the component work but forgot to report it here. commit b7c0b77a6dace66fa7904767d55b957dce429885 Commit: CamDawg <pcamagna@yahoo.com> CommitDate: Thu Mar 12 10:22:32 2020 -0700 Faster Chapter 1&2 Cut-Scenes & Dreams fix for BG2EE/EET The compatibility-friendly, but decidedly more finicky, text matches for this component was falling down when modifying the BG2 opening cutscene and the dream scripting. The matches have been adjusted accordingly. diff --git a/cdtweaks/lib/faster_start.tpa b/cdtweaks/lib/faster_start.tpa index 1184aa7..b9d9364 100644 --- a/cdtweaks/lib/faster_start.tpa +++ b/cdtweaks/lib/faster_start.tpa @@ -243,15 +243,17 @@ COPY_EXISTING ~movie02c.bcs~ ~override~ COPY_EXISTING ~newgame.bcs~ ~override~ DECOMPILE_BCS_TO_BAF + REPLACE_TEXTUALLY ~//.+$~ ~~ + REPLACE_TEXTUALLY ~[ %TAB%%LNL%%MNL%%WNL%]+~ ~ ~ REPLACE_TEXTUALLY - ~DisplayStringHead(Myself,5388)[ %TAB%%LNL%%MNL%%WNL%] blah blah very long code + ~DisplayStringWait(Myself,5388).+PlaySound("EFF_P18") Wait(3)~ ~%newgame_sub%~ COMPILE_BAF_TO_BCS BUT_ONLY The above commit improved the code to use a regular expression instead of searching for a huge string but, as you see, it also changed "Head" to "Wait". My version of the game (fully patched but old TOB version that installs to BGII - SoA directory) has DisplayStringHead, so, as you understand, the code doesn't replace anything. Does the newgame.bcs in EE or GOG versions of the game contain DisplayStringWait ?
  13. Maybe cdtweaks devs can contact flamewing and ask him to incorporate the tweak inside of cdtweaks, but until then you can install m7tweaks which has the following components (and also proper uncharming of Glaicas but i think it is already fixed by fixpack and is not needed) .
  14. Due to some problems i had in the past with DS and mods, i keep locally all the versions i find and there are (at least) the following versions: v3.95 which is the "updated" version of the older DS code and comes with the majority of mods (atweaks, questpack, rr, etc). It removes all duplicate entries except 156-161 (SCRIPTINGSTATE1-6). v3.95_dw (found in ascension commit 092ac9d24c55). It correctly keeps all the duplicates but does not sort (the sort_ids function is disabled due to missing the function return_first_entry). v3.96 (found in ascension commit c24fe75c92f7. i haven't saved the SCS commit but in most cases ascension DS is copied from SCS of that time) and v3.97 (commit a1d4ec4cef29). These correctly keep all the duplicates and sort correctly. They also need AUTO_EVAL_STRINGS on the main tp2 in order to be used. The only difference with v3.97 is that it removes DMWW entries where all older versions keep them. v3.9X (found in ascension v2.0.4 commit 2fb5d79073e1). Vastly difference code than v3.97. It correctly keeps all duplicates and sorts correctly. It contains some extra duplicate entries that miss the WIZARD_ prefix (for exaple 178 RESIST_FEAR). This clears the IDS map very frequently and runs quite slower than the older versions. Newer SCS versions. I do not remember correctly but i think they behave exactly like v3.9X but also need some sfo libs in order to run. Everything after v3.97 runs quite slower (i did a test run now and v3.97 ran in 3.5secs while v3.9x ran in 4.58secs. In a fully modded installation i think there was a big difference in time).
  15. It doesn't change anything in my points or yours but just for clarity, Improved Anvil never occured to my mind. I have heard of its reputation but i have never played it. The mods i wrote about, were Tactics (some cheesy battles of it) and a mod that it's name escapes my mind now and it introduces a new encounter in Spellhold with a hostile party which include a husband and wife that you need to kill in certain order because otherwise the remaining spouse goes into a rage and kills you. I re-read my post now and i do not find it insulting, but i apologize if you thought my post made fun of you by pointing to Improved Anvil or something and also to Caedwyr for "paying the price" for my post.
  16. I find it odd that a long-time user like yourself with so much knowledge about the game would say something like that. Isn't this "chess" game of using the correct step to countering X defense so that you then can counter Y defense the point of a tactical mod ? And "the player has to counter ALL of them" usually translates to using a sequence of just 2-3 spells (of course if you know which spells). For example, if you watch mivsan's playthrough, he plays with a full party (so we are not talking about people leveling fast) and uses his F/M PC and 1 other mage if i remember correctly (and at some point he removed edwin for imoen or some other "lesser" mage to make the game more challenging), so you definitely don't need a lot of mages or high-leveled ones to cope with enemies's defences. Also, one is not obligated to install the prebuffed components. There are of course mods that you can only beat encounters by reading the enemies' scripts and deduce what tactic you need to use or in which order you need to kill the enemies (because if you kill enemy X before enemy Y, you immediately die) but SCS plays fair. How is it that the player has no chance ? Unless we are talking about a first time player who doesn't know much about the game and shouldn't install a tactical mod. The only things i can recall disliking about SCS are a) the long install time and b) the script lag; and both are the engine's problems and not SCS's. The second is made worse, in my case, by the fact that i play the game through wine on linux and sometimes when enemies appear and their scripts fire, everything lags to a crawl. Other than that, SCS (and IR) is the greatest thing that happened to BG.
  17. Greetings. The talk about going to brynnlaw in the Rhynn Lanthorn thread reminded me of something that i wanted to mention for a long time but i never did. Is it possible for the "Higher cost to Spellhold" component to account for the Alternatives mod too ? When the component is installed, Gaelan asks for the correct amount but Aster still asks for 15K. I have changed locally gameplay/spellhold_cost.tpa#L26 as follows LAF swap_text INT_VAR allow_missing=1 STR_VAR files=~bodhi.dlg gaelan.dlg b!aster.dlg ar0800.bcs baldur.bcs~ swaps= ~ that is i added b!aster.dlg which is the only file that mentions the amount of gold (there is also b!ar1000.baf but the code is commented and not used) and also added INT_VAR allow_missing=1 so that it doesn't error out when someone doesn't use Alternatives. It seems to work but i don't know if it is the optimal way to do it. Thank you for your time.
  18. Damn, then the fault lies elsewhere. I was sure that it was the lack of libpthread because it was the only difference the two trees had. Back to the drawing board Thank you for testing it.
  19. Greetings. [Intro] Lately when i ran gemrb it segfaulted in OpenALAudio:cpp:222 "context = alcCreateContext(device, NULL)"; I tried different OpenAL versions and it always segfaulted. If i modify gemrb.cfg and disable sound then it works fine. It only segfaults with OpenAL. I thought it is an openal fault so i tried to make a minimal C program that reproduces the issue. No matter what i did, i couldn't make it segfault so i came back to gemrb. I did the first thing i do when something segfaults. Recompiling it without LTO and see if it works. And of course it works fine. I could leave it at that and enjoy gemrb but i couldn't I needed to find why it does that. Anyway, after isolating compilation parameters to see what is the fault i found that its not LTO but the combination of LTO and as-needed linker option. I use LTO and as-needed for a long time (at least since Feb 2017) and gemrb always worked. Something else that has changed in the mean time must trigger the problem. I used gemrb on Tumbleweed for some time now so while i compiled it on Gentoo, i didn't ran it and missed the problem. I tried Gcc 8.something, 9.2, 9.3 and all produce the segfault (hm now that i think of it, i haven't tried different linker versions). However, all programs are built with the same *FLAGS (this is Gentoo) and only gemrb segfaults. [/Intro] Whether OpenAL is compiled with or without LTO doesn't make any difference at all. The problem seems to be with gemrb and pthread. OpenALAudio.so is the same in all cases and correctly links with pthread. The gemrb binary however With as-needed but without LTO, it is linked with pthread and works. Without as-needed but with LTO, it is linked with pthread and works With as-needed and with LTO, it is _not_ linked with pthread and segfaults. With a quick search, i haven't found any calls of threading functions in the source code for the gemrb binary (so maybe that is why the linker thinks it doesn't need pthread), but it seems that libpthread is needed. Anybody cares to try compiling germb (the latest git for example) with LTO and as-needed enabled and inform us if it works or if my findings are coincidental and something else is at foot ? export CFLAGS="-O2 -pipe -flto" export CXXFLAGS="${CFLAGS}" export LDFLAGS="-Wl,--as-needed -flto" Setting the above flags (before running cmake) should be enough to reproduce the issue i think. Thank you for your time.
  20. Greetings. If there is someone that hasn't finished the game yet, my post contains Post-Underdark spoilers. One thing that annoys me is that when i leave underdark and i have Viconia with me (almost everytime), she is forced by Elhan to accept a geas spell without me being able to say anything (i don't like in general when a game railroads you without giving you a choice). He interrogates me pestering me with stupid questions, he needs my help to get the lanthorn because he can't travel to human lands and he has the audacity to mess with my teammates. One course of action could be that Viconia leaves your party and meets you at another point (i think Yasraena does that). Some other courses i thought are a) Adalon informing Viconia that the surface elves will be very suspicious towards her and offering her to disguise her as surface elf (with viconia being able to refuse leading to the original behavior), b) even better giving the player the option to strenuously object to Elhan's behavior, even threatening him or something. I would try to implement it myself and open a pull request but i don't know anything about dialog scripting so i leave the idea here in case some of the devs like my proposal. A pet peeve of mine is that sometimes i get stuck on insignificant little details like this one. Or the guy in Adventurer's mart that warns you not to steal. Oh how i hate that guy My current playthrough is with a Cavalier Paladin with amazing reputation and still the guy warns me not to steal. Thank you for your time.
  21. Can you try this https://pastebin.com/DE71jzpV It a bit old too but i think it is better than the one in the gentoo tree. I wrote it because gentoo didn't have a SDL2 gemrb ebuild and i wanted to get rid of SDL1. I haven't tried all options but i have tried sdl, sdl2+opengl, sdl2-opengl scenarios and all worked. At that time, opengl gave me some problems (i can't remember what, maybe flickering or rendering issues) so i personally settled for sdl2 - opengl. I haven't tried the subviews branch with it but i use it as gemrb-9999 and recompile the git version every now and then and it compiles fine with the git tree.
  22. Amazing work as always, lynx. Thank you.
  23. I can't remember for sure what i did in 2016. Maybe some of the changes exposed bugs in vanilla (like the purple magic golems and the planetars) but i think it was only changes for IA.
  24. I use IA in gemrb for a long time now and the only thing i did is modify the avatars.2da. You don't need a patch like the original engine. I ended up also modifying the bgmain patch and the file prefixes but only because i use linux and the μ and other prefixes wouldn't work. The only problem that remains is that gemrb uses the frame count as speed for the animations (which works for some of the original animations) but i suppose the IA animations have more frames and so many creatures have lightning speed I modified the gemrb code to read the speed from a 2da file (in the fashion of EE) but i couldn't get the speed of the animations. The plan was to use scripting in the original engine to measure how long it takes for a creature to travel between two specific points but i couldn't get it. Do you know how fast each animation should go or do you have any way to find out ? If yes, then IA will be able to run fine in GemRB. Edit: Here is a diff of the changes i made. Disregard the prefixes as they correspond only for my filenames. I set the type / space / size by trial and error to make the animations be the same as the originals. I think that i made an area with all the changed creatures and verified that they appear the same between original engine and gemrb but i may remember wrong.
  25. Wasn't there a debate a long time ago about which is the correct value for grandmastery ? Something that it shouldn't give +1.5Apr but only +1 Apr (or +0.5 from specialization like greenhorn said). The readme said +1 and the implementation gave +1.5. I don't think a consensus about which is the correct value was reached and in the end the readme changed to reflect the implementation. I may misremember though.
×
×
  • Create New...