Jump to content

New progress report


Recommended Posts

Everything so far now seems to be integrated into one basically-functional install (except scripts and dialogs, I haven't moved them yet but it shouldn't be too bad).

 

Music now works fine.

 

One random detail: the sound of footsteps in snow now works!

 

Having looked again at INI files, it looks possible to write an interpreter for them in WEIDU rather than Perl, which will be slightly less faffy.

 

We make progress...

Link to comment

I'm hopeless at doing progress reports, so don't assume I'm keeping this up to date.

 

But anyway, mostly in the last few days I've been trying to get a stable install with all the various features together and not causing crashes. That's basically done.

 

Also:

 

- a few more opcodes now convert: only four or five spells left to do (other than ones that are beyond me)

- chapter start screens now work

Link to comment

Amazing how many small engine details show up when you do something like this.

 

Did you know:

 

- In IWD, "GlobalTimerExpired" evaluates as true when the timer hasn't yet been set? (I swap them all for !GlobalTimerNotExpired)

 

- BG2 start-of-chapter music is included in the voiceover WAV; IWD start-of-chapter music is a separate ACM? (I patch it into the WAV manually)

 

- IWD minimaps are 4/3 the scale of BG2 ones? (I'm having to generate new minimaps for all the areas from the original WED/TIS)

 

- For some reason the pathing in IWD is happy with exits that extend too close to the screen edge for BG2 to handle? (I've got a macro that resizes them)

 

In other news, I'd say the awkward issues with scripts are now 1/3 to 1/2 resolved.

Link to comment

About 2/3 of the way through the script awkward-issues list. I've had to adapt SSL to automate some of the conversion algorithms I need to use - one thing WEIDU isn't very good at is on-the-fly BAF rewriting. (In fact, I don't think it's too misleading to think of the main TP2-handling bit of WEIDU and the D format as separate components - and there isn't really a WEIDU version of the D format for scripts.)

 

In case it isn't obvious, the basic working principle here is to automate anything that moves. I absolutely do not want to end up having to edit dozens or hundreds of files in DLTCEP or something.

 

After this, I need to

 

- merge the worldmaps

- code character advancement

- handle creature sounds

- process INI files

 

We won't be quite done, then, but we'll be done other than a collection of not-too-difficult special cases (and doubtless it'll all still be horrendously buggy).

Link to comment

Scripts all converted.

 

Worldmap done (in a straightforward, merge-the-maps-and-then-get-your-artistic-wife-to-add-a-border, way - we can think about embellishments later).

 

Done about half the character-advancement stuff (i.e., rangers and paladins are done; mages, clerics and fighters don't need anything; I can't do the thief special powers so I'm not trying; sorcerors need to be checked to make sure they're working okay; druids and bards need their special powers to be added.)

 

Corrected a few glitches in the character-generation bit of the GUI (more to go, though I'm not going to spend too long making it beautiful given that you only see it once).

 

Random extra problem that came up: randomised treasure. IWD and BG2 handle this differently but I've converted as best I can.

Link to comment
(In fact, I don't think it's too misleading to think of the main TP2-handling bit of WEIDU and the D format as separate components)

Can I say "no shit Sherlock" or would you get angry? :)

 

and there isn't really a WEIDU version of the D format for scripts.

I'm sure I could implement something like that if actual scripters came up with a semi-detailed list of features they'd want (and, if I did that, also ssl support in WeiDU if I can be arsed to learn perl).

Link to comment
(In fact, I don't think it's too misleading to think of the main TP2-handling bit of WEIDU and the D format as separate components)

Can I say "no shit Sherlock" or would you get angry? :)

 

Nah, go for it. It's one of these things that's obvious when you think of it, but I hadn't for some reason.

 

and there isn't really a WEIDU version of the D format for scripts.

I'm sure I could implement something like that if actual scripters came up with a semi-detailed list of features they'd want (and, if I did that, also ssl support in WeiDU if I can be arsed to learn perl).

 

I really doubt there's enough demand. Loads of people want detailed interfaces into dlg files; hardly anyone does anything that sophisticated with scripts. I'm about the only person (other than Sikret, I guess!) currently doing anything complicated enough to benefit from SSL-level handling, for instance. (As I think I've said elsewhere, SSL is a kind of D format for scripts, but as far as I know no-one's taken up my offer of using it.)

Link to comment

... although, as long as I'm thinking, something like this would be pretty helpful:

 

EDIT_BCS_BLOCKS filename BEGIN trigger

  • END BEGIN action
    • END BEGIN patch
      • END

 

would be cool.

 

Syntax: trigger, action are (resp) BCS triggers and actions (could contain regexps); command goes through each bcs block in filename and for each one whose trigger block contains all the triggers and whose action block contains all the actions, treats it as a text file and applies the patches. Then they all get sewn together again.

 

But like I say, I'm not actually convinced enough people would actually use it to make it worthwhile. I would have used it lots for IWD-in-BG2, but by now I've kludged and hacked my way through without it; occasionally it might be useful in SCS(II) but mostly I use SSL anyway. Just thinking aloud really.

Link to comment
Can do (about 3 hours of work I guess). Do you actually want it?

 

Not reliably enough to make you do the work. (If it had occurred to me to ask a week ago, before I'd started doing the IWD-in-BG2 script replacements, it might have been, but atm I can't think of anything comparable I'm likely to do soon.) I was just brainstorming what that kind of functionality would actually look like in principle.

Link to comment

I can now parse INI files. (That was the last really significant job to do, I hope.)

 

Apologies to Berelinde for not using the hand-converted ones you did last spring - but looking at the files more carefully I reckon Cam wasn't quite right about how they worked, and overall it seemed safest to have an automated converter that could be tweaked without hand-altering dozens of files if something turns out to need modifying.

Link to comment

I've now got code that auto-generates the files that associate creature sounds to animations. Remaining jobs:

 

- sort out druid, bard and sorceror advancement

- finish off the last dozen or so spell and item conversions (I've been putting this off because I hate manual work)

- do a few workarounds via area script -notably: Pomab, the Crypt Things (ditto)

- actually build an installer (the thing I'm using locally is a nightmare)

- a couple of microtasks (like sorting out spell descriptions for temples)

 

I'm hoping to have a playable (albeit buggy!) beta for April 1st, which is the anniversary of Cam's original announcement, but we'll see if that's actually RL-compatible.

 

EDIT:

 

checking back over Cam's original list, I also need to do

- death variables

- item descriptions and proficiencies

Link to comment
DV's a must. You found that out when we first started testing Cam's alpha.

 

Actually, that's a slightly different problem - Hrothgar doesn't seem to have any DV at all, but IWD seems to be able to use the creature name as a surrogate. This is one of these problems which I fully expect to lead to bugs in the beta, as I can't easily automate catching it.

Link to comment

This is a total BIS hack. Creatures without script names have their actor name (from the ARE) copied to their script name when they're loaded or something like that, so every creature in the game actually has a script name even if it's not in the CRE.

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...