Jump to content


Photo

Heard you like parties

news

78 replies to this topic

#1 lynx

lynx
  • Modders
  • 2990 posts
  • Gender:Male
  • Location:Ljubljana, Slovenija

Posted 26 February 2015 - 10:00 AM

party9.jpg
 
Yes, the latest code supports displaying as many party members as your gui allows. There are no scrollbars, but once we add those, this limit can go away:

 

The mod is complete, read the docs and instructions here:

https://github.com/l...ree/master/10pp
 
Testing with other mods and/or finding appropriate overrides is very welcome.

I'm starting a test playthrough with monk/sorcerer, wisdom xp mod, iwd2-style output and the normal mods: fixpack, dbg, haldamir, tashia, saradas and kivan. Finished, these mods go on the verified list.


Boring battle video:
https://youtu.be/0W0w_i6vNjs


Edited by lynx, 09 July 2015 - 01:41 AM.
link to docs

GemRB - IE anywhere.
Mages needed! Looking for Planescape: Torment testers
Market android version IS NOT SUPPORTED ANYMORE: reported bugs will be ignored! Still looking for builders ...

#2 CrevsDaak

CrevsDaak

    imma lil orc now duh duh

  • Modders
  • 165 posts
  • Gender:Male
  • Location:Bs. As., Argentina

Posted 26 February 2015 - 12:05 PM

:worship: :worship: Ooh man! :worship: :worship:

I think you can dump the scripts' regexp stuff to a Perl script or even *shrugs* sed (I don't know AWK so I'll avoid mentioning it) and let it replace them, and then throw them to WeiDU so it compiles them again. Maybe I'll give it a try later (after I play some more BGT). The only complicated things I can imagine is when the whole party is moved with ActionOverride(PlayerX,MoveToPoint([yyy.zzz])) or something that needs a special coordinate for each PC.

#3 lynx

lynx
  • Modders
  • 2990 posts
  • Gender:Male
  • Location:Ljubljana, Slovenija

Posted 26 February 2015 - 01:55 PM

Look at that github repo, that's basically what I was doing in late 2012 (uff, time flies!). It's all in the proof-of-concept sh script. Copying single actions is not problematic (bumping takes care of identical coordinates), triggers are a bit tougher as they require whole blocks and OR counts may change. And then subtle stuff like difficulty changing according to NumInParty* and similar.

 

But yeah, doable! If you want to help me make this happen, let's coordinate, so we'll be more efficient.


GemRB - IE anywhere.
Mages needed! Looking for Planescape: Torment testers
Market android version IS NOT SUPPORTED ANYMORE: reported bugs will be ignored! Still looking for builders ...

#4 CrevsDaak

CrevsDaak

    imma lil orc now duh duh

  • Modders
  • 165 posts
  • Gender:Male
  • Location:Bs. As., Argentina

Posted 26 February 2015 - 04:12 PM

Well, OR() blocks can be taken out by using a pattern like "^[\s]OR\((.*)\)$" (probably "^[\s][~][\s]OR\((.*)\)$" for dialogs, since WeiDU likes decompiling the first strings' line with a starting tilde ~) checking that X value and incrementing it by an Y value calculated after comparing the original and the changed triggers in the OR() block. Edit: so if the blocks check for the players, some checks are made, the OR is updated and the extra players are added.

Edited by CrevsDaak, 26 February 2015 - 08:39 PM.


#5 lynx

lynx
  • Modders
  • 2990 posts
  • Gender:Male
  • Location:Ljubljana, Slovenija

Posted 26 February 2015 - 11:04 PM

Well yeah, I'm just saying it's extra work. Weidu nicely indents those blocks one level deeper too. The only ones we can take care of automatically are the ones affecting the whole party and for those we already have all the numbers we need: 6 -> chosen max.


GemRB - IE anywhere.
Mages needed! Looking for Planescape: Torment testers
Market android version IS NOT SUPPORTED ANYMORE: reported bugs will be ignored! Still looking for builders ...

#6 Jarno Mikkola

Jarno Mikkola

    The Imp

  • Modders
  • 6207 posts
  • Gender:Male
  • Location:The town where the dead haven't keeled over, yet. In Finland.

Posted 27 February 2015 - 12:06 AM

b3wyvt.jpg


Welcome to the sanity, you are free to search for the limit, it's out there, we drew it in the sand.
Here's how to install all the ... mods you ever really could want to Infinity Engine games. I removed the stable word from there as Roxanne began to add BS mods that are likely to break compatibility from the BWS.

#7 lynx

lynx
  • Modders
  • 2990 posts
  • Gender:Male
  • Location:Ljubljana, Slovenija

Posted 01 March 2015 - 02:14 PM

Hacking progresses nicely, mostly thanks to the lessons of the first attempt. ;) Now it's all test driven development and the Or monster has already been slain. But there are also some very tricky files that will be hard to autohandle, we'll see ... 


GemRB - IE anywhere.
Mages needed! Looking for Planescape: Torment testers
Market android version IS NOT SUPPORTED ANYMORE: reported bugs will be ignored! Still looking for builders ...

#8 Istfemer

Istfemer
  • Members
  • 51 posts
  • Gender:Male
  • Location:Kyiv, Ukraine

Posted 04 March 2015 - 10:40 AM

Great news indeed!
 

Caveats:
- scripting wise, up to 10 member parties are supported (Player10/Player10Fill objects)
...

 
Can this number possibly be user-extended to 12 in some not-too-distant future? (2x original party size)

And what exactly needs to be done for this?
 
In my opinion, 12 party members is probably the max practical (that is, actually manageable) number one can play with.
I'd very much like to test whether this is so.
 
Good work once again, GemRB team!



#9 lynx

lynx
  • Modders
  • 2990 posts
  • Gender:Male
  • Location:Ljubljana, Slovenija

Posted 04 March 2015 - 01:51 PM

not without some small changes to gemrb* and recompiling. And altering the mod, once it is finished. But in general it would be simple, yeah. I picked 10 since it is my version of the practical limit, especially due to the inventory window, where there's no room, but you still want to be able to drag items between most portraits.

 

* same as https://github.com/g...1d8e5f81222cb67


GemRB - IE anywhere.
Mages needed! Looking for Planescape: Torment testers
Market android version IS NOT SUPPORTED ANYMORE: reported bugs will be ignored! Still looking for builders ...

#10 Istfemer

Istfemer
  • Members
  • 51 posts
  • Gender:Male
  • Location:Kyiv, Ukraine

Posted 05 March 2015 - 12:13 PM

Ah.. good to know it isn't that difficult.  :)

 

RE Inventory window & no room: The added scrollbars will solve these and other window problems, right?



#11 lynx

lynx
  • Modders
  • 2990 posts
  • Gender:Male
  • Location:Ljubljana, Slovenija

Posted 05 March 2015 - 11:36 PM

I don't think so, since you would have to stop dragging to click. Not a problem for other windows, but I grew to dislike the idea. I'm thinking about alternatives ...


GemRB - IE anywhere.
Mages needed! Looking for Planescape: Torment testers
Market android version IS NOT SUPPORTED ANYMORE: reported bugs will be ignored! Still looking for builders ...

#12 lynx

lynx
  • Modders
  • 2990 posts
  • Gender:Male
  • Location:Ljubljana, Slovenija

Posted 07 March 2015 - 08:00 AM

Progress on the mod is great. The script extender has been finished and briefly checked against bg2+g3 fixpack. 366 out of 3794 scripts needed to be changed and only a few stand out:

- numinparty*(6) use in the final hell battle: since we just replace with GT(5), there won't be any extra demons spawned. Extending the content is not this mods purpose

- fguard.bcs uses some globals to track how he's killing you. We can't handle that, so your whole party can't be assassinated.

 

In other words, pretty obscure stuff that we don't need to care about. :)

 

Next up is the dialog extender, which will likely not require substantial work. Then it's just more checking and searching for exceptions, finishing the weidu part and optimising its lookup, so not all scripts need to be decompiled.


GemRB - IE anywhere.
Mages needed! Looking for Planescape: Torment testers
Market android version IS NOT SUPPORTED ANYMORE: reported bugs will be ignored! Still looking for builders ...

#13 The Fred

The Fred
  • Members
  • 21 posts

Posted 14 March 2015 - 12:53 PM

Wow! Awesome!

 

For the scripts, I would have thought it would have been easier to use WeiDu or even a Python script or something than to regexp. It would be quite tricky to cover all cases either way though, I think.

 

For the inventory, can't you scroll the portraits section, then drag? Or ideally have a portraits bar which scrolls itself when the cursor is right at the bottom or the top, so you can scroll whilst dragging, but I think the other would be enough.



#14 CrevsDaak

CrevsDaak

    imma lil orc now duh duh

  • Modders
  • 165 posts
  • Gender:Male
  • Location:Bs. As., Argentina

Posted 14 March 2015 - 04:31 PM

it would have been easier to use WeiDu or even a Python script

IMO, doing it with WeiDU would result in a much slower and longer script.

Perl is rather fast and I don't know a word of Python (even if they say it's easy, I find C to be the easiest of all languages, no abstraction at all and free segfaults for everybody!) so I believe that it wasn't in my right to suggest doing it with Python (and Perl has a nice =~ m/regexp/ check that came handy for this), even if GemRB uses Python itself for the GUI and other stuff. Other regexps (like sed) were just too basic/dumb to do this.

#15 lynx

lynx
  • Modders
  • 2990 posts
  • Gender:Male
  • Location:Ljubljana, Slovenija

Posted 15 March 2015 - 05:09 AM

Either you read everything line by line (tracking a lot of extra state) or take shortcuts where possible. Perl's multiline capabilities and strong regex support were a natural plus, besides providing a nice exercise. Weidu would of course be preferable, since then there's no perl bundling hassle, but it is just too much unsexy work. Most languages either have regex support built in or in modules, but I don't see what we'd gain by using python.

A plain regex approach could be made to work, but it would be unmaintainable and hard to add exceptions to. Harder to write than a pure weidu version too.

There are multiple options for the inventory and other screens, sure. I find them annoying, but perhaps that will change. If you add a scrollbar or buttons (less positioning/room hassle), you're still limited to movement between the closest 6 members. An improvement from before, but not perfect. The automatic drag scrolling would probably be ok, even with the ocassional misscroll, however the technicalities behind it make me wonder if it would be viable to impletement at all.
That's why I just added the ctrl-e party order reverser. Nice and simple, good enough for now.
GemRB - IE anywhere.
Mages needed! Looking for Planescape: Torment testers
Market android version IS NOT SUPPORTED ANYMORE: reported bugs will be ignored! Still looking for builders ...



Reply to this topic



  


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users