MulleDK19 21 Posted May 28, 2009 (edited) 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 November 15, 2010 by MulleDK19 Preparing thread for the new tool Share this post Link to post Share on other sites
Wolfrug 0 Posted May 29, 2009 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
VictorFarbau 0 Posted May 29, 2009 We need this - release it!!! :) VictorFarbau Share this post Link to post Share on other sites
Spooner 0 Posted May 29, 2009 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
celery 8 Posted May 29, 2009 This could be extremely useful. I was never good at dialogs. Share this post Link to post Share on other sites
Bad Pilot 0 Posted May 29, 2009 I'm interested in using something like this. Keep working on it for A2 :) Share this post Link to post Share on other sites
i0n0s 0 Posted May 29, 2009 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
MulleDK19 21 Posted May 29, 2009 -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
Sniperwolf572 758 Posted May 29, 2009 Moved to A&M:C. Share this post Link to post Share on other sites
MulleDK19 21 Posted May 29, 2009 Moved to A&M:C. Thank you :) Share this post Link to post Share on other sites
Wolfrug 0 Posted May 29, 2009 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
nominesine 0 Posted May 29, 2009 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
MulleDK19 21 Posted May 29, 2009 (edited) 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 May 29, 2009 by MulleDK19 Share this post Link to post Share on other sites
Wolfrug 0 Posted May 29, 2009 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
i0n0s 0 Posted May 29, 2009 Fourth: ... That is what I wanted to express. Share this post Link to post Share on other sites
MulleDK19 21 Posted May 30, 2009 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
granQ 293 Posted June 4, 2009 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
Spooner 0 Posted June 4, 2009 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
whisper 0 Posted June 9, 2009 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
MulleDK19 21 Posted June 12, 2009 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
spirit6 51 Posted June 12, 2009 (edited) 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 June 12, 2009 by spirit6 Share this post Link to post Share on other sites
.kju 3245 Posted June 13, 2009 (edited) 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 June 13, 2009 by kju Share this post Link to post Share on other sites
Nordbo 0 Posted June 14, 2009 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
Binary 0 Posted June 15, 2009 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
Tajin 349 Posted June 15, 2009 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