I'm getting an an exception upon clicking the scan mods button when my mod is in the modbase folder along with only the 'original' and 'testmod' mods, or when there's only a couple other mods (some seem to still trigger it, some don't). (Mine's named 'sl_tilemod')
It's occurring inside Form1's LoadFilesToList. I loaded the source up and ran it through visual basic 2005 express edition's debugger and:
It's occurring in this line (line 576 of Form1.vb): mods(CInt(md.args(2))).order = mods(x).order
md.args(2) is "4". mods.Length is NOT 4 or higher... It's trying to set mods(4).order when mods.Length is below 4! It seems to be reading md (from modcfg) from a config file which remembers mods that I've removed the .txt files for, and is presumably remembering the former position of my mod in the list of mods, or something like that, and trying to force it into it again.
Haven't had a chance to try any of the new stuff yet, or test the t_word fix, since this problem cropped up.
Edit: Fixed it for you (I've included some of the code around it in this snippet) - this gets rid of the crashing anyhow. I don't know if it's what you'd prefer it to do.
If md.args(1) = mods(x).name Then
Dim pos As Integer
pos = CInt(md.args(2))
If pos >= 0 And pos < mods.Length Then
mods(pos).order = mods(x).order
mods(x).order = CInt(md.args(2))
mods(x).active = CBool(md.args(3))
For t As Integer = 4 To md.args.Length - 1 Step 2
mods(x).setmodulestate(md.args(t), CBool(md.args(t + 1)))
Next
sortModsByOrder()
End If
End If
How is the sorting *supposed* to work? It doesn't look alphabetical, or is that because I just screwed it up and the screwed up version borked the normal version too? (I just loaded the non-fixed version to check and see if it was sorted alphabetically with all the mods in the list, and it wasn't)
Edit again:
Okay, on T_WORD, I can't seem to get it to do what I want: replace, or remove and recreate, words in each language - I'm removing some accent marks. Here's some things I've tried (using FOO and bar as examples, though I used the actual dwarf language files instead - I just don't want to mess with accent marks here):
I've tried just specifying [T_WORD:BULWARK:rithzam] etc. That makes a new word and leaves the old one.
I've tried putting [!REPLACE] before the [T_WORD:FOO:bar], and after, and in both cases it had no effect.
I've tried [COND:T_WORD@1#FOO][T_WORD:FOO:bar], but that still only makes a new word and leaves the old one.
I've tried [T_WORD:FOO:#][!DEL!][T_WORD:FOO:bar]. That adds a verbatim [T_WORD:FOO:#] entry in addition to the [T_WORD:FOO:bar] entry, and still leaves the original accent-marked version T_WORD version of FOO.
Finally I tried [T_WORD:FOO][!DEL!][T_WORD:FOO:bar] and that resulted in: [T_WORD:FOO:bar] [T_WORD:FOO] along with the original accented version of [T_WORD:FOO:bar] still being in the file.
Edit again:
About the tileset var:
I can't say I like ModBase deleting all the comments from init.txt, and not backing it up, or warning it was going to do that D: (I use winmerge to migrate my init.txt changes to new versions of DF, and having the comments missing would be a nuisance)
Also, ModBase's new tileset var doesn't appear to work with graphical mode - it's not changing the graphical mode tileset, only the non-graphical one.
Otherwise, looks cool!