Game Development Community

Torque Explorer

by Lars Boldt · in Torque Game Engine · 08/10/2004 (4:12 pm) · 109 replies

www.magikastudios.com/temp/te.jpg

Torque Explorer preview.

Introduction:
I got very tired of having 10 different applications running when working with Torque. Code editors, image applications, documentation papers, books, audio players, windows explorer and so on...

So I sat down I started working on an "almost all in one idea". The result so far you can see on the image. The application so far includes around $1500 of 3rd party licenses, all from icons to image format support.

Features:
- Treeview of your game files. Just like Windows Explorer. One click on a file and the program will automatically decide where to open it, code view, log view, image view or audio view.
- Automatic deletion of .dso files on game start, if you want.
- Supports opening the following image formats: JPG, TGA, PNG, BMP, CUR, ICO, TIF, PCX, PXM and GIF.
- Can convert all of the above formats into: JPG, TGA, PNG, BMP, TIF, PCX, PXM and GIF with 3 clicks. You can also resize the image in the process by selecting pre-defined Torque texture sizes or your own custom size.
- Supports wav and mp3 aswell as many well known video formats in the audio section.
- Change color, font and size in code view and log view. This only applies to the whole text, not individual words as for now.
- All you need to do to get started is name your game, select the starting directory, release exe and debug exe and you are good to go.
- Unique icons for all important file types to easily differ them from one another.

Features being worked on:
- OGG support.
- Conversion of audio formats, as in wav to ogg, mp3 to ogg etc...

I realize the code editor for instance cannot compete with a stand alone code editor which is nothing but that. But over time, it can be.

Features that would be really cool to have:
- Model viewer, support for 3ds, max, ma and so on. Maybe someone knows an ActiveX component that can read some of these file types?

I could use some help if anyone is interested with a few things. Application is being developed in Borland C++ Builder 6.

1) Implementation of OGG. Someone who can specifically point out what code is needed to play and what is needed to convert, and how to bind this to a graphical user interface.
2) Script documentation. Would really like to include a searchable script reference, made with Microsoft HTML Help. The one that creates .chm/.hlp files.
3) Someone who knows the windows API well. Specifically the file system. At this point i've written a file explorer indexer on a TreeView object. This is unfortunatly abit slow at this point, and I would like to speed it up. Additionally it's things like noticing file deletion or a sudden new file being added, and add it to the tree view without having to update the whole list. There is alot to keep track of here and that's why it's abit slow.
4) 3D model viewer implementation. Can be by ActiveX or Borland C++ Builder 6 components.

Suggestions are welcomed. If you want to help, email me at Lars.sp5am.@MagikaStudios.Com. without .sp5am.

Lars
Page «Previous 1 2 3 4 5 6 Last »
#1
08/10/2004 (4:21 pm)
Lars,

Looks awesome :) Please continue to keep us posted on your progress.

As for helping, there is one area on your list that you can get help with, hopefully. The bit about a searchable script reference should be coming along as you develop your app. Presently, I'm coordinating with a couple community members here to develop an XML-based script reference that can be used by any project.

Feel free to email me at joshw@garagegames.com if you want to discuss that bit more, or if you have any questions as you move along in development. This could be very promising! Great idea, thanks a lot for posting about it. :D
#2
08/10/2004 (4:54 pm)
Great to hear that a scripting reference is in the works. XML is certainly a good approach. By doing this right in XML you can create both a look-up "database" and something a code editor could look up in to auto complete words or give the writer feedback as he writes functions and whatnot...

As soon as something is done in that department it would be cool to get an early version of a page or something so I could test it out.

There is one drawback and that is that this application will only work on Windows platforms. Doing this cross-platform is out of my league unfortunatly. Atleast at this point.

I can only verify this application on WinXP so if anyone with Win95, 98, 98se, ME, 2000 wants to beta test when a beta is ready email me please.

Lars
#3
08/10/2004 (5:04 pm)
@Lars: Let me know when you are going to need it beta tested. I have Win 95, 98se and XP on my system.
#4
08/10/2004 (7:45 pm)
www.magikastudios.com/temp/teimg.jpg
Just wanted to post a screenshot of the image part of the app before bed.

What you see is a "preview mode" where you see the original image and resized image so you can get the best result before saving. Also included is a screen capture button + hotkey that will capture the whole screen and insert it into the image section.

To save an image in another format select a different format than it's current format and hit the save button, a new image with the same name at the same place with the new format is then created. If you want it with another name at another location you can use Save as...

Trying to keep this as_simple_as_possible so users don't have to spend time learning the app.

@Mark, will write your name down, thanks!

Lars
#5
08/11/2004 (8:38 pm)
Lars,

That's looking really good! What are your plans for portability?
#6
08/12/2004 (4:50 am)
Portability? As in Mac/Linux Support?

At some point when it's good enough for Windows it can be looked into but I don't think it's an easy task.

Besides I don't have neither so testing it will be difficult.

The app as is now uses quite a few windows API calls to speed up directory listings and awareness. Stuff like this would have to be totally rewritten I guess which is no small task.

Lars
#7
08/12/2004 (8:32 am)
Ah well...

Still, pretty cool stuff!
#8
08/12/2004 (9:39 am)
Lars, have you thought in using a platform agnostic GUI kit like wxWidgets ?
It's actually more than just a gui kit, it does platform abstraction, etc.
As ben says, your app looks very promising, and it'd be a shame to have yet another windows only tool,
just so that directory listings are faster...
Or, if you would isolate the platform specifics in their own/modules classes, and abstract them through app specific functions (getDirListing for example), so that the app code itself never calls platform specifics functions, but uses the abstracted calls.
Then, someone else could do the work of porting to Linux and MacOS X by just doing platform specific versions of the abstracted calls, a few ifdef at compile time, etc.
If you're so inclined of course : it is your baby after all :)
That said, if it's as good as it looks promising, I'm pretty sure some folks will step up to do the port, even if you've made no provisions for it.

Keep up the good work, and keep on torquin' in the indie world !!
#9
08/12/2004 (2:25 pm)
I appreciate ya'll effort to promote the development for Mac and Linux platforms. But you have to realize a few things:

- I didn't write the imaging code from scratch, the part in my app that does cropping, resizing and whatnot. I bought a component that works with Borland C++ Builder 6 and probably Delphi. What I am doing with it is utilize all it's power, give it a graphical user interface and make it all work. Kinda like making a game with Torque. The difference is that these components weren't intended to work on multiple platforms.
- You assume the fact that I have the knowledge to either make it cross platform or make it so that it's easy for others to do it.
- You want me to spend alot of time working on something for a community that expects everything to be free (Linux), no pun intended.
- Who will support the app for Linux or Mac, I certainly don't have the knowledge to respond to bug reports etc happening on other platforms.
- This app is heavily dependant on a good file system to easily access your torque files. I don't have the faintest clue on how the file system on Linux or Mac works.

Don't get me wrong, it's not that I don't want to make it work for Linux and Mac, it's just that I don't have the knowledge to do it, and I really don't want to spend time on figuring out how either.

If linux and mac users don't have enough tools why don't they step up and make one for their OS themselves? :)

What you will get with my app is a cheap way to convert images, do small imaging things like cropping and resizing, script with what I hope to be a good script tool, a log viewer, audio/video showroom, aswell as convertion tools for video and audio.

Getting all these apps to do all these tasks (with a license) in a commerical product that is documented and easy to work with, and that HAS A GUI, for FREE, can be tough. Buying them would most likely cost you more than $100.

I hope the tool will make it easier for developers to tell their musicians to deliver sound in wav, because for them it's super easy to convert to mp3 and ogg anyway so no need to use command line tools and whatnot to get this to work. Same goes for the texture artist who can only save to a jpg format, yeah sounds silly, but they are out there.

Do a search on google for a image format batch converter, it's tough finding one that is actually good AND free.

If I didn't believe this app would have great value to me and others using the Windows platform I wouldn't be making this tool. And if such a tool already existed I wouldn't be making it either.

There hasn't been much hassle about porting it in this thread yet, but I recently read about another tool like this one being created back in January which almost turned into a flame fest between OS users and porting/cross platform etc etc.

By starting such an arguement and saying it's a shame it's not going to work on those OS's you are demoting the development of tools at all. I don't believe such tools lose all their value just because they won't work on Mac and Linux.

Now all the OS talk aside, and no harm done (I hope), progress is great and i'll post some new screens soon with some cool new features.

Lars
#10
08/12/2004 (7:17 pm)
Another update.

This time in the code editor, some major changes here.

www.magikastudios.com/temp/tecode.jpgwww.magikastudios.com/temp/tecode2.gif

Some features:
-Highlighting for HTML, Javascript, Web, CSS, Basic, Pascal, SQL, C#, Perl, Pyton included.
-Code List (Put in your own custom code blocks that you use often and drag them from the code list into the editor, also supports clipboard items, aka all the stuff you copy around in windows with ctrl+v)
-Auto Completion (Manage your own list of auto completion words. Like type in f then hit space or enter and it automatically inserts function()).
-Auto Hint (As seen on both screenshots)


Now the code editor is close to finished. What's needed is to make a Torque Script Highlight style and a Torque Script function list.

For this I will need a two lists like this: (or some similar setup to easily extract this data, from a XML sheet for instance, though you'd have to write a parser which takes longer than reading two text files like the lists specified below :-))

list 1:
echo
trace

list 2:
echo(const Msg: string);
trace(bool);

You get the point.

Lars
#11
08/12/2004 (7:18 pm)
Oh and I forgot about the bracket highlighting which shows the extent of your function.

Most colors are configurable.

Lars
#12
08/12/2004 (8:29 pm)
Wow, that is a feature-rick application! It's looking really good! Great project!!
#13
08/13/2004 (12:24 am)
Oh Lars - if you havent seen them already, there are 2 nifty functions in TGE, that can dump a list of datablocks, their variables and all console functions from a running engine. AFAIK TGE has 2 methods that save these into external files.

Unfortunally I dont have the sources right now, but I'm pretty sure they were called something like displayConsoleMethods() or something similar. They are defined in the client scripts (most likely in the common dir)

It would be most fantastic if you could take those files and parse them in your editor - instantly making me a user of your program no matter if its for Win only.

Highlighting for other languages than Torque Script seems to me like something belonging to a different program. Just because you can, doesnt mean you should. It blurs the purpose of this tool. Just my oppinion. Having highlighting and auto completion on TGE related code on the other hand isnt. Just my 2 euro cents worth of advice.
#14
08/13/2004 (4:32 am)
I will look into those commands Thomas, thanks for the info.

As for highlighting, I figured some people are most likely used to the hihglighting of their favorite programming language, being able to use that color setup on Torque scripting might make it easier for them, or not. This is something we'll decide during beta when more users test it.

Is there any guides on a color scheme for a torque script out there or can you make up your own? Best thing would be to have a set standard so everyone could do the same if more are making the same tools.

Lars
#15
08/13/2004 (5:08 am)
This is a pretty good guide for coloring/highlighting TorqueScript.

Supporting languages other than TorqueScript is good, imho. I wouldn't want to see a list of 30 obscure types, but many here have integrated Python and various forms of SQL.
#16
08/13/2004 (7:15 am)
There is a sweet feature in jedit that would be a great addition to your project. It has the ability to do autocomplete for any word already in the current buffer. When you hit the keycombo to invoke it, it would give you a popup list of words in the current buffer that match what you've typed so far. This is great for autocompletion of variables.
#17
08/13/2004 (7:20 am)
It sounds nice Eustacia, but I can think of one drawback. If the auto complete list already has a huge list with Torque script commands, cluttering up that list with buffered typed characters from the editor might not be the best thing to do.

I will look into making it an optional feature though!

Thanks for feedback guys! Much appreciated.

Lars
#18
08/13/2004 (8:58 am)
If you need inspiration I suggest looking at VisualAssist by Whole Tomato Software. Incredibly useful package. It solves a lot of these problems very elegantly.
#19
08/13/2004 (9:12 am)
Wow they have alot of nice features there. Bookmarking that site.

I think for the first version I need to get the basics and then some working and update it later with new cool stuff.

I'm sure I could spend months getting just the editor perfect, but then I have to neglect imaging and audio/video and
we can't have that :)

Lars
#20
08/13/2004 (10:58 am)
Ahh - here they are:

// Writes out all script functions to a file
function writeOutFunctions() {
new ConsoleLogger( logger, "scriptFunctions.txt", false );
dumpConsoleFunctions();
logger.delete();
}

// Writes out all script classes to a file
function writeOutClasses() {
new ConsoleLogger( logger, "scriptClasses.txt", false );
dumpConsoleClasses();
logger.delete();
}

(found in common/client/scriptDoc.cs)
Page «Previous 1 2 3 4 5 6 Last »