@Mells judging by your screen shots they are already there.
But seriously, I don't think it would be available before OpenGL ES 2.0 and Windows 8 support.
Which reminds me: <trollmode> @atilim it's been more than a week. Where is our Windows 8 support? </trollmode>
@Mells there was once a discussion that mentioned that you can freely modify gproj file to add/remove files to the project. It's a simple xml, so you could take any scripting language you can use on your computer and generate that xml based on contents of the map.
@ar2rsawseen I think I've seen that discussion about XML somewhere, but sadly I don't have the time or the skills to do it (yet). Also some devs that are just starting with Gideros (based on my advice) are asking me the same thing and I don't feel comfortable telling them that they have to add files and create each folders by hand (I have seen the structure of their project and they use a lot of levels in the hierarchy of their project). That's why a native solution would be preferred, though I understand that the resources at Gideros team are limited and features need to be prioritized.
@atilim Though I understand the reasons why you need to focus on other features, in all honesty I can not say that this answer makes me dance in my living room because this missing feature is really annoying on a daily basis.
Anyway, hope you will surprise us and the team will be extended soon ..
@Mells: I found the easy way around the files / folders problem was to create an empty project template and re-use it for each new project. As the library files and folder structure are common to each project then you are only adding the new project specific files (which you would have to do anyway).
background.lua uses images and sounds stored in the appropriate folders. Problem is : each background.lua (level1, level2, etc) uses different images (snow.jpg if it's a winter bg, sand.jpg in summer.). Using "background.jpg" and "foreground.jpg" is too limiting, so in each levels I have a lot of images that are specific to the level and which names can't be found in other [level x] - [images] Folder.
So currently I have to create each "Level x" folders by hand (because not all my games have the same number of levels) and create in each folder some subfolders (images folder, sounds, fx, etc) and add existing files manually.
Which is... mmmmmmm.... annoying and a waste of time. Now if I could drag and drop "Level 28" and see all the files appear automatically in the hierarchy, I would be more than happy.
And if the folder could auto-import files that are added to it, I wouldn't even need to drag and drop : [Level backgrounds] would be auto-populated which would make me :
@atilim, @gorkem, have you thought about open sourcing the IDE code? It's not really the heart of Gideros and wouldn't harm your commercial prospects I think but it would allow a host of new features to be added at no cost to yourselves.
I've been discussing just the other day with @bowerandy adding somewhat similar functionality to ZeroBrane Studio.
@mells, I'm just curious, would the opposite way work? you already have some folder structure; the IDE could generate a project file for you based on that folder structure. There is still a question of code dependencies, but other resources can probably be added automatically. Would you need to exclude some files?
@paulclinger I think that the ideal for me would be :
the IDE could generate a project file for the user, based on the folder structure on his hard drive
+ the ability to add "virtual folders" (those folders would be located somewhere else and would let users include their own libs, shared by several projects) by drag and drop
The ability to exclude some files would still be something important for my needs.
thanks @mells; make sense. After your game structure is in place, how frequently do you change the folder/project file content? Assuming you may be adding/modifying layers, but what else? Just maybe a peek into your workflow...
how frequently do you change the folder/project file content?
Not that often, but I'll give you an example. I work a lot away from my main computer, and I separate coding sessions and Art sessions (on the iPad).
For each level ("Level1" folder, "Level2" folder), I create custom sounds, fx, backgrounds, animations. If Character_Design.jpg is not found in the current Level folder, then Character_Design.jpg in "Default" folder is loaded.
That means I create my structure once (Default) and copy paste the structure for each level when I'm satisfied with the defaults. At the beginning of the project, all "Level" folders are empty. Only "Default" is not (fallback). When I'm outside, I will create "Character_design.jpg". Upload it to Dropbox. Reload the project in Gideros on my laptop at home through Splashtop, create folder manually if I didn't do it before leaving home, add existing file, then launch the player. Level 1 has been customized.
When I paint, I don't want to touch code. But if the structure doesn't let me preview my files like I want, I like to be able to open Textastic - update my code - and go back to painting.
So I can have "character design" sessions where I'll create 5 characters in the afternoon, just upload to dropbox and see my app updated. Would work great if working with a partner too (dev).
The problem is : sometimes I need to create a subfolder to store files separately ("Character_Young", "Character_Adult" which have different animations, etc) and I need to do it for each level folder. Then if I was productive and did 4 files for each project, it takes a lot of time to create the folders for each level, add existing files to each folder, etc...
This doesn't happen often, but when it happens it's annoying. And even more remotely
Assuming you may be adding/modifying layers, but what else?
Mmm not much that I think about, now. I create the structure of my project on my laptop, send files (txt through textastic, images through procreate) from the ipad to the folder where the project is stored, then launch the player. Sometimes, I need to modify the structure and at that time it's very important to me, but it doesn't happen often. If I can do that, most of my needs are covered.
I feel my explanation was more confusing than I wanted. Maybe I didn't get the question right and you can contact me with specific questions and I'll try to elaborate as much as possible?
@mells, this works; thank you for the detailed description of your workflow. I may have some follow-up questions, but it should be enough for me to think about and work with.
> When I paint, I don't want to touch code. But if the structure doesn't let me preview my files like I want, I like to be able to open Textastic - update my code - and go back to painting. > The problem is : sometimes I need to create a subfolder to store files separately ("Character_Young", "Character_Adult" which have different animations, etc) and I need to do it for each level folder. Then if I was productive and did 4 files for each project, it takes a lot of time to create the folders for each level, add existing files to each folder, etc... > This doesn't happen often, but when it happens it's annoying. And even more remotely
If you have it done in textastic, it's probably already in dropbox somewhere. Wouldn't you want to map a folder that your dropbox is probably synced to a folder in your project? Or this doesn't work with your folder structure?
@paulclinger Exactly. Like I said, sometimes I need to modify the structure and at that time it's very important to me, but it doesn't happen often. If I can do that, most of my needs are covered. If I add a subfolder in Dropbox and this is automatically added as a subfolder in my gideros project, if all the files I upload to that folder are automatically added to my project (or through a "update project" button), then that would be perfect for me.
I believe it would be great if it was an option per folder, maybe have a flag with default=true to enable auto import subfolders/files I don't know... I wouldn't want all my main folder and its subfolders to be imported if it was possible. Have to think more about it.
For my current project I need to bring in a fairly large set of folders and subfolders. For that purpose I wrote a little tool to generate the XML representation of a file structure. I'm attaching a zip file with the source code (C++ with VS2008 project files) and the binary. Run it from in folder you want to include to get the folder structure with relative paths, or give it a complete path to get absolute paths. Run it from the command line like this:
fdir2xml (path) (output file)
The resulting output file will contain the folder structure in XML. Copy the contents of the file and paste into your Gideros project (the *.gproj file, just before the line is as good a place as any.) Reopen the project in Gideros and and reopen the project and the folders and files will be included.
I'll be using this a lot in my current project. I hope it's useful to somebody else.
I don't want to rant about IDE limitations, but I sometimes think creating a Gideros specific plugin for Intellij IDEA, NetBeans or another IDE might be a better long term solution for IDE support and more effective use of Gideros development resources. Adding basic IDE features that every other IDE already has doesn't seem like the best allocation of resources.
I know there are tradeoffs and other considerations, but as a long time user of other IDEs, the Gideros IDE's (GIDE) limited functionality is frustrating. I know other IDEs can be used and I actually use three - IDEA for refactoring and reformatting code, ZeoBrane for static code analysis and Gideros for development. None of them are a complete solution. After my current project is done I'll try eliminating GIDE from my workflow.
Comments
But seriously, I don't think it would be available before OpenGL ES 2.0 and Windows 8 support.
Which reminds me:
<trollmode>
@atilim it's been more than a week. Where is our Windows 8 support?
</trollmode>
@Mells there was once a discussion that mentioned that you can freely modify gproj file to add/remove files to the project. It's a simple xml, so you could take any scripting language you can use on your computer and generate that xml based on contents of the map.
Likes: phongtt
I know I haven't improved the IDE for a long time. @Mells - I want to postpone this request until at least we extend the Gideros team.
I think I've seen that discussion about XML somewhere, but sadly I don't have the time or the skills to do it (yet).
Also some devs that are just starting with Gideros (based on my advice) are asking me the same thing and I don't feel comfortable telling them that they have to add files and create each folders by hand (I have seen the structure of their project and they use a lot of levels in the hierarchy of their project).
That's why a native solution would be preferred, though I understand that the resources at Gideros team are limited and features need to be prioritized.
@atilim Which will make me open a new discussion "When will the Gideros team be extended?"
Ok let's say you have no precise idea or you want to keep it secret.
-> Being realistic, could you at least say if this will happen :
- whithin 3 months
- between 3 and 6 months
- 6 months+
- 12 months+
That alone will help me.Thank you.
Likes: phongtt
Though I understand the reasons why you need to focus on other features, in all honesty I can not say that this answer makes me dance in my living room because this missing feature is really annoying on a daily basis.
Anyway, hope you will surprise us and the team will be extended soon ..
This topic is closed.
Just my $0.02
Website: http://www.castlegateinteractive.com
https://play.google.com/store/apps/developer?id=Castlegate+Interactive
Thank you for giving a suggestion
This is also what I use but it has its limits as you know, let's say I have the hierarchy below :
Problem is : each background.lua (level1, level2, etc) uses different images (snow.jpg if it's a winter bg, sand.jpg in summer.).
Using "background.jpg" and "foreground.jpg" is too limiting, so in each levels I have a lot of images that are specific to the level and which names can't be found in other [level x] - [images] Folder.
So currently I have to create each "Level x" folders by hand (because not all my games have the same number of levels) and create in each folder some subfolders (images folder, sounds, fx, etc) and add existing files manually.
Which is... mmmmmmm.... annoying and a waste of time.
Now if I could drag and drop "Level 28" and see all the files appear automatically in the hierarchy, I would be more than happy.
And if the folder could auto-import files that are added to it, I wouldn't even need to drag and drop : [Level backgrounds] would be auto-populated which would make me :
Best regards
Likes: OZApps
Here is a progress report if you want to know more.
Likes: OZApps, phongtt, plamen
@mells, I'm just curious, would the opposite way work? you already have some folder structure; the IDE could generate a project file for you based on that folder structure. There is still a question of code dependencies, but other resources can probably be added automatically. Would you need to exclude some files?
I think that the ideal for me would be :
- the IDE could generate a project file for the user, based on the folder structure on his hard drive
- + the ability to add "virtual folders" (those folders would be located somewhere else and would let users include their own libs, shared by several projects) by drag and drop
The ability to exclude some files would still be something important for my needs.I work a lot away from my main computer, and I separate coding sessions and Art sessions (on the iPad).
For each level ("Level1" folder, "Level2" folder), I create custom sounds, fx, backgrounds, animations.
If Character_Design.jpg is not found in the current Level folder, then Character_Design.jpg in "Default" folder is loaded.
That means I create my structure once (Default) and copy paste the structure for each level when I'm satisfied with the defaults.
At the beginning of the project, all "Level" folders are empty. Only "Default" is not (fallback).
When I'm outside, I will create "Character_design.jpg". Upload it to Dropbox. Reload the project in Gideros on my laptop at home through Splashtop, create folder manually if I didn't do it before leaving home, add existing file, then launch the player.
Level 1 has been customized.
When I paint, I don't want to touch code. But if the structure doesn't let me preview my files like I want, I like to be able to open Textastic - update my code - and go back to painting.
So I can have "character design" sessions where I'll create 5 characters in the afternoon, just upload to dropbox and see my app updated. Would work great if working with a partner too (dev).
The problem is : sometimes I need to create a subfolder to store files separately ("Character_Young", "Character_Adult" which have different animations, etc) and I need to do it for each level folder.
Then if I was productive and did 4 files for each project, it takes a lot of time to create the folders for each level, add existing files to each folder, etc...
This doesn't happen often, but when it happens it's annoying.
And even more remotely Mmm not much that I think about, now.
I create the structure of my project on my laptop, send files (txt through textastic, images through procreate) from the ipad to the folder where the project is stored, then launch the player.
Sometimes, I need to modify the structure and at that time it's very important to me, but it doesn't happen often.
If I can do that, most of my needs are covered.
I feel my explanation was more confusing than I wanted.
Maybe I didn't get the question right and you can contact me with specific questions and I'll try to elaborate as much as possible?
> When I paint, I don't want to touch code. But if the structure doesn't let me preview my files like I want, I like to be able to open Textastic - update my code - and go back to painting.
> The problem is : sometimes I need to create a subfolder to store files separately ("Character_Young", "Character_Adult" which have different animations, etc) and I need to do it for each level folder.
Then if I was productive and did 4 files for each project, it takes a lot of time to create the folders for each level, add existing files to each folder, etc...
> This doesn't happen often, but when it happens it's annoying. And even more remotely
If you have it done in textastic, it's probably already in dropbox somewhere. Wouldn't you want to map a folder that your dropbox is probably synced to a folder in your project? Or this doesn't work with your folder structure?
Exactly.
Like I said, sometimes I need to modify the structure and at that time it's very important to me, but it doesn't happen often.
If I can do that, most of my needs are covered.
If I add a subfolder in Dropbox and this is automatically added as a subfolder in my gideros project, if all the files I upload to that folder are automatically added to my project (or through a "update project" button), then that would be perfect for me.
I believe it would be great if it was an option per folder, maybe have a flag with default=true to enable auto import subfolders/files I don't know...
I wouldn't want all my main folder and its subfolders to be imported if it was possible.
Have to think more about it.
fdir2xml (path) (output file)
The resulting output file will contain the folder structure in XML. Copy the contents of the file and paste into your Gideros project (the *.gproj file, just before the line is as good a place as any.) Reopen the project in Gideros and
and reopen the project and the folders and files will be included.
I'll be using this a lot in my current project. I hope it's useful to somebody else.
PaulH
I know there are tradeoffs and other considerations, but as a long time user of other IDEs, the Gideros IDE's (GIDE) limited functionality is frustrating. I know other IDEs can be used and I actually use three - IDEA for refactoring and reformatting code, ZeoBrane for static code analysis and Gideros for development. None of them are a complete solution. After my current project is done I'll try eliminating GIDE from my workflow.
Google Play: https://play.google.com/store/apps/details?id=com.Mithrilsoft.Fourfold
Google Plus: https://plus.google.com/117851645612711931372
Twitter: https://twitter.com/mithrilsoft