Pocket Plane Group

Friends and Neighbors => Weimer Republic (WeiDU.org) => WeiDU => Topic started by: the bigg on February 23, 2007, 01:38:20 PM

Title: Last chance to submit bug reports and feature requests!
Post by: the bigg on February 23, 2007, 01:38:20 PM
I plan on releasing WeiDU 199 before I get my new car (which would be the 8 of March). Please submit bug reports and feature requests before I crash while playing Chicken Race I go into another long activity hiatus.

Current stuff:
Code: [Select]
  * COUND_2DA_COLS, PRETTY_PRINT_2DA tp2 patches added.
  * PATCH_(RE)INCLUDE ~something.tpp~ added. It's like INCLUDE something.tph,
    but it includes patches rather than actions.
  * SPACES var string will create a string %var%, of the same length of string,
    but containing only spaces (0x20). SPACES var ~12~ will crate %var% = "  ".
  * QUOTE var string will create a string %var%, which is a regexp string
    matching exactly string. QUOTE var "some^thing\" will create %var% =
    "some\^thing\\".
  * Will warn for typoes in EXTERNs with numeric exit state
    ("EXTERN missing-file 0" or variations).
  * Removed reference to SET_WEIGTH in tlexer.mll and tparser.mly. It's just for
    theoretical correctness, it doesn't cause actual problems.
  * weidu_fast_loading -related crap removed (see v192 log).
  * You can do COMPILE EVALUATE_BUFFER somefile (previously it was parsed, but
    not actually executed).
  * GAME_IS now actually works for multiple games (doesn't default to the last
    one).
  * MODDER tp2 flag added. If you're installing a tp2 *and* the MODDER flag
    is absent, warnings like "This expression has a typo" are disabled. If
    MODDER is there, or you're not installing a tp2 (E.G. you're compiling
    something via WeiDU), warnings are displayed as before.
  * --tcmp-from something.tra --tcmp-to somethingelse.tra improvement: it now
    outputs a valid tra file containing the strings to be translated (as opposed
    to a flat list of numbers).
  * If MODDER is enabled, DO ~something()~ DO ~somethingElse()~ reports an
    error; even if MODDER is not enabled, both actions are compiled as if it
    were DO ~Something() SomethingElse()~.
  * --make-biff and MAKE_BIFF disabled under Linux, because that action causes
    it to segfault randomly.
Title: Re: Last chance to submit bug reports and feature requests!
Post by: devSin on February 23, 2007, 01:51:46 PM
Sex in the back seat!

I submit that this be the last version of WeiDU. Ever.

It's time to move on.
Title: Re: Last chance to submit bug reports and feature requests!
Post by: Miloch on February 23, 2007, 05:17:39 PM
It's time to move on.
To what?  WeiGUI or Sims 2 modding?

As much as I've been able to work around it with some rather clunky scripting (http://forums.gibberlings3.net/index.php?s=&showtopic=8886&view=findpost&p=75552), I'm still rather bugged by the lack of ADD_MEMORIZED_SPELL given the existence of ADD_KNOWN_SPELL, REMOVE_KNOWN_SPELL and REMOVE_MEMORIZED_SPELL.  It would be easier to use such a command for a lot of the Dudley stuff we're trying to work into the BG1 Fixpack (or perhaps Tweakpack as the case may be).  And perhaps a REMOVE_CRE_ITEM, though that would be much rarer, and I guess devSin has a workaround (http://forums.gibberlings3.net/index.php?showtopic=9506) for it.  I don't really expect these to be coded - I'm just saying they'd certainly come in handy.
Title: Re: Last chance to submit bug reports and feature requests!
Post by: the bigg on February 23, 2007, 05:28:50 PM
It's time to move on.
To what?  WeiGUI or Sims 2 modding?
Don't take devSin too literally  :)
WeiGUI is on the list, but it still depends on WeiDU.

Quote
ADD_MEMORIZED_SPELL
Definitively possible.

Quote
REMOVE_CRE_ITEM
You can use DestroyItem() via scripting on the creature. Failing that, it should be easy enough to write -1 in the item reference section (and, since it doesn't need to update offsets, it can be coded rather easily in tp2).
Title: Re: Last chance to submit bug reports and feature requests!
Post by: pro5 on February 23, 2007, 05:36:06 PM
  * You can do COMPILE EVALUATE_BUFFER somefile (previously it was parsed, but
    not actually executed).
Ah, so that's why I could never get it to work.
  * MODDER tp2 flag added. If you're installing a tp2 *and* the MODDER flag
    is absent, warnings like "This expression has a typo" are disabled. If
    MODDER is there, or you're not installing a tp2 (E.G. you're compiling
    something via WeiDU), warnings are displayed as before.
That's cool, thanks. :)

ADD_MEMORIZED_SPELL would be nice.
Title: Re: Last chance to submit bug reports and feature requests!
Post by: Nythrun on February 23, 2007, 06:23:02 PM
Yay, thanks for COMPILE_EVALUATE_WITHOUT_INVENTING_ARBITRARY_NEW_SYNTAX.

Bug: COUNT_REGEXP_INSTANCES - it skips reading an amount of bytes equal to the length of the evaluated expression from the beginning and end of the file (i.e. for a single character, it doesn't read 0 and SOURCE_SIZE-1)
Code: [Select]
<<<<<<<<asdfasdf.asdfasdf
>>>>>>>>

COPY - ~asdfasdf.asdfasdf~ ~override~
  INSERT_BYTES 0x0 0xa
  FOR (i = 0x0; i < 0xa; i += 0x1) BEGIN
    WRITE_BYTE i 0x31
  END
  FOR (i = 0x1; i < 0xb; i += 0x1) BEGIN
    READ_ASCII 0x0 c (i)
    COUNT_REGEXP_INSTANCES ~%c%~ v
    PATCH_PRINT ~%v%~
  END

As for cosmetic requests - would it be possible to add a no printing to debug flag to COPY_* (or to add it by default to COPY -, or to BUT_ONLY)? Regexp makes debug.logs tedious to sift through "Not Copying File8000 because it did not change" or "Defined inlined file8000". About half a dozen people would use it, maybe, so if it's another UNLESS can of tapeworms, I won't whine if you say "not worth it".
Title: Re: Last chance to submit bug reports and feature requests!
Post by: the bigg on February 23, 2007, 06:57:19 PM
Bug: COUNT_REGEXP_INSTANCES - it skips reading an amount of bytes equal to the length of the evaluated expression from the beginning and end of the file (i.e. for a single character, it doesn't read 0 and SOURCE_SIZE-1)
OK.

Quote
As for cosmetic requests - would it be possible to add a no printing to debug flag to COPY_* (or to add it by default to COPY -, or to BUT_ONLY)? Regexp makes debug.logs tedious to sift through "Not Copying File8000 because it did not change" or "Defined inlined file8000". About half a dozen people would use it, maybe, so if it's another UNLESS can of tapeworms, I won't whine if you say "not worth it".
Can you list which messages you'd like blocked?
(for reference, if this is fine with you I'll piggyback control of this on the SILENCE/VERBOSE stuff I added in v191. rather than adding YET_ANOTHER_INSIPID_KEYWORD).
Title: Re: Last chance to submit bug reports and feature requests!
Post by: Nythrun on February 23, 2007, 07:32:05 PM
That would be just fine, thank you :)

Not copying...
Defined inlined...
Appending file columnwise (we already know it's being copied)
(whatever the loaded file message is for INNER_PATCH_FILE, I forget)
"Anything whatsoever" parsed
Warning: Anyfile is a zero-byte file

I'm basically looking for the "WeiDU is not patching anything and is telling you all about that at nauseating length" messages, nothing in .d :)
Title: Re: Last chance to submit bug reports and feature requests!
Post by: cmorgan on February 23, 2007, 07:42:25 PM
I like the idea of toggling on/off (sorry if I can do this now but don't know how :) )


I like them for debugging, but it sure does get folks worried when they see those error messages.

In my perfect world, I would get to suppress all the
Code: [Select]
Not copying [_TAV0114.STO] to [override/_TAV0114.STO] because it did not changeand the
Code: [Select]
WARNING: I_C_T2: the interjection point (_ARKION 3) has multiple exit transitions that have different actions!
First Action: SetGlobal("XzarArkion1","GLOBAL",1)
Other Action: EraseJournalEntry(85266)

SetGlobal("HelpArkion","GLOBAL",1)

TakePartyItem("_MISC80")

GivePartyGold(250)

AddexperienceParty(1800)
and only enable those two "information" messages when I am testing a new set of code to see what I have broken...

Title: Re: Last chance to submit bug reports and feature requests!
Post by: devSin on February 23, 2007, 08:23:05 PM
Can you list which messages you'd like blocked?
(for reference, if this is fine with you I'll piggyback control of this on the SILENCE/VERBOSE stuff I added in v191. rather than adding YET_ANOTHER_INSIPID_KEYWORD).
Don't make this the default SILENT behavior, please. I actually use SILENT, and I don't want the log messages suppressed (I just don't need the onscreen feedback that I've seen 1001 times before).
Title: Re: Last chance to submit bug reports and feature requests!
Post by: Nythrun on February 23, 2007, 09:31:02 PM
I'd just like to be able to say "post your debug log" and not have the responses limited to:

which really isn't possible right now.

/edit

I don't remember seeing any BUT_ONLY or COPY_EXISTING_REGEXP in devSin's stuff, so it wouldn't have any effect at all there, yes?
Title: Re: Last chance to submit bug reports and feature requests!
Post by: the bigg on February 24, 2007, 04:36:03 AM
Quote
Don't make this the default SILENT behavior, please. I actually use SILENT, and I don't want the log messages suppressed (I just don't need the onscreen feedback that I've seen 1001 times before).
OK, I'll use the MODDER flag for this as well (so it'll work with existing tp2s).

Nyth: the following are ok:
    * Not copying...
    * Defined inlined...
    * Appending file columnwise
     * "Anything whatsoever" parsed
   * Warning: Anyfile is a zero-byte file
The following is not:
    * (whatever the loaded file message is for INNER_PATCH_FILE, I forget) --> there's no way to turn off only for I_P_F, sorry
The net result is a 50% decrease on installing bg2fixpack, core fix only:

  8963  41047 408941 debugs/bg2fixpack.debug-nomodder
 13988  71422 725223 debugs/bg2fixpack.debug-modder


cmorgan: that is an actual error in your D code, of the "don't use ICT2 by default" form.
Title: Re: Last chance to submit bug reports and feature requests!
Post by: cmorgan on February 24, 2007, 09:25:46 AM
Quote
cmorgan: that is an actual error in your D code, of the "don't use ICT2 by default" form.
oh crap.

oh crap crap crap.

[off topic onto personal problems]
That means I have something like 600 or so I_C_T_2s to test individually, right... since many of those are I_C_T2s where we hijack the interjected thread and send it in a slightly different way, or terminate with an I_T_C2 and replicate both original and added content?
[now returning you to your regularly scheduled discussion, still in progress]
Title: Re: Last chance to submit bug reports and feature requests!
Post by: the bigg on February 24, 2007, 09:34:07 AM
ICT2 is for when you're interjecting into a state where the original speaker does something like Kill(Myself) or DestroySelf(). In all other cases, stick to plain ICT.
Title: Re: Last chance to submit bug reports and feature requests!
Post by: cmorgan on February 24, 2007, 09:36:59 AM
Yep, that means decompiling and rechecking  :-\  and here I thought I was done with all the big revamping of legacy code...
Title: Re: Last chance to submit bug reports and feature requests!
Post by: berelinde on February 24, 2007, 10:21:47 AM
First rule of modding: you're never done.

You could also think of it as an opportunity to make sure all the InMyArea("NPC") checks are there.
Title: Re: Last chance to submit bug reports and feature requests!
Post by: pro5 on February 25, 2007, 03:11:11 AM
Looks like some weirdness in INNER_PATCH_SAVE parsing?

Non-parsing example:
Quote
ADD_SPELL ~Mymod/SPL/P5SPW401.SPL~ ~2~ ~4~ ~WIZARD_CHOKING_CLOUD~
    SAY 0x50 @179
    SAY 0x54 @180
    SAY 0x1be @181

  OUTER_SPRINT ~temp~ ~%WIZARD_CHOKING_CLOUD%~ 

  INNER_PATCH_SAVE ~temp2~ ~%temp%~ BEGIN
    DELETE_BYTES 0x00 1
  END
 
  PRINT ~temp2 = %temp2%~

Parsing example:
Quote
ADD_SPELL ~Mymod/SPL/P5SPW401.SPL~ ~2~ ~4~ ~WIZARD_CHOKING_CLOUD~
    SAY 0x50 @179
    SAY 0x54 @180
    SAY 0x1be @181

  OUTER_SPRINT ~temp~ ~%WIZARD_CHOKING_CLOUD%~ 
  COPY + ~Keymap.ini~ ~Keymap.ini~  // meaningless, but removes the parse error

  INNER_PATCH_SAVE ~temp2~ ~%temp%~ BEGIN
    DELETE_BYTES 0x00 1
  END
 
  PRINT ~temp2 = %temp2%~
Title: Re: Last chance to submit bug reports and feature requests!
Post by: Nythrun@work on February 25, 2007, 03:22:30 AM
INNER_PATCH_SAVE is a patch, not an action: you're wanting OUTER_\(INNER\)?_PATCH_SAVE there.

Bigg: Thanks, that looks great. I'll switch over to INNER_ACTION -> COPY_EXISTING - and lose the INNER_PATCHes :)
Title: Re: Last chance to submit bug reports and feature requests!
Post by: CamDawg on February 28, 2007, 10:43:14 AM
If the MODDER flag caused WeiDU to ignore all VIEW calls, I'd be pretty stoked. :)
Title: Re: Last chance to submit bug reports and feature requests!
Post by: the bigg on February 28, 2007, 11:33:42 AM
If the MODDER flag caused WeiDU to ignore all VIEW calls, I'd be pretty stoked. :)
MODDER only works for the current tp2  ;) . You can use --skip-at-view, but since you use Windows and double-clicking I guess I can add that behaviour to MODDER too.
(and perhaps also add a --modder CLI option).
Keep in mind that 99% of modders are idiots and use NOTEPAD something from the bat files, which means that this won't work (luckily, AT_* ~NOTEPAD foo~ & variants now falls back to AT_* ~VIEW foo~).
Title: Re: Last chance to submit bug reports and feature requests!
Post by: cmorgan on February 28, 2007, 04:26:00 PM
oi, I resemble that remark  ;D
Title: Re: Last chance to submit bug reports and feature requests!
Post by: the bigg on February 28, 2007, 05:15:15 PM
oi, I resemble that remark  ;D
In the sense that you are in the 99% or in the sense that you are in the 1%?
(Sorry, ESL here  :P )
Title: Re: Last chance to submit bug reports and feature requests!
Post by: cmorgan on February 28, 2007, 09:09:23 PM
I was making a joke about "I resent that!" by using the "slip of the tounge" or "accidental" slip "I resemble that!". So the joke is that the person is trying to say "Hey, that is calling me something!" with "Hey, I *am* that!"

It may not translate well, sorry... I keep forgetting that we are all different native language speakers. :)
Title: Re: Last chance to submit bug reports and feature requests!
Post by: Anomaly on March 04, 2007, 08:53:49 AM
Uninstalling components seems to have issues.

I made a sample mod with 4 components. I installed all four, then I uninstalled the first one, then Q[uitted], since I only wanted to uninstall the first component.

This is what I got :

Quote
// Recently Uninstalled: ~TEST/TEST.TP2~ #0 #0 // Component I
// Recently Uninstalled: ~TEST/TEST.TP2~ #0 #2 // Component III
// Recently Uninstalled: ~TEST/TEST.TP2~ #0 #3 // Component IV
~TEST/TEST.TP2~ #0 #2 // Component III
~TEST/TEST.TP2~ #0 #3 // Component IV
~TEST/TEST.TP2~ #0 #1 // Component II

So the component II is not marked as uninstalled, is reinstalled anyway, but at the wrong time.

Please note that this happens only when one uses the Q[uit] function. If I don't use the Q[uit], this is what I get :

Quote
// Recently Uninstalled: ~TEST/TEST.TP2~ #0 #0 // Component I
// Recently Uninstalled: ~TEST/TEST.TP2~ #0 #1 // Component II
// Recently Uninstalled: ~TEST/TEST.TP2~ #0 #2 // Component III
// Recently Uninstalled: ~TEST/TEST.TP2~ #0 #3 // Component IV
~TEST/TEST.TP2~ #0 #1 // Component II
~TEST/TEST.TP2~ #0 #2 // Component III
~TEST/TEST.TP2~ #0 #3 // Component IV

I also wonder why, in all cases, if I remove on component from a mod, all the components after this one, but from the same mod, are marked as "Recently uninstalled", but not the components from the other mods installed after it. I hope this is not another issue with uninstalling, because this is a new behavior. Older WeiDU versions marked the uninstalled component as "Recently Uninstalled", and only this one.
Title: Re: Last chance to submit bug reports and feature requests!
Post by: the bigg on March 04, 2007, 09:17:02 AM
I also wonder why, in all cases, if I remove on component from a mod, all the components after this one, but from the same mod, are marked as "Recently uninstalled", but not the components from the other mods installed after it. I hope this is not another issue with uninstalling, because this is a new behavior. Older WeiDU versions marked the uninstalled component as "Recently Uninstalled", and only this one.
Older WeiDU behaviour caused problems with something, or something else, so I had to change this to the new 'everything is Recently uninstalled' behaviour (cmorgan was the one who reported the problem).

Since the only machine I have with BG2 is being repaired, I'll have to delay testing & working around your own personal bug with uninstalling, sorry.
(of course, as of now the best solution would be to significantly rewrite from scratch large portions of all the TP type definition, action/patch executer and installer mammoth, but that'd be overkill in quantity of new bugs created).
Title: Re: Last chance to submit bug reports and feature requests!
Post by: cmorgan on March 04, 2007, 09:22:07 AM
Anomaly, the reference link for the reported (and fixed) problem  is
http://forums.pocketplane.net/index.php/topic,23208.msg294835.html#msg294835
Title: Re: Last chance to submit bug reports and feature requests!
Post by: CamDawg on March 22, 2007, 12:53:32 PM
Here's something I've been meaning to request for ages and keep forgetting. Using WeiDU's command line compare, if the files are different sizes then it will simply report the size difference. I think it'd be more useful to compare to the EOF for the smaller file and also report the size difference. For, say, an item file, the first 0x72 bytes of compare will still let me see if the size difference is due to more abilities or effects.
Title: Re: Last chance to submit bug reports and feature requests!
Post by: the bigg on March 22, 2007, 03:25:32 PM
Would utilities like Dos `fc' or Unix `diff' suffice to you, or you prefer to add them in WeiDU (which'd happen for 200 anyway)?
Title: Re: Last chance to submit bug reports and feature requests!
Post by: Anomaly on March 27, 2007, 04:27:36 PM
Uninstalling components seems to have issues.
[snipped]
I don't see this on the WeiDU 199 changelog. :( Does that means that you were not able to reproduce the problem, or do you prefer to wait for your major rewrite for v200 ?
Title: Re: Last chance to submit bug reports and feature requests!
Post by: the bigg on March 27, 2007, 04:29:59 PM
I reproduced it, but yes, that one was what made me say "it is time to rewrite and/or refactor heavily WeiDU", since currently fixing bugs in the TP menu/ordering stuff is a nightmare.