Jump to content
Sign in to follow this  
MulleDK19

Morten's ArmA Dialog Designer

Recommended Posts

This thread will soon be updated with information about the new tool I'm developing.

Stay tuned for more.

NOTICE: Newest version: v0.0.0.8. Download below!

This also fits ArmA 1, but since ArmA 2 is out in a few weeks (For us suffering EUs/USs).

Anyway, I got tired of manually having to guess the coordinates for the controls in dialogs, etc. so I started developing this tool back in february, and posted a few screenshots, etc. on Armaholic.com

A few days ago, I decided to start all over, and make it better, which it has certainly become. Now I've been working my ass off for about 4 days, and I now have a working dialog designer for ArmA.

Here is a few screenshots.

http://www.arma.treesoft.dk/madd/screens

Old message (Ignore it)::

I'm running a closed BETA until June 19, 2009. I'd like 1 or 2 more BETA-testers, so if you're interested feel free to post. (I'd prefer if you have experience with the scripting language and making dialogs).

EDIT: Everybody can now participate in the open BETA.

Download it from the Tools page located under the "My Creations" section on my fansite: Morten's ArmA Fansite

Please report all bugs you find here. And give me some feedback on the compatibility with ArmA 2. (And the program in general :P)

NOTICE: BETA keys will NOT work with this version.

v0.0.0.8

==========

Notes:

The obfuscation build option was enabled in v0.0.0.7 by mistake.

Do not use it. It's not complete, and dialogs built with this option, will NOT work.

A more advanced updating feature will be included in a later version

Changes:

[Changed] When adding a property to a control, edit mode is now automaticly enabled

[improved] Greatly improved loading speed of dialogs

[Changed] Right click menu can now be opened by pressing the space bar (Escape will also close)

[Changed] Disabled obfuscation build option (It was not supposed to be in v0.0.0.7, it is NOT working yet)

[Changed] New splash screen

[Fixed] Constants can now be modified without opening a dialog first

[Fixed] Classes can now be modified without opening a dialog first

[Added] Simple way to check for updates ("Check Update" in the About dialog)

[Added] Possibility to automaticly check for updates every time the program starts

v0.0.0.7

==========

Notes:

The next version will have a built in updating system.

This is no longer a BETA, and updates will be out regularly.

BETA keys will not work with this new version (You will need to re-register).

This should be the last time you'll need a new key.

Added key retrieval system to the registration page.

Changelogs will now contain notes (Like these) along with a list of changes.

Each change will have a prefix, eg. [Changed]. Current possible prefixes are:

[Changed] = Not a fixed bug, but rather a change (Eg, auto-edit when adding property, etc.)

[Fixed] = Fixed bug

[improved] = Something was improved

Changes:

[Changed] Changed edition from OPEN BETA to FREEWARE

[Changed] Changed registration system

[Changed] When adding a class/property to the Classes/Constants list, edit mode is automaticly enabled

[Changed] Getting a registration key is now done from within the program

[Changed] Added confirmation when removing a class (Not saved until you hit "Save Classes")

[improved] Startup time

v0.0.0.6

==========

- Fixed some registration issues

v0.0.0.5

==========

- Prepared for open BETA

v0.0.0.4

==========

- When inserting new controls they're now created at size 64x64 regardless of the grid size

- Added gridsize 4x4 and 8x8

- Adjusted grid previews when choosing grid size

- Enlarged grid previews when choosing grid size

- Added preferences "Snap to grid by default" and "Display grid by default"

- Added progressbar to splash screen

- Fixed file properties showing wrong version

- Added BETA expiration notice to the "About" dialog

v0.0.0.3

==========

- Fixed "Recent Projects" adding the same project multiple times

- Fixed splash screen showing wrong version

- Added shortcuts

- Added initial preferences dialog

v0.0.0.2

==========

- Entries in the "Recent Projects" list are now sorted by latest first

- Fixed a bug where the program failed to build due to read trouble with the build folder

- All dialogs are now automaticly checked for build

- Added an auto-copy feature to the build dialog

- Added a progress bar to the build dialog

- Added "registered to" to the splash screen

v0.0.0.1

==========

- Initial version

Thanks to the following people who participated in the BETA

MulleDK19 (Me :P)

Icebird

DaChevs

Pak

ArMaTeC

Wolfrug

rmjingle

lukin33

loki

InqWiper

triniscourge

granQ

Ginger

Baron von Beer

JsonO

Sp3edz

geloxo

dOOF

fenix

Kalbuth

Kyffhauser

pravania

TiGGa

Lor

Spirit

Nordbo

kasj

kju

ViperMaul

Bansi

Tajin

peter16278

MadMartigaN

ShakI

solrac42

kozlice

HeliJunkie

Edited by MulleDK19
Preparing thread for the new tool

Share this post


Link to post
Share on other sites

Sounds like a wonderful idea. Hope dialogs etc. work sort of the same for ArmA II (why wouldn't they, anyway): a dialog-maker like that would be perfect, I've been stuck with the old old one for OFP, which thankfully works with some minor adjustments. I'd be happy to beta-test it, although I won't be getting ArmA II until the 505 version. :)

Regards,

Wolfrug

Share this post


Link to post
Share on other sites

Trying to convert SPON Map to run with A2. They are very relevant to your tool, I think:

* Display/control config in A2 have several more attributes, but running without them just spams warnings into RPT file. No on-screen error message.

* Screen coordinates seem significantly different (SPON Map looked fine, but was small, about 50% of normal size, and only in the middle of the screen on one setting, but over the edges in another). This is an effect of the GUI re-sizing system in A2. This probably means that you really need to manually resize all components each time you open a display or expect people to play on "normal GUI" setting.

* You must store all variables that contain control or display handles in the ui namespace OR put disableSerialization command at the start of your script (which allows you to be backwards compatible, which is really nice, but I assume this means you can't save the game safely). If you don't, you get on-screen error message and RPT spam every time you use such a variable without using the namespace.

bad:

SPON_Map_display = findDisplay 49;
... later ...
SPON_Map_display displayCtrl ...;

good:

uiNamespace setVariable ["SPON_Map_display", findDisplay 49];
// ... later ...
(uiNamespace getVariable "SPON_Map_display") displayCtrl ...;

Share this post


Link to post
Share on other sites

This could be extremely useful. I was never good at dialogs.

Share this post


Link to post
Share on other sites

I'm interested in using something like this. Keep working on it for A2 :)

Share this post


Link to post
Share on other sites

Nice idea to make a dialogue designer.

But I have some recommendation:

-The interface doesn't look easy to use. I would prefer to have the controls as a list on the side where I can drag and drop them onto the dialogue.

-Your controls only match in size with the ones from ArmA. This will make it hard sometimes, e.g. if you want to place a line below the "Test Dialog".

Share this post


Link to post
Share on other sites
-Your controls only match in size with the ones from ArmA. This will make it hard sometimes, e.g. if you want to place a line below the "Test Dialog".

I don't get that.

Share this post


Link to post
Share on other sites

First of all, nice work overall: the functionality etc. seems to be fine. Although I very much doubt anyone who's not familiar with dialogs from before would get anything out of this at all (despite the little helpful tooltips).

Second of all: registration is fine and all if that's what you want (your program), but don't ask people for their names, age, gender etc. Just have them give you their nickname, maybe their e-mail if you want to contact them. Anything else on the Internet is just rude (IMHO of course). Suffice to say, if you want to stop me from testing your program just for not giving you a real name, feel free to. Just sayin'.

Third of all: I can't add W/H (width/height) to the controls - why not? It says that MADD is supposed to do it for you, but there's no apparent way to do this. Your screenshots show that these have been edited, but as mentioned, there's no immediately apparent way of doing so. Right-clicking on the control allows you to delete the control or edit its properties - there's no other option for editing height/width. What's up with this?

Fourth: If you really want to go crazy, you should add all the other extravaganza to this little tool of yours: e.g., it would display the text written (with the correct type, size and colour), it could load up pictures (in .paa format or .jpg) and display them in their correct position/size, and it would display background controls in their correct colour, size, opacity etc. Since you've pretty much got the basics down, e.g. all the default available controls etc, all of this stuff that would really make dialog-making a breeze shouldn't be -too- hard to add, hm?

Fifth: Don't constrain the expert dialog maker: allow us to pick ANY idd for our controls (not just -1 to 1024); although this can be edited later of course, I don't know if your program spazzes out in that case? Also add a text editor that allows us to open up the various parts of the .h file and edit it on the fly - this would also make it automatically compliant with ArmA 2 since we could just add in controls that are missing etc. But good work so far on allowing us to edit the constants/classes: it's always a good idea to put your tag on your own rsc classes to avoid conflicts! (e.g. RUG_Rsc_Text).

Anyway, good work I think - feels pretty slick. But as mentioned, for someone with no knowledge of dialogs, this is probably going to be more or less complete greek. ;) Does make some things easier though otherwise!

Regards,

Wolfrug

Share this post


Link to post
Share on other sites

Anyway, good work I think - feels pretty slick. But as mentioned, for someone with no knowledge of dialogs, this is probably going to be more or less complete greek. ;) Does make some things easier though otherwise!

Regards,

Wolfrug

It looks perfect for us semi-competent scripters though. I have a basic understanding of dialogues, but can't put one together from scratch, no matter how hard I try. With this tool it looks like I could do it. Exactly what I need.

Share this post


Link to post
Share on other sites

Answers:

First of all, nice work overall: the functionality etc. seems to be fine. Although I very much doubt anyone who's not familiar with dialogs from before would get anything out of this at all (despite the little helpful tooltips).

Second of all: registration is fine and all if that's what you want (your program), but don't ask people for their names, age, gender etc. Just have them give you their nickname, maybe their e-mail if you want to contact them. Anything else on the Internet is just rude (IMHO of course). Suffice to say, if you want to stop me from testing your program just for not giving you a real name, feel free to. Just sayin'.

You only have to put in your first name and nick name. The age is so I could can see the range of people using it. Also. I've found a great bug. I'm gonna disable the download for a sec, and fix some stuff. You will need to get the new version in order to use the program again. I'll report back.

Third of all: I can't add W/H (width/height) to the controls - why not? It says that MADD is supposed to do it for you, but there's no apparent way to do this. Your screenshots show that these have been edited, but as mentioned, there's no immediately apparent way of doing so. Right-clicking on the control allows you to delete the control or edit its properties - there's no other option for editing height/width. What's up with this?

You resize controls using the middle mouse button.

Fourth: If you really want to go crazy, you should add all the other extravaganza to this little tool of yours: e.g., it would display the text written (with the correct type, size and colour), it could load up pictures (in .paa format or .jpg) and display them in their correct position/size, and it would display background controls in their correct colour, size, opacity etc. Since you've pretty much got the basics down, e.g. all the default available controls etc, all of this stuff that would really make dialog-making a breeze shouldn't be -too- hard to add, hm?

I was thinking about making the text-property, etc. displayed on the control, etc.

Fifth: Don't constrain the expert dialog maker: allow us to pick ANY idd for our controls (not just -1 to 1024); although this can be edited later of course, I don't know if your program spazzes out in that case? Also add a text editor that allows us to open up the various parts of the .h file and edit it on the fly - this would also make it automatically compliant with ArmA 2 since we could just add in controls that are missing etc. But good work so far on allowing us to edit the constants/classes: it's always a good idea to put your tag on your own rsc classes to avoid conflicts! (e.g. RUG_Rsc_Text).

At first, I thought the combobox would make it easier to quickly select and idd.. When will you need 1024 dialogs in one mission? But I was going to increase it.

Anyway, good work I think - feels pretty slick. But as mentioned, for someone with no knowledge of dialogs, this is probably going to be more or less complete greek. ;) Does make some things easier though otherwise!

Regards,

Wolfrug

Edited by MulleDK19

Share this post


Link to post
Share on other sites
At first, I thought the combobox would make it easier to quickly select and idd.. When will you need 1024 dialogs in one mission? But I was going to increase it.

This actually has to do with the fact that IDDs work kind of like global variables, they're a way to identify the dialog using e.g. findDisplay. Here was a short discussion about how to get this to work with e.g. the tag system, but sadly ArmA can't take very long IDDs (which would be necessary no matter what system you use to convert letters to numbers), so a straight up TAG -> number conversion probably won't work very well.

Basically what I'm saying is that if many people use the same IDD (such as 1) on their dialog, it might cause conflicts. For this reason it seems a good idea to just add lots of numbers to your IDD to minimize the risk. That's why it'd probably be a good idea to just allow people to give their new dialog whatever IDD they want - the list box is still nice for quick selection, but maybe add the option to insert their own number?

But yes, what nominesine says is correct: I can't put dialogs together from scratch either, but I'm pretty good at poking at them once they're there. This tool, with some refinement, will be -perfect- for all budding and semi-competent dialog makers out there! :) Keep up the good work!

Regards,

Wolfrug

Share this post


Link to post
Share on other sites
Fourth: ...

That is what I wanted to express.

Share this post


Link to post
Share on other sites
Fourth: If you really want to go crazy, you should add all the other extravaganza to this little tool of yours: e.g., it would display the text written (with the correct type, size and colour), it could load up pictures (in .paa format or .jpg) and display them in their correct position/size, and it would display background controls in their correct colour, size, opacity etc. Since you've pretty much got the basics down, e.g. all the default available controls etc, all of this stuff that would really make dialog-making a breeze shouldn't be -too- hard to add, hm?

I was planning on this when I started working on the designer. Controls do appear with the color set in the class right now.

Share this post


Link to post
Share on other sites

I agree with Wolfrug regarding functions.

and also would be nice to get both the "build" option (really sweet) and a quick generated text. Maybe you got all your stuff working and so on but you decide to change colors and a few other stuff and don't want to "save" it, just copy and paste.

Minor thing tho, don't waste time on it. Happy with just build option :)

Share this post


Link to post
Share on other sites
This actually has to do with the fact that IDDs work kind of like global variables, they're a way to identify the dialog using e.g. findDisplay. Here was a short discussion about how to get this to work with e.g. the tag system, but sadly ArmA can't take very long IDDs (which would be necessary no matter what system you use to convert letters to numbers), so a straight up TAG -> number conversion probably won't work very well.

SPON components use IDD from 72000-72012 if I remember correctly. I just picked a big number and hoped other people wouldn't pick the same one (not ideal, but really we should assign IDD ranges at OFPEC associated with a tag).

Share this post


Link to post
Share on other sites

I must admit, I'm quite clueless on how to use this tool :( (+ I get a bug in the constants definition window)

Share this post


Link to post
Share on other sites
I must admit, I'm quite clueless on how to use this tool :( (+ I get a bug in the constants definition window)

What bug?

And:

Share this post


Link to post
Share on other sites

I try it out right now. I cant however find a way to resize the controls like seen on the video. I can move them around but in no way can i resize them. Is there a key combo for that? Yep found it out by reading back. Middle mouse button.

Anyway, i generated the dialog with one button. There is a background, frame (with option background when created). I then used a button with text "height". Button on foreground and inside frame and background. I then safe and build and select all stuff that can be create ini etc etc. I have the right mission folder directly.

The moment i start arma 2 my keys dont work but the dialog is not visible. In fact the moment i press escape i gues i leave the dialog by default? Then all is back to normal.

I am sure i did like said in the video. I see the mouse coming up and all keys hold NO sign however of the buttons i created. They only carry a text="blah blah" extra. Rest is default. Dunno what to do.

Edited by spirit6

Share this post


Link to post
Share on other sites

First of wonderful job MulleDK19!

Very useful tool and can make good use of it myself to extend my vehicle DM.

Feedback:

* You may wan to consider to get a project space to manage the bug reports and feature requests / feedback in general. More: http://dev-heaven.net/

* A code repository could be helpful too, if you consider to either let other ppl look at your code for review or to make it a team effort.

* Good job on those video tuts. Very useful.

* Do not create a description.ext. Instead create a new file with the default classes and defines. Ppl using this tool will be able to set an include themselves.

* Why are you using your own format? In the end using the same (not perfect) BI cpp, would save you and the tool users a lot of trouble in the end.

* This probably would allow loading data from original cpp code into your app too. This would increase the usefulness tenfold.

* Project path should be anywhere (not only 'my files') (all partitions - XP 32b here).

* Default path to a2 install (read from reg).

* Please do not auto hide tool tip over time (longer text are impossible to read in time). Instead mouse move should only action to remove it.

* Drag and drop side bar - like mentioned. Way more usable for advanced dialogs. Top bar could make sense too. Editable does not have to be full screen.

* Option to reconfigure tool key configuration.

* Change defauft:

* Exchange RMB<-> MMB

* or LMB SC/DC to edit; LMB + LCTRL to move, LMB + LShift to resize, RMB to move

* It is possible to make controls size 0, unable to find it afterwards.

http://www3.picfront.org/picture/Yh6BR5UOb/img/p001.jpg

* What about class inheritance?

* In edit control properties:

** key - value (map), display instead of list

** new property -> autoselect value

** f2 to edit or LMB SC

http://www3.picfront.org/picture/Idf4crt2aa/img/p004.jpg

** ability to reorder elements

** How do you edit items - it hardly works here with LMB SC/DC.

** Bug: possible to create a property twice:

http://www3.picfront.org/picture/dMJ3QgZ1/img/p005.jpg

** Question: Every property always relevant? It is specific to parent classes (at times) isnt it?

http://www3.picfront.org/picture/KdBXpOO0c/img/p006.jpg

* Posted about your tool in the dev heaven forum. :)

* Feasible to get code completion and/or error checking at some point (single man project or possible team effort in the future?)

* Ability to start app in window mode and resize.

* Format error for my simple test dialog: http://pastebin.com/f30cc43c3

* Option to resize background (to editable area size):

http://www3.picfront.org/picture/H3wVobEKtvF/img/p002.jpg

* Possible to make a zoom mode? Otherwise the tiny grid is hardly useful:

http://www3.picfront.org/picture/Sx68rjRF/img/p008.jpg

* Dialog should be possible to resize/fullscreen:

http://www3.picfront.org/picture/irCgg3Hz/img/p009.jpg

* Syntax coloring feasible at some point?

http://www3.picfront.org/picture/kMVs0fqU/img/p010.jpg

* Edit classes

** RMB should be context sensitive - display only options for class vs values/keys:

http://www3.picfront.org/picture/f11O0UDvJ/img/p011.jpg

http://www3.picfront.org/picture/p2BuFnqi8QT/img/p012.jpg

** Insert property should also work if property is selected - just query its class its in:

http://www3.picfront.org/picture/2uVXbFgi/img/p013.jpg

Again great job and looking very much forward to the updates to come!

Edited by kju

Share this post


Link to post
Share on other sites

I noticed it generated the numbers with comma as a separator and not a period. It didn't place the dialogs on the screen until I corrected that.

Share this post


Link to post
Share on other sites

Just stumpled across this - and must say, this looks very handy !

I will definitely be following this project closely !

Keep up the good work !

Share this post


Link to post
Share on other sites

Looks interesting so far, can it be used in windowed mode somehow ? Fullscreen is not practicable

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×