Amauros Posted July 16, 2010 Share Posted July 16, 2010 I'm not exactly sure how to explain what I need this program to do, but I'll try my best to explain. Preferably I would like a 2D overhead display, that reads from an x,y,z plot to determine locations (I can't remember if the z or the y is the vertical axis, so I need to have the option to control that). The program doesn't actually have to load the actual models (they're in alo format), it just needs to place some kind of gui marker at the appropriate locations (needs to support up to 100 objects on screen). File > Open, will open a campaign.xml file, and then select a campaign object from within it. The campaign file is the main container file, the first objects that have to be loaded are 'planets' that are listed in the campaign file. The planets' code themselves are in another xml file. These need to be loaded to find the x,y,z plots so that they are arranged properly. Next are 'trade routes' which also need to be loaded from another file. These just need to be a line that connects two planets together based on the information loaded from its xml. The last objects to be loaded are buildings, space stations, ground units, and space units. Just like everything else, they must be found from within various files, and then displayed in a dropdown menu on the planets (on left click). When I right click a planet, I would like the menu to show up somewhat like this: Spacestructures > Space Structure list Structure > Structure list SpaceUnit > Space unit list GroundUnit > Ground unit list ==== These lists will be derived from the buildings, space stations, ground units, space units, etc. When I left click on the object, it should add it to the dropdown menu (left click) of the planet. Then I need to be able to save all this into the campaign file in the correct format. ----- If you need more technical info, like how the files are actually written, let me know. I'm just asking for recommended tools for creating this program. Thanks. P.S. I'm sick of adding all that information into a campaign file manually... :P Link to comment Share on other sites More sharing options...
Anonymouse Posted July 16, 2010 Share Posted July 16, 2010 If you need more technical info, like how the files are actually written, let me know. *lets you know* Also, the Z is usually invisible from the top view, so you can describe it as the vertical axis Link to comment Share on other sites More sharing options...
Amauros Posted July 16, 2010 Author Share Posted July 16, 2010 Alright here are some sample codes, showing you what the program will have to load. First file to load is campaign.xml. Then open a campaign object within it: <Campaign Name="Sandbox_Balance_Of_Power_Empire"> <Campaign_Set> Sandbox_Power </Campaign_Set> <Sort_Order>9</Sort_Order> <Text_ID> TEXT_CAMPAIGN_SINGLE_75 </Text_ID> <Description_Text> TEXT_CAMPAIGN_SINGLE_DESCRIPTION_75 </Description_Text> <Camera_Shift_X> 40.0 </Camera_Shift_X> <Camera_Shift_Y> 0.0 </Camera_Shift_Y> <Camera_Distance> 1200.0 </Camera_Distance> <Locations> Galaxy_Core_Art_Model, AX235, AetenII, Alderaan, AlzocIII, Anaxes, Atzerri, Bakura, Bespin, Bestine, Bilbringi, Bonadan, Bothawui, BozPity, Byss, Carida, Corellia, Corulag, Coruscant, Dagobah, Duro, Dantooine, Dathomir, Endor, Eriadu, Felucia, Fondor, Fresia, Geonosis, Gamorr, Honoghr, Hoth, Hypori, Ilum, Jabiim, Kamino, Kashyyyk, Kessel, Korriban, Kuat, Mandalore, MonCalimari, Mustafar, Muunilinst, Mygeeto, Mimban, Manaan, Naboo, NalHutta, Nar_Shadda, Ord_Mantell, Ossus, Polus, Rothana, Ryloth, Ruusan, Saleucami, Sarapin, Shola, Sluis_Van, Balmorra, Rendili, Sullust, Taris, Tatooine, The_Maw, Thyferra, Utapau, VergessoAsteroids, Wayland, Yavin </Locations> <Trade_Routes> Hoth_Mustafar, Mustafar_VergessoAsteroids, Fondor_Thyferra, Bestine_Fondor, Bespin_Bestine, Anaxes_Coruscant, AetenII_Anaxes, AetenII_Dantooine, Bothawui_Ryloth, Bothawui_Corellia, MonCalimari_Saleucami, Kamino_MonCalimari, Kamino_Shola, Bonadan_Muunilinst, Bonadan_Yavin </Trade_Routes> <Home_Location> Rebel, Hoth </Home_Location> <Home_Location> Empire, Coruscant </Home_Location> <Home_Location> Underworld, Hypori </Home_Location> <Starting_Active_Player> Empire </Starting_Active_Player> <Rebel_Story_Name>Story_Plots_Rebel_AI_Heroes_EXP.xml</Rebel_Story_Name> <Empire_Story_Name>Story_Plots_Sandbox_75_Empire.xml</Empire_Story_Name> <Underworld_Story_Name>Story_Plots_Underworld_AI_Heroes.xml</Underworld_Story_Name> <AI_Player_Control> Rebel, BasicRebel </AI_Player_Control> <AI_Player_Control> Underworld, AI_Player_Underworld </AI_Player_Control> <AI_Player_Control> Pirates, None </AI_Player_Control> <AI_Player_Control> Hutts, None </AI_Player_Control> <Markup_Filename>Empire, DefaultGalacticHints </Markup_Filename> <Markup_Filename>Pirates, DefaultGalacticHints </Markup_Filename> <Markup_Filename>Rebel, DefaultGalacticHints </Markup_Filename> <Markup_Filename>Underworld, DefaultGalacticHints </Markup_Filename> <Markup_Filename>Hutts, DefaultGalacticHints </Markup_Filename> <Supports_Custom_Settings>True</Supports_Custom_Settings> <Show_Completed_Tab>True</Show_Completed_Tab> <!-- Win Conditions --> <Human_Victory_Conditions> Galactic_All_Planets_Controlled </Human_Victory_Conditions> <AI_Victory_Conditions> Galactic_All_Planets_Controlled, Galactic_Kill_Enemy_Leader, </AI_Victory_Conditions> <!-- Rebel Starting Forces --> <Starting_Credits> Rebel, 8000 </Starting_Credits> <Starting_Tech_Level> Rebel, 1 </Starting_Tech_Level> <Max_Tech_Level> Rebel, 5 </Max_Tech_Level> <!-- Hoth Space Forces --> <Starting_Forces> Rebel, Hoth, Rebel_Star_Base_2 </Starting_Forces> <Starting_Forces> Rebel, Hoth, Rebel_X-Wing_Squadron </Starting_Forces> <Starting_Forces> Rebel, Hoth, Y-Wing_Squadron </Starting_Forces> <Starting_Forces> Rebel, Hoth, Corellian_Corvette </Starting_Forces> <!-- Hoth Land Forces --> <Starting_Forces> Rebel, Hoth, R_Ground_Barracks </Starting_Forces> <Starting_Forces> Rebel, Hoth, Rebel_Tank_Buster_Squad </Starting_Forces> <Starting_Forces> Rebel, Hoth, Rebel_Infantry_Squad </Starting_Forces> <!-- Empire Starting Forces --> <Starting_Credits> Empire, 10000 </Starting_Credits> <Starting_Tech_Level> Empire, 2 </Starting_Tech_Level> <Max_Tech_Level> Empire, 5 </Max_Tech_Level> <!-- Coruscant Space Forces --> <Starting_Forces> Empire, Coruscant, Empire_Star_Base_5 </Starting_Forces> <Starting_Forces> Empire, Coruscant, TIE_Avenger_Squadron </Starting_Forces> <Starting_Forces> Empire, Coruscant, TIE_Avenger_Squadron </Starting_Forces> <Starting_Forces> Empire, Coruscant, Imperial_Strike_Cruiser </Starting_Forces> <Starting_Forces> Empire, Coruscant, Victory_Destroyer </Starting_Forces> <!-- Coruscant Land Forces --> <Starting_Forces> Empire, Coruscant, E_Ground_Barracks </Starting_Forces> <Starting_Forces> Empire, Coruscant, Imperial_Stormtrooper_Squad </Starting_Forces> <Starting_Forces> Empire, Coruscant, Imperial_Heavy_Scout_Squad </Starting_Forces> <!-- Underworld Starting Forces --> <Starting_Credits> Underworld, 2000 </Starting_Credits> <Starting_Tech_Level> Underworld, 2 </Starting_Tech_Level> <Max_Tech_Level> Underworld, 5 </Max_Tech_Level> <!-- Hypori Space Forces --> <Starting_Forces> Underworld, Hypori, Underworld_Star_Base_2 </Starting_Forces> <Starting_Forces> Underworld, Hypori, StarViper_Squadron </Starting_Forces> <Starting_Forces> Underworld, Hypori, Crusader_Gunship </Starting_Forces> <Starting_Forces> Underworld, Hypori, Vengeance_Frigate </Starting_Forces> <!-- Hypori Land Forces --> <Starting_Forces> Underworld, Hypori, U_Ground_Barracks </Starting_Forces> <Starting_Forces> Underworld, Hypori, Underworld_Merc_Squad</Starting_Forces> <Starting_Forces> Underworld, Hypori, Destroyer_Droid_Company </Starting_Forces> <!-- Hutts Starting Forces --> <!-- Tatooine Space Forces --> <Starting_Forces> Hutts, Tatooine, Hutt_Asteroid_Base </Starting_Forces> <Starting_Forces> Hutts, Tatooine, Hutt_Marauder </Starting_Forces> <Starting_Forces> Hutts, Tatooine, Hutt_Refurbished_Venator </Starting_Forces> <Starting_Forces> Hutts, Tatooine, Hutt_Refurbished_Venator </Starting_Forces> <Starting_Forces> Hutts, Tatooine, Hutt_Refurbished_Venator </Starting_Forces> <Starting_Forces> Hutts, Tatooine, Hutt_Refurbished_Venator </Starting_Forces> <!-- Tatooine Land Forces --> <Starting_Forces> Hutts, Tatooine, Hutt_Command_Center_Palace </Starting_Forces> <Starting_Forces> Hutts, Tatooine, Hutt_Soldier_Squad </Starting_Forces> <Starting_Forces> Hutts, Tatooine, Hutts_Disruptor_Merc_Squad</Starting_Forces> <Starting_Forces> Hutts, Tatooine, Hutt_Pod_Walker_Team </Starting_Forces> <Starting_Forces> Hutts, Tatooine, Hutt_Pod_Walker_Team</Starting_Forces> <Starting_Forces> Hutts, Tatooine, Trando_Merc_Heavy_Squad</Starting_Forces> <Starting_Forces> Hutts, Tatooine, Hutt_Pod_Walker_Team </Starting_Forces> <!-- Pirate Starting Forces --> <!-- Mandalore Pirate Space Forces --> <Starting_Forces> Pirates, Mandalore, Pirate_Asteroid_Base </Starting_Forces> <Starting_Forces> Pirates, Mandalore, Pirate_Fighter_Squadron </Starting_Forces> <Starting_Forces> Pirates, Mandalore, Pirate_Fighter_Squadron </Starting_Forces> <Starting_Forces> Pirates, Mandalore, IPV1_System_Patrol_Craft </Starting_Forces> <Starting_Forces> Pirates, Mandalore, IPV1_System_Patrol_Craft </Starting_Forces> <Starting_Forces> Pirates, Mandalore, Pirate_Frigate </Starting_Forces> <Starting_Forces> Pirates, Mandalore, Pirate_Frigate </Starting_Forces> <Starting_Forces> Pirates, Mandalore, Pirate_Frigate </Starting_Forces> <!-- Mandalore Pirate Land Forces --> <Starting_Forces> Pirates, Mandalore, Pirate_Command_Center </Starting_Forces> <Starting_Forces> Pirates, Mandalore, Pirate_Soldier_Squad </Starting_Forces> <Starting_Forces> Pirates, Mandalore, Pirate_Soldier_Squad </Starting_Forces> <Starting_Forces> Pirates, Mandalore, Pirate_PLEX_Squad </Starting_Forces> <Starting_Forces> Pirates, Mandalore, Pirate_Swamp_Speeder_Team </Starting_Forces> <Starting_Forces> Pirates, Mandalore, Pirate_Swamp_Speeder_Team </Starting_Forces> <Starting_Forces> Pirates, Mandalore, Pirate_Skiff_Team </Starting_Forces> <Starting_Forces> Pirates, Mandalore, Pirate_Pod_Walker_Team </Starting_Forces> <!-- Ord_Mantell Pirate Space Forces --> <Starting_Forces> Pirates, Ord_Mantell, Pirate_Asteroid_Base </Starting_Forces> <Starting_Forces> Pirates, Ord_Mantell, Pirate_Fighter_Squadron </Starting_Forces> <Starting_Forces> Pirates, Ord_Mantell, Pirate_Fighter_Squadron </Starting_Forces> <Starting_Forces> Pirates, Ord_Mantell, IPV1_System_Patrol_Craft </Starting_Forces> <Starting_Forces> Pirates, Ord_Mantell, IPV1_System_Patrol_Craft </Starting_Forces> <Starting_Forces> Pirates, Ord_Mantell, Pirate_Frigate </Starting_Forces> <Starting_Forces> Pirates, Ord_Mantell, Pirate_Frigate </Starting_Forces> <Starting_Forces> Pirates, Ord_Mantell, Pirate_Frigate </Starting_Forces> <!-- Ord_Mantell Pirate Land Forces --> <Starting_Forces> Pirates, Ord_Mantell, Pirate_Command_Center </Starting_Forces> <Starting_Forces> Pirates, Ord_Mantell, Pirate_Soldier_Squad </Starting_Forces> <Starting_Forces> Pirates, Ord_Mantell, Pirate_Soldier_Squad </Starting_Forces> <Starting_Forces> Pirates, Ord_Mantell, Pirate_PLEX_Squad </Starting_Forces> <Starting_Forces> Pirates, Ord_Mantell, Pirate_Swamp_Speeder_Team </Starting_Forces> <Starting_Forces> Pirates, Ord_Mantell, Pirate_Swamp_Speeder_Team </Starting_Forces> <Starting_Forces> Pirates, Ord_Mantell, Pirate_Skiff_Team </Starting_Forces> <Starting_Forces> Pirates, Ord_Mantell, Pirate_Pod_Walker_Team </Starting_Forces> </Campaign> The program would have to look for <Campaign Name="XXXX"></Campaign> tags to identify the campaign objects. Once a campaign object is selected, then it searches for <Locations></Locations> and <Trade_Routes></Trade_Routes>. These are a list of objects found in Planets.xml and HyperSpaceRoutes.xml (and sometimes can be found in other files. Upon finding its two lists, it will load the GUI and display the planets in their appropriate positions with Trade route lines layed out as defined. It will first need to find the planets, there is only one relevent piece of information in it so I will shorten the code: <Planet Name="Coruscant"> <Galactic_Position>-60.0, 66.0, 10.0</Galactic_Position> </Planet> Trade routes look like this: <TradeRoute Name="Coruscant_Ord_Mantell"> <Point_A>Coruscant</Point_A> <Point_B>Ord_Mantell</Point_B> </TradeRoute> Now that the galaxy is loaded with the planets aligned and trade routes in place, I can now work on placing star bases, fleets, and ground forces where I deem necessary. If you look towards the bottom of the spoiler up top, you should find <Starting_Forces>xxx, xxx, xxx</Starting_Forces>. The format is, Faction, Planet, Unit/Structure. The upon my input, the program will need to write these tags based on what planet I have selected, and what unit I place there. It's not 100% necessary that the program know the faction, it can find that by reading the unit xml. <StarBase Name="Rebel_Star_Base_5"> <Affiliation>Rebel</Affiliation> </StarBase> <Affiliation> Would tell the program what faction to write, and Name="XXX" tells it the unit name, and the planet will be selected. So upon clicking, the program should write this in the campaign object: <Starting_Forces>Rebel, Hoth, Rebel_Star_Base_5> Edit: Heh, I'm surprised how well the [code] reads all that. Could use some adjustment for this skin though... Edit2: <StarBase> won't be the only tag it will need to search for. It will need to search for <GroundCompanies>, <HeroCompanies>, and various other tags for various objects. Link to comment Share on other sites More sharing options...
Anonymouse Posted July 16, 2010 Share Posted July 16, 2010 It says no numbers. Confused mouse is confused. Link to comment Share on other sites More sharing options...
Amauros Posted July 16, 2010 Author Share Posted July 16, 2010 You're no help. Edit: The reason you don't see a lot of numbers is because I cut 99% of the data out of the code. The numbers are irrelevant information for this, we just need to know certain tags and name references (with exception to the planets' locations). Edit2: I'm only asking for what tools would be best for building a program to do this (it'd be a sort of "organizer" but with a gui map layout)... I plan to do all the detail work myself, so don't let your head explode, mouse. ;) Link to comment Share on other sites More sharing options...
Recommended Posts