Jump to content
The Dark Mod Forums

Stim/response Editor


Recommended Posts

  • Replies 130
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Probably not as he's on dial-up, iirc. But it should be ok, if he's using just the PK4 and the def/ and script/ files. Not a very clean solution, but it should work. Or he would find a way to obtain the mod without having to squeeze it bitwise through his modem (snail mail, broadband at work, etc.)

Link to comment
Share on other sites

I'm still very new with this, but it looks really exciting (and that's understated). A couple of comments so far:

 

-How are the response effects set? I see them on the gem, but can't figure out how you placed them (unless you typed them in manually). D-click and RMB don't seem to allow adding them. (needless to say I didn't get very far without this :blush:)

 

-There seems to be a scrolling problem with the type listbox. If I choose an item near the bottom of the list, like timer, next time I open the list, it will be scrolled such that my chosen item is in the middle, so the top of the list is off-screen, and the expansion arrow up doesn't seem to work - the most I can get it to move up after this is one line.

 

Edit:

-The Target list dropdown in the Response Effects dialog - that's going to be crazy long for a full sized map. Will that be broken down into subcategories, and hopefully sorted alphabetically?

 

I'm thinking it might be too ambitious or error prone to maybe even limit the entries to those that make sense... that might be asking for trouble (e.g., only list lights in Toggle Light, but who is to say what a "light" is?). Yeah, it's probably best just sorting or categorizing.

 

Edit: OMG this thing is insane. :wub:

Link to comment
Share on other sites

OK, last night I only saw the other thread and didn't realize there was a new download. No problem, in fact good to refresh for myself how it was. I just downloaded the new one and will post later.

 

PS : I have finally ordered broadband but this will take another week or so to be activated.

Link to comment
Share on other sites

-How are the response effects set? I see them on the gem, but can't figure out how you placed them (unless you typed them in manually). D-click and RMB don't seem to allow adding them. (needless to say I didn't get very far without this :blush:)

You should be able to set response effects via the context menu. Just right-click into the lower list and choose "Add new Effect":

 

stimresponseeditorv3fh2.th.jpg

 

-There seems to be a scrolling problem with the type listbox. If I choose an item near the bottom of the list, like timer, next time I open the list, it will be scrolled such that my chosen item is in the middle, so the top of the list is off-screen, and the expansion arrow up doesn't seem to work - the most I can get it to move up after this is one line.

I don't know if I get this right, I just checked and it worked fine:

 

stimresponseeditorv32pr7.th.jpg

 

Maybe it's due to your screen resolution? Is the drop-down list higher than your screen?

 

Edit:

-The Target list dropdown in the Response Effects dialog - that's going to be crazy long for a full sized map. Will that be broken down into subcategories, and hopefully sorted alphabetically?

I took the same drop-down list as for the entity inspector, it's auto-completing when you start typing your entity name. Of course if you have two hundred light_yyy entities this will get a bit confusing. I'll check if I can sort this thing. I just have to make sure, that the _SELF entity is at the top of the list, but the underscore character should already take care of this.

 

edit: The list is sorted alphabetically now.

Link to comment
Share on other sites

Downloaded yesterday's DR from post #46 in this thread and extracted it over my previous DR install.

 

Just a very quick look:

 

S & R not working at all for me. The interface comes up but all options are disabled except the bottom three buttons. If I open an existing entity that already has s & r then they show but their response effects do not nor are they editable in any way.

 

Is this because I am using the beta issue of DM?

 

Hang on, if I right click in the top box (not obvious) I get Add new s/r. If I click it then it adds a frob stim and no other choice. Ah! so then I can change it to something else? !! I have to go out but I'll check this later but first impression is VERY confusing. I'm assuming this is not working right. I HOPE it's not working as intended!

Link to comment
Share on other sites

Having this option in the context menu is indeed a non-HIG-compliant way of placing that functionality. I thought it was ok to save some screen space by moving it, but if this is a barrier for new users, it's not worth it.

Link to comment
Share on other sites

Besides, context menus really suck to program in GTK.

 

WHY can't they provide a widget built into the GtkTreeView, e.g. gtk_tree_view_get_context_menu() which returns a menu widget you can populate with your options and have it displayed automatically on right click?

Link to comment
Share on other sites

My overall impression is that GTK programming is rather tedious, but then again I have no comparison because that's the first GUI thingy I have the honour to work with. The first few times it's figuring out how to use the functions (often by trial and error) and the next few times are just boring.

 

On the one hand I'm impressed of how much you can actually do with GTK, but the code is really not nice to look at. A large part of the thousand Stim/Response editor lines are just gtk_bla_bla() function calls.

Link to comment
Share on other sites

wxWidgets can do the same and it's really quit straightforward and nice to use. :) They have used macros instead of templates, because of older compilers that are still supported, but overall it's quite easy and nice to use. It's my favourite choice of GUI library, when I have to program something. And it also offers a lot of secondary functions, like FTP, HTTP XML, database and so on, which make your life easier, but are not neccessarily related to GUIs.

Gerhard

Link to comment
Share on other sites

OK, I'll assess it afresh as I see it now without reference to or influence by any other proposals or plans. I've been examining this all afternoon so these are my views below. Hope there is something of use...

 

Firstly I stand by what I said before that stims and responses are completely different and I would prefer them listed separately because the user will be dealing with them separately at different times, even exclusively. These are typical examples of how I might normally be working with S & R in real situations...

 

Example 1 : I want to make an existing floor surface, say a carpet, damage the player when he walks over it. I select the carpet and add a fire stim or any stim that already exists that will provide the effect I want. I have no interest in the carpet's responses to other stims, whether it fades in sunlight or dissolves in acid is of no more consequence for this task than its coordinates or its colour. Job done; I do not need to concern myself with the player as I selected an existing stim that does what I want and I know the player will already have the response to it that I want.

 

Example 2 : Ditto above but this time I want the player to be thrown backwards when he steps on the carpet. Again I go to the carpet. Again I have no interest in the carpet's responses to anything. This time there is no suitable stim so I want to invent a new name say, throwStim. Creating a stim actually just creates a label, nothing more. Will it be possible to create this name within the editor or must it be added separately then selected in the editor? (as in Dromed) Adding the stim to an entity defines its properties on that entity or entity type alone. I want to add it and select say, 'contact' type. The intensity is unimportant in this case. I've finished with the carpet and the stim. I close the s & r interface. That task is done.

 

Now as a separate operation on a different entity I want to add a response to the player. I am not interested in any stims that are on the player I am only interested in adding or editing a response to the throwStim. I am no more interested in the player's stims than I am interested in any other property of the player; they are irrelevant. I DO want to see a list of responses in case a response to touchStim is already there or I want to select it later to re-edit it.

 

You are not normally going to be adding/editing both stims and responses on the same entity as part of the same task. Even if I could think of a situation where I want to add both a stim and a response to the same entity at the same time they are still different tasks and I see no reason to mix them in the same list.

 

Furthermore, at present it seems you can convert a stim into a response and vice versa which is meaningless. If I add a response in entity A to stim B to set the property C on entity D to be the same as entity E and later hit the stim button then presumably all thoses settings are lost and the item in the list is now a stim B doing nothing and to which I now need to add a radius and other qualifying properties. I might as well change an ocean into a cabbage, losing all of its aqueous nature and then start adding vegetable properties.

 

Having the same interface might be OK so long as the two are listed separately but I'm beginning to wonder if there is even any point having the same interface. But I started to create a mockup (see S&R MOCKUP) but this persuaded me that they are best in two separate interfaces. Stims have completely different fields to the responses; they are incompatible and make less and less sense to me together both in useage and conceptually.

 

Here is a rough mockup of two separate editor interfaces. Both require much more of course:

 

STIM EDITOR MOCKUP

 

RESPONSE EDITOR MOCKUP

 

 

You might wonder where do scripts go in the above response editor? They are included in the effect drop down list as eg, 'call script'. The user then selects the 'edit effect' button and enter the script name and any parameters and these are displayed below the effects box.

 

If you stay with the current mix of s & r in the same interface then it still has two separate sections anyway, one to cover stim properties and one to cover response properties. It's a nice idea to unify but you will never be using it that way - you will be using it as a stim editor on one occasion and a response editor on another - and both will be a compromise to cram them together on one panel. Why not have two separate dedicated interfaces where there is no muddle or confusion?

 

 

To continue with the current s & r:

 

I cannot select existing inherited s & r to examine them let alone edit them.

 

Right clicking to add or delete is fine but a separate add button is the more common useage. It is true that in for example, the Wndows Explorer interface one can right click an empty space in a window to say, create a new text document but there are also separate options in the file menu to select 'new' or of course in a text editor.

 

At the moment the onlything I can add to the list is a frob stim and then change it later to something else. Horrible but I now see the problem. If the menu is hard wired into the program then you have to create a default entry before you can edit it. I suggest that both the right click menu 'add stim' and a separate add button both call up a separate list, either a list box or a menu such as on the type button now. Whatever is used it must be dynamic so new ones can be added. A separate 'change stim' button calls up the same list but only when an existing stim is selected.

 

I think I would be tempted to do away with or disable the X close button at top right and to avoid any doubt whatsoever have two buttons 'OK' and 'Cancel' which I believe are in more common useage. 'Apply' is elsewhere used to mean 'apply but don't exit' whereas 'OK' means 'apply and exit'. While 'close' does not explicitly mean 'cancel and close'.

 

With a radius stim is needed not only the radius and intensity but also a flag to indicate if the intensity falls of slowly from the centre to the circumference or is constant throughout.

 

The stim needs a period cycle, eg, every 3000 milliseconds, and the number of cycles with the default (in my experience) of unlimited plus an option to destroy its host entity on completion. Thus from creation the stim might fire six times every 3 seconds then end with or without destroying the entity. Or the stim might continue indefinitely though thoughout the duration of the game.

Link to comment
Share on other sites

You should be able to set response effects via the context menu. Just right-click into the lower list and choose "Add new Effect"

Oh, duh... I know what was wrong. I must have been trying to add a response effect for a stim. Oops. Yep it works. Cool! Disclaimer: it was late last night :blush:

 

Maybe it's due to your screen resolution? Is the drop-down list higher than your screen?

I currently run 1024 (which I believe is still most common).. here's what I get (attached at bottom). That is when I choose something low on the list (gas). Most of the list appears above the screen, yes. If I click and hold, it sort've auto-scrolls down, which kind've corrects the problem, but it's really weird. If I don't hold, of course the dialog closes. If I try to manually mouse upward as if it mouseover or click the scroll arrow at the top, the dialog stays still and doesn't let me change it. So the only real workaround currently is to either 'ladder up' the list by choosing higher and higher items, or click and hold while it self-scrolls. Strange.

 

I do worry about the entity list some, like when there are 3000 of 'em, but we'll see I guess. :)

 

As for the method of use, I was okay with it.

 

I made a note late last night that I didn't want to post in my sleepy state, leaving it instead for today to ask. Of course now I'm kind've busy with work to reword this too much, so I'll just paste the thoughts from last night.

Anything like a 'wait'? e.g., I see apply stim, and time interval. can these be used to say, change a model to something burning, and then after 2 seconds, remove the model completely with 'remove'? I guess this would be ordered/sequential stims; how is this done? or is a second stim or worse, a script needed?

 

[Edit: I just noticed you can bump responses up or down the list, so I guess there already is ordering? If so that's great. Then there would just be the delay, which might already be the "time" settings above?]

 

Then there was another one I think I forgot to write down before retiring. I'll probably remember today.

 

Edit: also a problem I meant to mention:

 

I'm getting a strange somewhat inconsistent map crash (not full game engine crash) in test_stimresponse. I start up, put it on notarget, and just walk around. Occasionally, when I step over or near the gem, I get the following:

 

--------- Game Map Shutdown ----------

--------------------------------------

********************

ERROR: Failed to find definition of absence marker entity

********************

post-58-1175871672_thumb.jpg

Link to comment
Share on other sites

Ok, thanks you two for the time spent so far. I'll probably need ages to write a reply to your posts, and I'll have to do that after having bred over your suggestions a few times.

Link to comment
Share on other sites

I think we should focus on issues that actually confuse mappers or stop them from doing what they want to do (and it does sound like there are some). Issues like whether the X button closes the dialog and whether the S/R list displays ID numbers are pretty trivial and more likely to generate a minor flame war than any productive discussion.

Link to comment
Share on other sites

I forgot to include if I select a response then right-click into the lower list and choose "Add new Effect" I get 'Error eclass pointer invalid.'

 

Do you have all the latest files for the mod? If you're using the beta, I imagine you're not going to be able to use S/R. I wasn't able to get everything working fully until I synced with the mod this morning. Hopefully we'll have that beta mappers SVN repository ready for when you get high speed.

Link to comment
Share on other sites

If no one objects, I'll start separate threads on the various issues mentioned here. I want to prevent the posts from getting longer and longer with each quote and reply, mixing minor and major issues together.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recent Status Updates

    • Petike the Taffer

      I've finally managed to log in to The Dark Mod Wiki. I'm back in the saddle and before the holidays start in full, I'll be adding a few new FM articles and doing other updates. Written in Stone is already done.
      · 4 replies
    • nbohr1more

      TDM 15th Anniversary Contest is now active! Please declare your participation: https://forums.thedarkmod.com/index.php?/topic/22413-the-dark-mod-15th-anniversary-contest-entry-thread/
       
      · 0 replies
    • JackFarmer

      @TheUnbeholden
      You cannot receive PMs. Could you please be so kind and check your mailbox if it is full (or maybe you switched off the function)?
      · 1 reply
    • OrbWeaver

      I like the new frob highlight but it would nice if it was less "flickery" while moving over objects (especially barred metal doors).
      · 4 replies
    • nbohr1more

      Please vote in the 15th Anniversary Contest Theme Poll
       
      · 0 replies
×
×
  • Create New...