TF2ools - Application WIP

Discussion in 'Mapping Questions & Discussion' started by Cerulean, Oct 17, 2009.

  1. Cerulean

    Cerulean L3: Member

    Messages:
    112
    Positive Ratings:
    59
    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":

    [​IMG]


    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)

    [​IMG]
     
    • Thanks Thanks x 6
    Last edited: Oct 20, 2009
  2. Schinken

    Schinken L1: Registered

    Messages:
    33
    Positive Ratings:
    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 :)
     
    • Thanks Thanks x 1
  3. HeaH

    HeaH L8: Fancy Shmancy Member

    Messages:
    553
    Positive Ratings:
    102
    It looks nice and handy! Having everything in one place would be nice!

    Do you have a version ready for us to try?
     
    • Thanks Thanks x 1
  4. The Political Gamer

    aa The Political Gamer

    Messages:
    4,468
    Positive Ratings:
    1,682
    Could you include something that allows hammer to start when you are not connected to the internet? Other then that this looks really cool.
     
    • Thanks Thanks x 1
  5. gamemaster1996

    gamemaster1996 L13: Stunning Member

    Messages:
    1,065
    Positive Ratings:
    131
    This needs releasing although plz make it a self extracting or a exe as some people find zips awkward
     
  6. Micnax

    aa Micnax I maek map

    Messages:
    2,019
    Positive Ratings:
    1,338
    This, a million times this.
     
    • Thanks Thanks x 1
  7. Cerulean

    Cerulean L3: Member

    Messages:
    112
    Positive Ratings:
    59
    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: Oct 17, 2009
  8. DJive

    aa DJive Cake or Death?

    Messages:
    1,466
    Positive Ratings:
    736
    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.
     
  9. Cerulean

    Cerulean L3: Member

    Messages:
    112
    Positive Ratings:
    59
    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.
     
  10. Schinken

    Schinken L1: Registered

    Messages:
    33
    Positive Ratings:
    15
    Just link to some tutorial sites, and the error page of interlopers -> http://www.interlopers.net/index.php?page=errors

    The Tutorial section in this forum, and ABS' Mapping Pack :)

    I'm not sure if Interlopers offers some good tutorials if, then -> link to them too :D
     
    • Thanks Thanks x 1
  11. Garner

    Garner L4: Comfortable Member

    Messages:
    154
    Positive Ratings:
    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 :)
     
    • Thanks Thanks x 1
  12. Cerulean

    Cerulean L3: Member

    Messages:
    112
    Positive Ratings:
    59
    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)

    [​IMG]
     
    • Thanks Thanks x 1
    Last edited: Oct 19, 2009
  13. Schinken

    Schinken L1: Registered

    Messages:
    33
    Positive Ratings:
    15
    The name is "Tf2ools" :D (sry for useless post :))
     
  14. Terr

    aa Terr Cranky Coder

    Messages:
    1,591
    Positive Ratings:
    405
    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.)
     
  15. Randdalf

    aa Randdalf

    Messages:
    1,054
    Positive Ratings:
    462
    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 :)
     
  16. Cerulean

    Cerulean L3: Member

    Messages:
    112
    Positive Ratings:
    59

    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: Oct 19, 2009
  17. Terr

    aa Terr Cranky Coder

    Messages:
    1,591
    Positive Ratings:
    405
    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.
     
  18. Cerulean

    Cerulean L3: Member

    Messages:
    112
    Positive Ratings:
    59
    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.
     
  19. gamemaster1996

    gamemaster1996 L13: Stunning Member

    Messages:
    1,065
    Positive Ratings:
    131
    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
     
  20. Cerulean

    Cerulean L3: Member

    Messages:
    112
    Positive Ratings:
    59
    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.