Jump to content

What Tools Should I Use To Do This?


Amauros
 Share

Recommended Posts

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

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

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

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

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.