Yer-ye
i30817's Content
There have been 71 items by i30817 (Search limited from 06-June 23)
#555691 WARNING: Do Not Install NeJ - IT WILL BREAK YOUR GAME
Posted by i30817 on 09 March 2013 - 12:09 PM in Mega Mod Help
#542074 Uninstall TobEx on Linux Wine?
Posted by i30817 on 27 May 2012 - 12:27 PM in ToBEx
What doesn't work on wine is installing mod stuff without waiting for ages, especially if you're doing a BGT. Installing in (maybe virtualized) windows sorts that out though.
And you ARE aware that running ToB in wine is quite tricky??
If you put this file above the dir that contains the game (named "BGII - SoA") and run the game by executing it, it should deal with the 'tricky' parts
#!/bin/bash echo "This file to changes the baldur.ini path settings to point to the current dir" echo "this is needed because bg2 is indifferent to relative paths" echo "Run this at least once before running bg2 for the first time" #For the launcher GAME_PATH=$(dirname "$(readlink -f "$0")") cd "$GAME_PATH/BGII - SoA" wine_path=$(winepath -w .) #these keys make the launcher think it is installed. But the config program exists seperatly. Fuck it. #wine reg add "HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\App Paths\\BG2Main.Exe" /t REG_SZ /d "$wine_path\BGMain.exe" #wine reg add "HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\App Paths\\BG2Main.Exe" /v "Path" /t REG_SZ /d "$wine_path" #wine reg add "HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\App Paths\\BG2Main.Exe" /v "Install" /t REG_SZ /d "$wine_path" #wine reg add "HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\App Paths\\BG2Main.Exe" /v "BG25GUID" /t REG_SZ /d "" #wine reg add "HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\App Paths\\BG2Main.Exe" /v "BG25_INSTALL" /t REG_SZ /d "true" #bug with resolutions and movies on infinity engine - only works on virtual desktop, but without the resolution mod, it won't fil #the screen, so i change and restore the resolution - if you use the resolution mod to set it to your habitual desktop #resolution you don't need to change the normal resolution. #set normal resolution to game resolution CURRENT_RESOLUTION=$(xrandr | grep \* | cut -d' ' -f4) xrandr -s 1024x768 #set a virtual destop for the game (only) on the game resolution wine reg add "HKCU\\Software\\Wine\\Appdefaults\\BGMain.exe\\Explorer" /v "Desktop" /t REG_SZ /d "BGMain.exe" wine reg add "HKCU\\Software\\Wine\\Explorer\\Desktops" /v "BGMain.exe" /t REG_SZ /d "1024x768" #bug on baldur's gate with saves in wine rm -f ./temp/default.tot ln -s ./temp/default.tot ./temp/default.tot #For the game to read the data files anywhere #fuck this sed escaping shit, in windows / behaves as \ path=$(echo "$wine_path" | tr '\\\\' '\/') sed -i "s|HD0:=.*|HD0:=${path}\r|g" baldur.ini sed -i "s|CD1:=.*|CD1:=${path}/CD\r|g" baldur.ini sed -i "s|CD2:=.*|CD2:=${path}/CD\r|g" baldur.ini sed -i "s|CD3:=.*|CD3:=${path}/CD\r|g" baldur.ini sed -i "s|CD4:=.*|CD4:=${path}/CD\r|g" baldur.ini sed -i "s|CD5:=.*|CD5:=${path}/CD|g" baldur.ini #run the game and restore the normal resolution after wine BGMain.exe && xrandr -s $CURRENT_RESOLUTION
Most of that is just making the game not need to be 'installed' the config file modification especially. But this:
#bug on baldur's gate with saves in wine
rm -f ./temp/default.tot
ln -s ./temp/default.tot ./temp/default.tot
is important for some boneheaded reason for IE; otherwise the game hangs while saving on wine
the virtual desktop the same resolution as the game resolution - 1024x768 in this case - is also important to sort a mouse bug in the menu.
You'll also have to edit the lines:
sed -i "s|CD2:=.*|CD2:=${path}/CD\r|g" baldur.ini
bolded part to actually point to the right directory in your installation - i consolidated all the 1-5 CD directories when i figured out the duplicated files are exactly the same.
#552135 TobEx Wish list
Posted by i30817 on 25 December 2012 - 03:57 PM in ToBEx
For instance, i assume that adding 1+ creature effects might eventually slow down the game or lead to bad things, if there are hundreds of these little increments. Ideally it would be possible for me to 'remove the old' and 'add the new, accumulated', so a sort of ID would be nice (or at least, that eff on a single stat are merged or something).
This is also a obvious problem for 'percentage modifiers'. I assume the engine has a defined, sorted order in which it applies things.
#551757 TobEx Wish list
Posted by i30817 on 19 December 2012 - 06:08 AM in ToBEx
I want to make classes have thief abilities without being thieves.
#556946 RFE: a component to make the thugs 'respect' you.
Posted by i30817 on 07 April 2013 - 12:29 PM in PS:T Tweaks
The sigil thugs on the main maps that is; that repawn. Something like kill 10, and they don't become hostile anymore.
Could even get some floaters 'no man, not that one', if you really want to ham it up.
#540349 Request: New classes for TNO
Posted by i30817 on 26 April 2012 - 03:26 AM in PS:T Tweaks
But it WOULD be kinda cool to go f/t/m. As a artless tweak, you can just change the ofsets scient gave right?
#555376 Questions about transition
Posted by i30817 on 01 March 2013 - 03:07 AM in BGT Archive
Speaking of which, would it take too much work to do the same to npcs that were dropped from the party?
#552352 Public test release feedback
#541463 LolFixer Thread
Posted by i30817 on 14 May 2012 - 07:24 AM in Mega Mod Help
#554249 iiSpellSystemAdjustments
Posted by i30817 on 02 February 2013 - 03:30 PM in Mod Resurrections
I have a somewhat evil suggestion for this mod...
See if it's possible to code a component to disable resting (except in inns, genies etc).
edit: lol nvm, haven't played so long i forgot this was a option on the tweakpack right?
#541300 Feature request: Add Suslik's enhanced GLOBAL hashmap for PS:T
Posted by i30817 on 11 May 2012 - 11:56 AM in PS:T Fixpack
#541441 [MAJOR] Creature script is not executed
Posted by i30817 on 13 May 2012 - 07:53 PM in ToBEx
What if they are all filled? Rehash and recurse, sure, but the hashcode will not introduce new spaces on hashcodes that were already linear.
If by some reason there is a sequence of (natural) hashcodes with
1, 2... 10 in buckets 1, 2..., 10 and you try to add (another) key with hashcode 1...
changing the size of the array and rehashing will not change the sequence - so infinite cycle?
Does the hashcode take the table size into account in a non-linear fashion (ie: 2+t.size,3+t.size is linear; 2*t.size,3*t.size is not)?
You can verify if the table affects the hashcode somehow by checking the value of 2 hashcodes of the same key before and after a rehash (but not if they are linear, though there wouldn't be a point otherwise i guess).
Doh i keep forgetting it's not a fixed value of buckets, but 10% after resize. That should eventually end in a free bucket yeah. And i just thought a bit and the read "optimization" is irrelevant anyway. If the value is always in the first 10% the rest of the table is not checked.
#542030 [COMPLETED] Script variable substitution: triggers and actions
Posted by i30817 on 25 May 2012 - 08:29 PM in ToBEx
Even in java, i tend to use the 'Maybe' functional pattern for initialization. You know, read this, but if you can't return this value i give as argument (though in the real Haskell Maybe, it's more like 'this computation').I'm willing to wait and see how people use tn[] and ts[] before I modify anything as such. I suspect modders will primarily create their own new 2DA tables for Assign() use other than use existing ones (though L1NPCs would probably use XPLEVEL.2DA a lot).
This could work for ints, but probably not for strings (because of the "only one string" limitation).
Advantage being, reading and the 'null value' substitution could be generalized to 1 function for the user. Although that has the disadvantage of triggering for all failures, not only "can't parse this" (file deleted, file truncated etc) that are likely indication of other bugs.
edit: i forgot about no overloading... though it would be nice
#541763 [COMPLETED] Script variable substitution: triggers and actions
Posted by i30817 on 19 May 2012 - 03:58 AM in ToBEx
From it's wiki page variable code:
// Create variables that can be used in expression.
MathPresso::mreal_t variables[] = { 1, 2, 3 };
const char* names[] = { "x", "y", "z" };
So using @1_PC_Level, @1 gets parsed and decides where to put it on the variable array:
variables[0] = int_value;
variable 0 (1) changes name:
names[0] = "@1_PC_Level";
And mathpresso would freak out without you checking for it if the scripter later on used @1_PCLevel or another similar typo?
edit: you'd need to check it for strings though since they are not going to the evaluator.
That actionoverride thing is ... unfortunate. I had the idea that the variable arrays were static and shared to all objects (but i suppose it's a good idea to have them private to not always be reading things from files like 2da if you can avoid it). But even if it did not dup them, i guess the "ActionOverride needs to clear all array variables" (why?) would put a end to that.
But then again, if the variables of your current object are going to be regularly and inevitably cleared, why not make it static?
About Eval being useless with AO - that's bad news isn't it? Since AO is the only way to affect a creature from another script.
#541659 [COMPLETED] Script variable substitution: triggers and actions
Posted by i30817 on 17 May 2012 - 03:37 AM in ToBEx
type conversions from integer to string: could they be possible in the assigment since type mixing iin eval is not on the cards - it appears you don't want to support them in either of the cases?
tn[] and ts[] (which i assume is pure string) seem to lose a bit of usefulness if they can't be converted to ints too - but in their case it's dangerous since even numeric tables sometimes have "marker" values like *****; and there is no consistency. Could the assign trigger just ... fail and return false if a type conversion fails?
finally as a documentation aid, could the variables be have a *prefix* or maybe *suffix* so that they can be self documenting?
@1_PC_LEVEL or @PC_LEVEL_1 - ugly but better than comments everywhere.
edit: the above wouldn't be name checked though. Only the @1 part would be functional so if the writer typos the documenting suffix afterwards it would be ignored (but cause slight confusion).
This might be a bad idea if later on you resolve to add "real" named variables (because of all the typos in existing code then).
#541665 [COMPLETED] Script variable substitution: triggers and actions
Posted by i30817 on 17 May 2012 - 05:19 AM in ToBEx
Well, a type conversion is made anyway if you use an argtype of INT when reading from 2DA tables (which are stored as CStrings), so ***** would be converted to a value of 0.
I know some use -1 too instead of *****.
Could the returned value be -1 then? I'm unsure if any table uses 0 as placeholder currently.
Failing the trigger is unambiguous, but semantically **** is the same as -1 on some tables and yet if **** failed and -1 passed it would be inconsistent.
So i'd rather ***** (or any other string value converted to int) return -1 all things considered
I know it won't cancel *, but it seems a way to test also the tables that use -1 as placeholder with the same pattern. I've never seen a table with negative numbers otherwise (maybe something about AC?).
edit: i suppose each table is a case. If it uses ***** safest would not to perform the conversion until you know that it's a valid value by comparing it to the "table null". If it uses 0 or -1 or ****, you read it and compare to the "null" and only go on then.
Annoying data inconsistency. I suppose it's unstandardizable since there are oddles of code using it.
#542399 [COMPLETED] Script variable substitution: triggers and actions
Posted by i30817 on 03 June 2012 - 07:53 PM in ToBEx
At first look it looks like
storepartylocations()
could do it, but that seems like a transfer to the "current" GAM file, not really the origin of the info (i assume the action exists because it gets out of date?)
Anyway, something to read the GAM file variables in triggers/actions would be nice. However, if that file/memory structure is only "actually" updated on savegame, pulling the values from the sources of that update would be best (for instance, not "StorePartyLocations()" and read from the GAM struture, but read directly from the where "StorePartyLocations" is reading.)
Also, for applications it would be nice to get not only partymembers locations but also other objects like clouds, traps, gold piles, etc.
- Spellhold Studios
- → i30817's Content
- Guidelines