Author Topic: WeiDU 200 dreamlist  (Read 2503 times)

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Moderator
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
WeiDU 200 dreamlist
« on: March 21, 2007, 07:32:54 PM »
Yes, WeiDU 199 is still not released, but it's an upload away  ;)

However, I'm thinking of doing heavy refactoring work for WeiDU 200. As such, it'd be more likely that I might implement a feature that would be considered 'too difficult' under normal circumstances (for a suitable definition of more likely). Given that, you're welcome to post and/or re-post feature requests that were previously written off as 'too difficult' or 'too long'. I reserve the right to discard features that would be exceedingly difficult and/or bug prone, even under refactoring mode.

This is my current list (posted for curiosity and data safety):
Quote
OCAML CODE:

Split the tp.ml monster smaller, more easily handled modules. Seriously, tp.ml is 6000 lines long, and all the sources (WeiDU and other stuff) are 30000 lines in total.
  • definitions (tp.ml, for compatibility)
  • evaluate a patchexp / patchstring (tppexp.ml)
  • execute a patch (tpaction.ml)
  • execute an action (tpaction.ml)
  • execute actions to (un)install a component (tpinst.ml)
  • move in the component stack (tpstack.ml)
  • user menu (tpmenu.ml)

Possibly repeat for other modules (navigating through main.ml, D/DLG and BAF/BCS isn't an easy task either).

Single function for compiling D files and similar tasks (send list of TRA, TRA stack constraints, etc. as a parameter to the function), no more copying 10s lines of code of a simple COMPILE. Repeat for other boring tasks as needed.

FUNCTIONALITY:

New backup rules: put list of files in {BACKUP}/#c/UNINSTALL_NEW.#c rather than in {BACKUP}/#c/UNINSTALL.#c . Save old some/file.exe as some.file.ext, or none for file deletion. Remember to read and use old {BACKUP}/#c/UNINSTALL.#c for compatibility.

Send/return parameters in macroes in a more human-understandable way. For ex.,
Code: [Select]
LAUNCH/DEFINE_*_MACRO name PARAM (par1 par2 par3) RETURNS (ret1 ret2 ret3) rather than using variables as before (leave old-style behaviour for compat).

LOCAL_READLN.

Arrays (from SHS PMs): {PATCH_,LOCAL_,ACTION_,}DEFINE_ARRAY arrayname {val1 val2 val3}, {PATCH_,LOCAL_,ACTION_,}FOR_EACH array AS value BEGIN asdasdasd END, DEFINE_OFFSET_MACRO (offset_to_read_start, offset_to_read_count, length_of_single_item).

OTHER / OPTIONAL:

Rewrite WeiGUI in Java, reading a sample XML mod list (will get around to WeiDB later). Will lose ability to scan current tp2s though.
« Last Edit: March 29, 2007, 07:05:04 AM by the bigg »
Author or Co-Author: WeiDU (http://j.mp/bLtjOn) - Widescreen (http://j.mp/aKAiqG) - Generalized Biffing (http://j.mp/aVgw3U) - Refinements (http://j.mp/bLHoCc) - TB#Tweaks (http://j.mp/ba02Eg) - IWD2Tweaks (http://j.mp/98OFYY) - TB#Characters (http://j.mp/ak8J55) - Traify Tool (http://j.mp/g1Ry9A) - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics (http://j.mp/9UeIwB) - Nalia Mod (http://j.mp/dng9l0) - Nvidia Fix (http://j.mp/aRWjjg)
Code dumps: Detect custom secondary types (http://j.mp/hVzzXG) - Stutter Investigator (http://j.mp/gdtBn8)

If possible, send diffs, translations and other contributions using Git (http://j.mp/aBZFrq).

Offline Nythrun

  • Planewalker
  • *****
  • Posts: 89
  • Gender: Female
Re: WeiDU 200 dreamlist
« Reply #1 on: March 28, 2007, 09:42:54 AM »
LOCAL_READ_*, maybe? (LOCAL_SET alone isn't very useful when most variables aren't defined without reference to a file).

Of course, I've not even had a chance to play with 199 yet :(

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Moderator
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: WeiDU 200 dreamlist
« Reply #2 on: March 28, 2007, 10:56:06 AM »
LOCAL_READ_*, maybe? (LOCAL_SET alone isn't very useful when most variables aren't defined without reference to a file).

Of course, I've not even had a chance to play with 199 yet :(
Will do.
Author or Co-Author: WeiDU (http://j.mp/bLtjOn) - Widescreen (http://j.mp/aKAiqG) - Generalized Biffing (http://j.mp/aVgw3U) - Refinements (http://j.mp/bLHoCc) - TB#Tweaks (http://j.mp/ba02Eg) - IWD2Tweaks (http://j.mp/98OFYY) - TB#Characters (http://j.mp/ak8J55) - Traify Tool (http://j.mp/g1Ry9A) - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics (http://j.mp/9UeIwB) - Nalia Mod (http://j.mp/dng9l0) - Nvidia Fix (http://j.mp/aRWjjg)
Code dumps: Detect custom secondary types (http://j.mp/hVzzXG) - Stutter Investigator (http://j.mp/gdtBn8)

If possible, send diffs, translations and other contributions using Git (http://j.mp/aBZFrq).

Offline Miloch

  • Barbarian
  • Planewalker
  • *****
  • Posts: 1032
  • Gender: Male
Re: WeiDU 200 dreamlist
« Reply #3 on: April 05, 2007, 02:54:21 PM »
I'd like to see features like LEN, LTRIM and RTRIM for figuring out the length of strings, and trimming left and right characters from it.  There may be a length feature already, and something similar in the way of SNPRINT, but it only works on one side of the string evidently.

Also I'd like to see string literal concatenation work on TRA entries, if it doesn't already (I asked about it here).

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Moderator
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: WeiDU 200 dreamlist
« Reply #4 on: April 05, 2007, 03:12:40 PM »
I'd like to see features like LEN, LTRIM and RTRIM for figuring out the length of strings, and trimming left and right characters from it.  There may be a length feature already, and something similar in the way of SNPRINT, but it only works on one side of the string evidently.
There's an ugly workaround somewhere for calculating LENGTH, but I'll add it ({LOCAL_,ACTION_,}STRING_LENGTH ~string%with%vars~ outVar for strings, and BUFFER_LENGTH outVar for the current file). As for LTRIM and RTRIM, if you have LENGTH it's already possible to do with INNER_PATCH & READ_ASCII (length).

Quote
Also I'd like to see string literal concatenation work on TRA entries, if it doesn't already (I asked about it here).
Code: [Select]
INNER_PATCH ~12341234~ BEGIN
SAY 0 @5
SAY 4 @6
READ_STRREF 0 ~@5~
READ_STRREF 4 ~@6~
END
SAY_EVALUATED NAME ~%@5% something %@6%~
Won't work for DialogF and/or sound references, but it works like a charm for items & such. The initialization could probably be streamlined if we had a @(2 + %var%) construct, though (which I could consider).
Author or Co-Author: WeiDU (http://j.mp/bLtjOn) - Widescreen (http://j.mp/aKAiqG) - Generalized Biffing (http://j.mp/aVgw3U) - Refinements (http://j.mp/bLHoCc) - TB#Tweaks (http://j.mp/ba02Eg) - IWD2Tweaks (http://j.mp/98OFYY) - TB#Characters (http://j.mp/ak8J55) - Traify Tool (http://j.mp/g1Ry9A) - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics (http://j.mp/9UeIwB) - Nalia Mod (http://j.mp/dng9l0) - Nvidia Fix (http://j.mp/aRWjjg)
Code dumps: Detect custom secondary types (http://j.mp/hVzzXG) - Stutter Investigator (http://j.mp/gdtBn8)

If possible, send diffs, translations and other contributions using Git (http://j.mp/aBZFrq).

Offline Azazello

  • The Anti-Spammer
  • Planewalker
  • *****
  • Posts: 405
  • Gender: Male
    • Azazello’s Music Profile at Last.fm
Re: WeiDU 200 dreamlist
« Reply #5 on: April 09, 2007, 12:01:09 AM »
Don't know how much coding effort would be needed for this, but I'ld like an option to redirect the Backup folder for each mod to another location, in order to save space on the main drive by offloading backup files to another drive.

I'm imagining an option prompt to ask for the path when doing a manual install, and an auto switch like this:

--backup-folder-location "J:\HappyDrive"

where the 'backup' folder tree for each mod would be maintained. WeiDU would be smart enough to reference this path on uninstall.

Of course, if this is already doable, yay me!
Community Contributions
Level 1 NPCs * gMinion: expanded TP2 for MegaInstalls * PSM (PSQM): expanded scripts for Melanthium * non-detectable Cloak of Non-Detection ?? * Weimer's-Tactics: revised TP2 for MegaInstalls
========================================
"Deception has many faces. Truth...has only one."

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Moderator
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: WeiDU 200 dreamlist
« Reply #6 on: April 09, 2007, 04:28:49 AM »
OK.
Author or Co-Author: WeiDU (http://j.mp/bLtjOn) - Widescreen (http://j.mp/aKAiqG) - Generalized Biffing (http://j.mp/aVgw3U) - Refinements (http://j.mp/bLHoCc) - TB#Tweaks (http://j.mp/ba02Eg) - IWD2Tweaks (http://j.mp/98OFYY) - TB#Characters (http://j.mp/ak8J55) - Traify Tool (http://j.mp/g1Ry9A) - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics (http://j.mp/9UeIwB) - Nalia Mod (http://j.mp/dng9l0) - Nvidia Fix (http://j.mp/aRWjjg)
Code dumps: Detect custom secondary types (http://j.mp/hVzzXG) - Stutter Investigator (http://j.mp/gdtBn8)

If possible, send diffs, translations and other contributions using Git (http://j.mp/aBZFrq).

Offline Miloch

  • Barbarian
  • Planewalker
  • *****
  • Posts: 1032
  • Gender: Male
Re: WeiDU 200 dreamlist
« Reply #7 on: June 01, 2007, 01:26:29 AM »
Trying to cut down some of the cruft in my TP2s.  Is it feasible to add a numeric parameter to ADD_MEMORIZED_SPELL, e.g.:
Code: [Select]
ADD_MEMORIZED_SPELL ~SPWI112~ #0 ~wizard~ 5 //Memorizes Magic Missile 5 timesRather than have the same line 5 times.  If the parameter is omitted it's assumed to be 1.  Also can it ADD_KNOWN_SPELL automatically if it isn't known already?  Maybe it does this already; I haven't tested it heavily yet.

Offline the bigg

  • The Avatar of Fighter / Thieves
  • Moderator
  • Planewalker
  • *****
  • Posts: 3804
  • Gender: Male
Re: WeiDU 200 dreamlist
« Reply #8 on: June 01, 2007, 05:02:05 AM »
mem count: I could swear it was in. will add if missing, or document if present.
A_K_S: can do.
Author or Co-Author: WeiDU (http://j.mp/bLtjOn) - Widescreen (http://j.mp/aKAiqG) - Generalized Biffing (http://j.mp/aVgw3U) - Refinements (http://j.mp/bLHoCc) - TB#Tweaks (http://j.mp/ba02Eg) - IWD2Tweaks (http://j.mp/98OFYY) - TB#Characters (http://j.mp/ak8J55) - Traify Tool (http://j.mp/g1Ry9A) - Some mods that I won't mention in public
Maintainer: Semi-Multi Clerics (http://j.mp/9UeIwB) - Nalia Mod (http://j.mp/dng9l0) - Nvidia Fix (http://j.mp/aRWjjg)
Code dumps: Detect custom secondary types (http://j.mp/hVzzXG) - Stutter Investigator (http://j.mp/gdtBn8)

If possible, send diffs, translations and other contributions using Git (http://j.mp/aBZFrq).

 

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.

Name: Email:
Verification:
Type the letters shown in the picture
Listen to the letters / Request another image
Type the letters shown in the picture:
What color is grass?:
What is the seventh word in this sentence?:
What is five minus two (use the full word)?: