TF2ools - Application WIP

Cerulean

L3: Member
Sep 12, 2008
112
60
TF2ools - Application WiP (looking for suggestions)

Ever since drpepper posted this: [ame="http://forums.tf2maps.net/showthread.php?t=10013"]Do you write software? Get Every Windows OS for free from Microsoft![/ame], I've taken an interest in programming. I decided to go get a version of Visual Studio and see what it was all about. Not that I plan on getting free software...

I don't know too much about programming, but this has been fun so far. Here is my current progress on my first Visual Basic application, "TF2ools":

ss20091019214133.png



I've gotten it to pretty much set itself up except for any custom apps. Settings are saved in an .ini file (for paths/profiles). I'll be adding more resources to the first tab (link to tuts or something....).

10/19:

-Adding support for choosing the mod directory. Not sure if I can keep the "TF2ools" name now :(.
Still making it pretty, and it works better.

-switched from the dropdown list to the 'open file dialog' for choosing maps

Choosing a mod will:

-automatically set up the game tab to launch that appid (and launch option profiles don't change on mod switch)
-vmf folder will autoswitch to the mod's default
-choosing left4dead paths are also working, and the sdk button should launch authoring tools

-still need to setup profiles for custom mods (allow saving/auto-loading of profile between program starts)

ss20091019212226.png
 
Last edited:

Schinken

L1: Registered
Aug 6, 2009
33
15
Very nice idea, and nice how you recreated the steam skin :3.
As i am a bit to programming myself (c++) i know it's not that easy :D.

BTW:. Is the App/Main Window resizable? If not then you will be soon out of space :3.

Keep up the good work :)
 

HeaH

L8: Fancy Shmancy Member
Oct 2, 2008
553
102
It looks nice and handy! Having everything in one place would be nice!

Do you have a version ready for us to try?
 

gamemaster1996

L13: Stunning Member
Sep 30, 2009
1,064
134
This needs releasing although plz make it a self extracting or a exe as some people find zips awkward
 

Cerulean

L3: Member
Sep 12, 2008
112
60
Could you include something that allows hammer to start when you are not connected to the internet? Other then that this looks really cool.

AFAIK Hammer won't launch from a shortcut, and definitely won't load without steam running (there may be a workaround, but nothing I can include with this app). The most I might be able to do is launch hammer as the skdlauncher loads, but no success there yet.

And... unless I'm missing something, why not just start Steam in offline mode? :p

Unless you're one of those people who still have offline mode issues... Offline Mode - Steam Support

.
 
Last edited:

DJive

Cake or Death?
aa
Dec 20, 2007
1,465
741
Uhhh... unless I'm missing something, why not just start Steam in offline mode? :p

Unless you're one of those people who still get the "you need an internet connection" when you click the offline mode button.

Offline Mode - Steam Support

Yep, start it in offline mode DOES ALLOW you to run SDK and hammer.

Way back when it used to not, but it does now.
 

Cerulean

L3: Member
Sep 12, 2008
112
60
I'm Looking for suggestions before I release the... "beta" (what else should I include, what tutorials/resources, features, etc). Also, I'll need one or two people to test it before making it available to everyone.

About half the code is from Googling - copy/paste/edit. The rest is guesswork (this is where my TI83+ skills come in :p). I've been living in VB Documentation for the past week.

Currently, everything seems functional. I just rewrote a large part of the button/checkbox handling, so I hope I didn't miss anything. I'm just making some changes to the gui right now.

The size is fixed, intended to be similar in size to the sdklauncher. All panel backgrounds are .png's. I'll have to figure out how to paint/draw on runtime in the future.
 

Garner

L4: Comfortable Member
Aug 16, 2009
154
38
I saw a few dev screens you posted while creating the app in tf2maps steam chat, i was impressed with the progressional build, but this near beta release has alot more features than i saw from the last screens and looks really really useful.

Keep up to good work :)
 

Cerulean

L3: Member
Sep 12, 2008
112
60
More new stuff:

-Adding support for choosing the mod directory. Not sure if I can keep the "TF2ools" name now :(.
-Also adding support for adding unlisted/custom mods (using profiles)

ss20091019030521.png
 
Last edited:

Terr

Cranky Coder
aa
Jul 31, 2009
1,590
410
Is there any magic that will let you take an app and discover a list of every single GCF it uses? (I hear apps can decide at runtime, so it might not be plausible.)
 
Feb 14, 2008
1,051
931
I'm doing a Map Assistant program for my A Level Computing project, whilst wholly unrelated to this it does share some features.

Looks pretty awesome though :)
 

Cerulean

L3: Member
Sep 12, 2008
112
60
Is there any magic that will let you take an app and discover a list of every single GCF it uses? (I hear apps can decide at runtime, so it might not be plausible.)


Well it looks like it might be possible if you parse the gameinfo.txt searchpaths. You'd just have to make a list of the known associations like:

ep2
epsisode two content.gcf
episode two materials.gcf
episode two maps.gcf

ep1
episode 1 shared.gcf
episodic 2007 shared.gcf

(not sure where source 2007 shared belong)

hl2
etc
etc

For mods, I think you can find those .gcfs just by searching for the base path (ie Synergy would be "synergy*.gcf".


example gameinfo.txt excerpt:


Code:
"GameInfo"
{
	game		"Half-Life 2: CERULEAN"
	title 		"HALF-LIFE'"
        title2		"==Bad=="
	type		singleplayer_only
	FileSystem
	{
		SteamAppId				666		// This will mount all the GCFs we need (240=CS:S, 220=HL2).
		ToolsAppId				211		// Tools will load this (ie: source SDK caches) to get things like materials\debug, materials\editor, etc.
		
		//
		// The code that loads this file automatically does a few things here:
		//
		// 1. For each "Game" search path, it adds a "GameBin" path, in <dir>\bin
		// 2. For each "Game" search path, it adds another "Game" path in front of it with _<langage> at the end.
		//    For example: c:\hl2\cstrike on a french machine would get a c:\hl2\cstrike_french path added to it.
		// 3. For the first "Game" search path, it adds a search path called "MOD".
		// 4. For the first "Game" search path, it adds a search path called "DEFAULT_WRITE_PATH".
		//

		//
		// Search paths are relative to the base directory, which is where hl2.exe is found.
		//
		// |gameinfo_path| points at the directory where gameinfo.txt is.
		// We always want to mount that directory relative to gameinfo.txt, so
		// people can mount stuff in c:\mymod, and the main game resources are in
		// someplace like c:\program files\valve\steam\steamapps\half-life 2.
		//
	SearchPaths
	{
		Game	|gameinfo_path|.	// Your mod folder should always come first
		Game	|all_source_engine_paths|ep2
		Game	|all_source_engine_paths|episodic	// Ep2 also uses some Ep1 content
		Game	|all_source_engine_paths|portal
		Game	|all_source_engine_paths|hl2	// HL2 should always come last
	}
    }
}
 
Last edited:

Terr

Cranky Coder
aa
Jul 31, 2009
1,590
410
I've got a parser that will handle the gameinfo format (turns it into nodes and attributes), I'm just worried there will be so many special cases that I may as well softcode it into a configuration file instead.
 

Cerulean

L3: Member
Sep 12, 2008
112
60
I've got a parser that will handle the gameinfo format (turns it into nodes and attributes), I'm just worried there will be so many special cases that I may as well softcode it into a configuration file instead.

Oh yeah you're doing the bsp thing... how do you have it set up now? Does it just search and find or do you have paths for the non-thirdparty mods? I might include something similar for using with gcfscape/other.
 

gamemaster1996

L13: Stunning Member
Sep 30, 2009
1,064
134
Thing is most of the time it'll want you to re-log-in when you wanna go offline and there for wont allow it :I
 

Cerulean

L3: Member
Sep 12, 2008
112
60
Thing is most of the time it'll want you to re-log-in when you wanna go offline and there for wont allow it :I

Yeah... I think I read that offline support was added later... I don't think they originally intended Steam to work without an internet connection. You have to be online to go offline, sort of defeats the purpose.