View Issue Details

IDProjectCategoryLast Update
0019101AI War 2SuggestionJun 22, 2017 12:40 pm
ReporterBadgerBadger Assigned ToChris_McElligottPark  
Severityminor 
Status resolvedResolutionfixed 
Product Version0.123 Ship Batch 4 of 7, And A Metric Ton of Improvements 
Fixed in Version0.450 Sound! 
Summary0019101: Naming saved games
DescriptionThis is a larger request than just "Can we put in a name for our saved games", where the value is pretty obvious (if only to make it easier for me to remember which saved game to upload for a bug report), since I assume that's going to be done regardless.

One thing I dealt with in AIWC was trying to figure out naming conventions for my saved games. I would traditionally give my campaigns names ("Concentric Spire", "Hard Clustered", "Why would anyone try 10 difficulty"), then include additional information as reminders to myself in the saved game. The campaign name was required because I would sometimes have several campaigns running at once, or maybe I would put a campaign aside if I got stuck and then try to come back to it.

For example, a saved game for me might have been named "Concentric Spire: survive exo wave then hack Murdoch". There's nothing that stops me from following a similar pattern, but I feel like it would be nice if there was a way to encode more information in the saved game itself.

One way of doing this would be to allow the user to name a campaign (a la After Action Reports), then making sure that was displayed next to the saved game.
TagsNo tags attached.

Activities

Dominus Arbitrationis

May 11, 2017 2:41 pm

administrator   ~0046156

Quick clarification request: Do you want to be able to name a game, then give it a description? Basically when you save a game you have two text boxes, one for the title, which appears in the load screen, and another for the description, which appears when you click the save but don't load it or hover over it?

BadgerBadger

May 11, 2017 2:49 pm

manager   ~0046157

I think a "Name" and "Optional Description" fields might work, with the "click on saved game displays optional description" to accompany it. Oh, and a timestamp (both wallclock and in game; having both is useful for people who savescum) to accompany it.

z99-_

May 15, 2017 7:41 pm

reporter   ~0046159

+10000 Support. I often end up ragequitting AIWC (mostly due to my own mistakes) and coming back a few days/weeks later. By that time I've forgotten what I was doing, which has on multiple occasions led me into doing the exact thing that led to the original ragequit. It's a vicious cycle ...

Chris_McElligottPark

Jun 19, 2017 9:07 pm

administrator   ~0046310

BadgerBadger, was this something you had done and put code on the forums for? I think I recall that. Link handy? :)

BadgerBadger

Jun 19, 2017 9:11 pm

manager   ~0046314

https://forums.arcengames.com/private-alpha-discussion/proposed-save-game-update/msg215308/#msg215308

BadgerBadger

Jun 19, 2017 10:39 pm

manager   ~0046322

Technically what I coded isn't exactly a solution to the problem, it's a solution to "Lets give saved games a name". But if Keith gives me an additional text field that can be saved/restored as part of a save game then I can code up something that will make me happy.

BadgerBadger

Jun 19, 2017 11:43 pm

manager   ~0046326

Someone else on the forum suggested also taking a tiny snapshot of the galaxy for a given game that could be incorporated as well.

Chris_McElligottPark

Jun 22, 2017 10:04 am

administrator   ~0046340

As posted on the forums:

I will happily apply this, but I can't get figure out how to do this with WinMerge, and TortoiseSVN does not recognize it as a valid patch file if I try to use it (extension changed or not, it just fails). I can't use TortoiseGit on the folder since it's not versioned with Git.

I need to focus on other things right now in order to make sure this release gets out today. But if someone else is able to google-fu this up, then I'd be grateful. :)

BadgerBadger

Jun 22, 2017 11:57 am

manager   ~0046342

Ah, I uploaded a full git patch but forgot that you can't just apply it since you don't have things in git (and I didn't read your comment carefully). Can you delete it for me?

I'm going to wait till the next release comes out, then just give you full copies of the files I've modified. Then you can just copy those onto your existing files and see what changes have been made. Would that work?

Chris_McElligottPark

Jun 22, 2017 12:15 pm

administrator   ~0046343

If you just upload your existing files for that, then I can do a diff against the files quite easily and cross-apply just the changes I want. I have two separate tools for that sort of thing. No need to wait until the next release if you would rather upload those now. ;)

Chris_McElligottPark

Jun 22, 2017 12:15 pm

administrator   ~0046344

Also if you ever want to make SVN patches, then we can apply those directly, too.

BadgerBadger

Jun 22, 2017 12:21 pm

manager  

Window_SaveGameMenu.cs (5,454 bytes)   
using Arcen.Universal;
using Arcen.AIW2.Core;
using System;
using System.Collections.Generic;
using System.IO;
using UnityEngine;

namespace Arcen.AIW2.External
{
    public class Window_SaveGameMenu : ToggleableWindowController
    {
        public static Window_SaveGameMenu Instance;
        public Window_SaveGameMenu()
        {
            Instance = this;
            this.OnlyShowInGame = true;
            this.ShouldCauseAllOtherWindowsToNotShow = true;
        }

        private bool NeedsUpdate;

        public override void OnOpen()
        {
            this.NeedsUpdate = true;
        }

        public class bClose : ButtonAbstractBase
        {
            public override void GetTextToShow( ArcenDoubleCharacterBuffer Buffer )
            {
                base.GetTextToShow( Buffer );
                Buffer.Add( "Close" );
            }
            public override void HandleClick() { Instance.Close(); }
            public override void HandleMouseover() { }
            public override void OnUpdate() { }
        }

        public class bsSaveGameButtons : ButtonSetAbstractBase
        {
            public override void OnUpdate()
            {
                if ( !Instance.NeedsUpdate )
                    return;
                Instance.NeedsUpdate = false;

                ArcenUI_ButtonSet elementAsType = (ArcenUI_ButtonSet)Element;
                elementAsType.ClearButtons();

                string directoryPath = Engine_Universal.CurrentPlayerDataDirectory + "Save/";
                string[] files = Directory.GetFiles( directoryPath, "*" + Engine_Universal.SaveExtension );

                for ( int i = 0; i < files.Length; i++ )
                {
                    string file = files[i];
                    string saveName = Path.GetFileNameWithoutExtension( file );
                    AddSaveButton( elementAsType, saveName, i );
                }

                string newSaveName = "NewSave_" + ( files.Length + 1 );
                AddSaveButton( elementAsType, newSaveName, files.Length );

                elementAsType.ActuallyPutItemsBackInPoolThatAreStillCleared();
            }

            private static void AddSaveButton( ArcenUI_ButtonSet elementAsType, String saveName, int index )
            {
                bSaveGameButton newButtonController = new bSaveGameButton( saveName );
                Vector2 offset;
                offset.x = 0;
                offset.y = index * elementAsType.ButtonHeight;
                Vector2 size;
                size.x = elementAsType.ButtonWidth;
                size.y = elementAsType.ButtonHeight;
                elementAsType.AddButton( newButtonController, size, offset );
            }
        }

        private class bSaveGameButton : ButtonAbstractBase
        {
            public string SaveName = string.Empty;

            public bSaveGameButton( string Filename )
            {
                this.SaveName = Filename;
            }

            public override void GetTextToShow( ArcenDoubleCharacterBuffer buffer )
            {
                base.GetTextToShow( buffer );
                buffer.Add( SaveName );
            }

            public override void HandleClick()
            {
              //In this new mode, we change the name of the save game in the box,
              //then you have to click the Save Game button to actually do the save
              iSaveGameName.Instance.SaveName = this.SaveName;
            }

            public override void HandleMouseover() { }

            public override void OnUpdate()
            {
            }
        }
      public class iSaveGameName : InputAbstractBase
      {
        public static iSaveGameName Instance;
        public iSaveGameName() { Instance = this; }
        public string SaveName = string.Empty;
        public string CurrentValue = string.Empty;
        public override void HandleChangeInValue( string NewValue )
        {
          this.SaveName = NewValue;
        }
        public override char ValidateInput( string input, int charIndex, char addedChar )
        {
          if ( input.Length >= 13 )
            return '\0';
          if(!Char.IsLetterOrDigit(addedChar) ) //must be alphanumeric
            return '\0';
          return addedChar;
        }
        public override void OnUpdate()
        {
          string s = System.String.Format("onUpdate iSaveGameName: {0}",SaveName);

          ArcenDebugging.ArcenDebugLogSingleLine( s, Verbosity.DoNotShow);
          ArcenUI_Input elementAsType = (ArcenUI_Input)Element;
          elementAsType.SetText(SaveName);
        }
      }
      public class bSaveGameName : ButtonAbstractBase
      {
        public override void GetTextToShow( ArcenDoubleCharacterBuffer Buffer )
        {
          base.GetTextToShow( Buffer );
          Buffer.Add( "Save Game" );
        }
        public override void HandleClick()
        {
          GameCommand command = GameCommand.Create( GameCommandType.SaveGame );
          command.RelatedString = iSaveGameName.Instance.SaveName;
          World_AIW2.Instance.QueueGameCommand( command );
          Window_SaveGameMenu.Instance.Close();
        }
            public override void HandleMouseover() { }
            public override void OnUpdate() { }


      }
    }
}
Window_SaveGameMenu.cs (5,454 bytes)   

BadgerBadger

Jun 22, 2017 12:22 pm

manager  

KDL_UIWindows.xml (20,100 bytes)   
<?xml version="1.0" encoding="utf-8"?>
<root>
  <window name="Window_DebugInfo"
              dll_name="AIWarExternalCode"
              type_name="Arcen.AIW2.External.Window_DebugInfo"
              x="0.0"
              y="10.0"
  >
  	<element prefab_lookup_name="BasicText" x="20.0" y="0.0" width="50" height="50" type_name="tText" />
  </window>
  <window name="Window_PausedInfo"
              dll_name="AIWarExternalCode"
              type_name="Arcen.AIW2.External.Window_PausedInfo"
              x="0.0"
              y="10.0"
  >
  	<element prefab_lookup_name="BasicText" x="40.0" y="20.0" width="20" height="10" type_name="tText" />
  </window>
  <window name="Window_ErrorReportMenu"
              dll_name="AIWarExternalCode"
              type_name="Arcen.AIW2.External.Window_ErrorReportMenu"
              x="0.0"
              y="10.0"
  >
  	<element prefab_lookup_name="BasicText" x="40.0" y="20.0" width="20" height="3" type_name="tText" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="40.0" y="23.0" width="5" height="3" type_name="bOpenLog" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="45.0" y="23.0" width="5" height="3" type_name="bIgnore" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="50.0" y="23.0" width="10" height="3" type_name="bIgnoreAndSuppress" />
  </window>
  <window name="Window_MainMenu"
              dll_name="AIWarExternalCode"
              type_name="Arcen.AIW2.External.Window_MainMenu"
              x="0.0"
              y="0.0"
  >
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="0.0" y="14.0" width="20" height="6" override_image_name="dummyImageName" type_name="bStartGame" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="0.0" y="21.0" width="20" height="6" type_name="bConnectToServer" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="0.0" y="28.0" width="20" height="6" type_name="bLoadGame" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="0.0" y="35.0" width="20" height="6" type_name="bOpenReleaseNotes" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="0.0" y="42.0" width="10" height="6" type_name="bExitApplication" />
  	
  	<!--
  	<element prefab_lookup_name="BasicImageDrawer" x="0.0" y="48.0" width="10" height="6" type_name="bRawImageTest" />
  	-->
  </window>
  <window name="Window_LoadGameMenu"
              dll_name="AIWarExternalCode"
              type_name="Arcen.AIW2.External.Window_LoadGameMenu"
              x="0.0"
              y="0.0"
  >
  	<element prefab_lookup_name="ButtonSet_BlueSmallerCenter" x="0.0" y="0.0" width="1" height="1" button_width="16" button_height="3" type_name="bsLoadGameButtons" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="17.0" y="0.0" width="20" height="6" type_name="bClose" />
  </window>
  
  <window name="Window_SaveGameMenu"
              dll_name="AIWarExternalCode"
              type_name="Arcen.AIW2.External.Window_SaveGameMenu"
              x="0.0"
              y="0.0"
              >
    <element prefab_lookup_name="BasicTextbox" x="0.0" y="3.0" width="15" height="4" type_name="iSaveGameName" />
    <element prefab_lookup_name="ButtonBlueSmallerCenter" x="16.0" y="3.0" width="12" height="4" type_name="bSaveGameName" />
    
    <element prefab_lookup_name="ButtonSet_BlueSmallerCenter" x="0.0" y="10.0" width="16" height="12" button_width="16" button_height="3" type_name="bsSaveGameButtons" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="28.0" y="3.0" width="12" height="4" type_name="bClose" />
  </window>
  
  <window name="Window_GameSetup"
              dll_name="AIWarExternalCode"
              type_name="Arcen.AIW2.External.Window_GameSetup"
              x="0.0"
              y="10.0"
  >
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="0.0" y="0.0" width="10" height="3" type_name="bStartGame" />
  	<element prefab_lookup_name="BasicTextbox" x="0.0" y="3.0" width="15" height="6" type_name="iSeed" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="15.0" y="3.0" width="9" height="3" type_name="bUseSeed" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="15.0" y="6.0" width="9" height="3" type_name="bRandomSeed" />
  	<element prefab_lookup_name="BasicDropdown" x="0.0" y="9.0" width="18" height="6" type_name="dMapType" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="0.0" y="15.0" width="10" height="3" type_name="bQuitGame" />
  </window>
  <window name="Window_InGameBottomMenu"
              dll_name="AIWarExternalCode"
              type_name="Arcen.AIW2.External.Window_InGameBottomMenu"
              x="0.0"
              y="0.0"
  >
  	<element prefab_lookup_name="ButtonSet_BlueSmallerCenter" x="0.0" y="0.0" width="1" height="1" y_align="Bottom" button_width="10" button_height="3" type_name="bsControlGroupRow" />
  </window>
  <window name="Window_InGameCommandsMenu"
              dll_name="AIWarExternalCode"
              type_name="Arcen.AIW2.External.Window_InGameCommandsMenu"
              x="0.0"
              y="3.0"
  >
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="0.0" y="0.0" width="10" height="3" y_align="Bottom" type_name="bToggleFRD" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="10.0" y="0.0" width="10" height="3" y_align="Bottom" type_name="bScrap" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="20.0" y="0.0" width="10" height="3" y_align="Bottom" type_name="bToggleBuildMenu" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="30.0" y="0.0" width="10" height="3" y_align="Bottom" type_name="bToggleHackingMenu" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="40.0" y="0.0" width="10" height="3" y_align="Bottom" type_name="bToggleWarheadMenu" />
  </window>  
  <window name="Window_InGameMasterMenu"
              dll_name="AIWarExternalCode"
              type_name="Arcen.AIW2.External.Window_InGameMasterMenu"
              x="0.0"
              y="3.0"
  >
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="0.0" y="0.0" width="10" height="3" y_align="Bottom" type_name="bToggleEscapeMenu" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="10.0" y="0.0" width="10" height="3" y_align="Bottom" type_name="bToggleDebugMenu" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="20.0" y="0.0" width="10" height="3" y_align="Bottom" type_name="bToggleTimingMenu" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="30.0" y="0.0" width="10" height="3" y_align="Bottom" type_name="bToggleTechMenu" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="40.0" y="0.0" width="10" height="3" y_align="Bottom" type_name="bTogglePlanetMenu" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="50.0" y="0.0" width="10" height="3" y_align="Bottom" type_name="bToggleObjectivesMenu" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="60.0" y="0.0" width="10" height="3" y_align="Bottom" type_name="bToggleControlGroupsMenu" />
  </window>  
  <window name="Window_InGameEscapeMenu"
              dll_name="AIWarExternalCode"
              type_name="Arcen.AIW2.External.Window_InGameEscapeMenu"
              x="0.0"
              y="6.0"
  >
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="0.0" y="0.0" width="10" height="3" y_align="Bottom" type_name="bSaveGame" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="10.0" y="0.0" width="10" height="3" y_align="Bottom" type_name="bExitGame" />
  </window>
  <window name="Window_InGameDeveloperToolsMenu"
              dll_name="AIWarExternalCode"
              type_name="Arcen.AIW2.External.Window_InGameDeveloperToolsMenu"
              x="0.0"
              y="6.0"
  >
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="0.0" y="0.0" width="10" height="3" y_align="Bottom" type_name="bRevealAll" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="10.0" y="0.0" width="10" height="3" y_align="Bottom" type_name="bGiveMetal" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="20.0" y="0.0" width="10" height="3" y_align="Bottom" type_name="bGiveScience" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="30.0" y="0.0" width="10" height="3" y_align="Bottom" type_name="bGiveHacking" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="40.0" y="0.0" width="10" height="3" y_align="Bottom" type_name="bIncreaseAIP" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="50.0" y="0.0" width="10" height="3" y_align="Bottom" type_name="bSpawnWave" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="60.0" y="0.0" width="10" height="3" y_align="Bottom" type_name="bToggleTracingMenu" />
  	<!--
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="10.0" y="0.0" width="10" height="3" y_align="Bottom" type_name="bAdd" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="10.0" y="0.0" width="10" height="3" y_align="Bottom" type_name="bSubtract" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="10.0" y="0.0" width="10" height="3" y_align="Bottom" type_name="bIncreaseScale" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="10.0" y="0.0" width="10" height="3" y_align="Bottom" type_name="bDecreaseScale" />
  	-->
  </window>
  <window name="Window_InGameTracingMenu"
              dll_name="AIWarExternalCode"
              type_name="Arcen.AIW2.External.Window_InGameTracingMenu"
              x="0.0"
              y="9.0"
  >
  	<element prefab_lookup_name="ButtonSet_BlueSmallerCenter" x="0.0" y="0.0" width="1" height="1" y_align="Bottom" button_width="10" button_height="6" type_name="bsMenuSelectionRow" />
  </window>
  <window name="Window_InGameTimingMenu"
              dll_name="AIWarExternalCode"
              type_name="Arcen.AIW2.External.Window_InGameTimingMenu"
              x="0.0"
              y="6.0"
  >  
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="0.0" y="0.0" width="10" height="3" y_align="Bottom" type_name="bDecreaseFrameSize" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="10.0" y="0.0" width="10" height="3" y_align="Bottom" type_name="bIncreaseFrameSize" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="20.0" y="0.0" width="10" height="3" y_align="Bottom" type_name="bDecreaseFrameFrequency" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="30.0" y="0.0" width="10" height="3" y_align="Bottom" type_name="bIncreaseFrameFrequency" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="40.0" y="0.0" width="10" height="3" y_align="Bottom" type_name="bTogglePause" />
  </window>
  <window name="Window_InGamePlanetActionMenu"
              dll_name="AIWarExternalCode"
              type_name="Arcen.AIW2.External.Window_InGamePlanetActionMenu"
              x="0.0"
              y="6.0"
  >
  	<element prefab_lookup_name="ButtonSet_BlueSmallerCenter" x="0.0" y="0.0" width="1" height="1" y_align="Bottom" button_width="10" button_height="6" type_name="bsItems" />
  </window>
  <window name="Window_InGameObjectivesWindow"
              dll_name="AIWarExternalCode"
              type_name="Arcen.AIW2.External.Window_InGameObjectivesWindow"
              x="0.0"
              y="6.0"
  >
  	<element prefab_lookup_name="ButtonSet_BlueSmallerCenter" x="0.0" y="0.0" width="1" height="1" y_align="Bottom" button_width="50" button_height="3" type_name="bsObjectives" />
  </window>
  <window name="Window_InGameControlGroupsMenu"
              dll_name="AIWarExternalCode"
              type_name="Arcen.AIW2.External.Window_InGameControlGroupsMenu"
              x="0.0"
              y="6.0"
  >
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="0.0" y="0.0" width="10" height="3" y_align="Bottom" type_name="bToggleStandardGroupsMenu" />
  	<element prefab_lookup_name="ButtonSet_BlueSmallerCenter" x="10.0" y="0.0" width="1" height="1" y_align="Bottom" button_width="10" button_height="3" type_name="bsControlGroups" />	
  </window>
  <window name="Window_InGameStandardGroupsMenu"
              dll_name="AIWarExternalCode"
              type_name="Arcen.AIW2.External.Window_InGameStandardGroupsMenu"
              x="0.0"
              y="9.0"
  >
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="0.0" y="0.0" width="10" height="6" y_align="Bottom" type_name="bSelectAllMobileMilitary" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="10.0" y="0.0" width="10" height="6" y_align="Bottom" type_name="bSelectController" />
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="20.0" y="0.0" width="10" height="6" y_align="Bottom" type_name="bSelectSpaceDock" />
  </window>
  <window name="Window_InGameBuildMenu"
              dll_name="AIWarExternalCode"
              type_name="Arcen.AIW2.External.Window_InGameBuildMenu"
              x="0.0"
              y="6.0"
  >
  	<element prefab_lookup_name="ButtonSet_BlueSmallerCenter" x="0.0" y="9.0" width="1" height="1" y_align="Bottom" button_width="10" button_height="6" type_name="bsMenuGrid" />
  	<element prefab_lookup_name="ButtonSet_BlueSmallerCenter" x="0.0" y="6.0" width="1" height="1" y_align="Bottom" button_width="10" button_height="3" type_name="bsMenuSelectionRow" />
  	<element prefab_lookup_name="ButtonSet_BlueSmallerCenter" x="0.0" y="0.0" width="1" height="1" y_align="Bottom" button_width="10" button_height="6" type_name="bsQueueItemRow" />
  </window>
  <window name="Window_InGameHackingMenu"
              dll_name="AIWarExternalCode"
              type_name="Arcen.AIW2.External.Window_InGameHackingMenu"
              x="0.0"
              y="6.0"
  >
  	<element prefab_lookup_name="ButtonSet_BlueSmallerCenter" x="0.0" y="0.0" width="1" height="1" y_align="Bottom" button_width="10" button_height="6" type_name="bsItems" />
  </window>
  <window name="Window_InGameWarheadMenu"
              dll_name="AIWarExternalCode"
              type_name="Arcen.AIW2.External.Window_InGameWarheadMenu"
              x="0.0"
              y="6.0"
  >
  	<element prefab_lookup_name="ButtonSet_BlueSmallerCenter" x="0.0" y="0.0" width="1" height="1" y_align="Bottom" button_width="10" button_height="6" type_name="bsItems" />
  </window>
  <window name="Window_InGameTechMenu"
              dll_name="AIWarExternalCode"
              type_name="Arcen.AIW2.External.Window_InGameTechMenu"
              x="0.0"
              y="6.0"
  >
  	<element prefab_lookup_name="ButtonSet_BlueSmallerCenter" x="0.0" y="3.0" width="1" height="1" y_align="Bottom" button_width="10" button_height="6" type_name="bsMenuGrid" />
  	<element prefab_lookup_name="ButtonSet_BlueSmallerCenter" x="0.0" y="0.0" width="1" height="1" y_align="Bottom" button_width="10" button_height="3" type_name="bsMenuSelectionRow" />
  </window>
  <window name="Window_InGameOutlineSidebar"
              dll_name="AIWarExternalCode"
              type_name="Arcen.AIW2.External.Window_InGameOutlineSidebar"
              x="0.0"
              y="0.0"
  >
  	<element prefab_lookup_name="ImageButtonSet_SidebarIcons" x="2.0" y="14.0" width="20" height="60" button_width="6" button_height="6"  x_align="Left" y_align="Top" type_name="bsOutlineItems" />
  </window>
  <window name="Window_GUIToggling"
              dll_name="AIWarExternalCode"
              type_name="Arcen.AIW2.External.Window_GUIToggling"
              x="0.0"
              y="0.0"
  >
  	<element prefab_lookup_name="ButtonBlueSmallerCenter" x="0.0" y="0.0" width="10" height="3" x_align="Right" type_name="bToggleGUI" />
  	<element prefab_lookup_name="BasicText" x="0.0" y="3.0" width="10" height="3" x_align="Right" type_name="tVersion" />
  </window>
  <window name="Window_InGameTopRightInfo"
              dll_name="AIWarExternalCode"
              type_name="Arcen.AIW2.External.Window_InGameTopRightInfo"
              x="0.0"
              y="10.0"
  >
  	<element prefab_lookup_name="BasicText" x="0.0" y="0.0" width="20" height="4" x_align="Right" type_name="tText" />
  </window>
  <window name="Window_InGameBottomLeftInfo"
              dll_name="AIWarExternalCode"
              type_name="Arcen.AIW2.External.Window_InGameBottomLeftInfo"
              x="0.0"
              y="2.0"
  >
  	<element prefab_lookup_name="BasicText" x="0.0" y="0.0" width="60" height="20" y_align="Bottom" type_name="tText" />
  </window>
  <window name="Window_InGameBottomRightInfo"
              dll_name="AIWarExternalCode"
              type_name="Arcen.AIW2.External.Window_InGameBottomRightInfo"
              x="0.0"
              y="2.0"
  >
  	<element prefab_lookup_name="BasicText" x="0.0" y="0.0" width="40" height="4" x_align="Right" y_align="Bottom" type_name="tText" />
  </window>
  <window name="Window_ResourceBar"
              dll_name="AIWarExternalCode"
              type_name="Arcen.AIW2.External.Window_ResourceBar"
              x="0.0"
              y="0.0"
  >
  	<element prefab_lookup_name="BasicText" x="0.0" y="0.0" width="10" height="4" font_size="13" type_name="tTime" />
  	<element prefab_lookup_name="BasicText" x="10.0" y="0.0" width="10" height="4" font_size="13" type_name="tMetal" />
  	<element prefab_lookup_name="BasicText" x="20.0" y="0.0" width="10" height="4" font_size="13" type_name="tFuel" />
  	<element prefab_lookup_name="BasicText" x="30.0" y="0.0" width="10" height="4" font_size="13" type_name="tPower" />
  	<element prefab_lookup_name="BasicText" x="40.0" y="0.0" width="10" height="4" font_size="13" type_name="tScience" />
  	<element prefab_lookup_name="BasicText" x="50.0" y="0.0" width="10" height="4" font_size="13" type_name="tHacking" />
  	<element prefab_lookup_name="BasicText" x="60.0" y="0.0" width="10" height="4" font_size="13" type_name="tAIProgress" />
  	<element prefab_lookup_name="BasicText" x="70.0" y="0.0" width="10" height="4" font_size="13" type_name="tThreat" />
  	<element prefab_lookup_name="BasicText" x="80.0" y="0.0" width="10" height="4" font_size="13" type_name="tAttack" />
  	
  	<element prefab_lookup_name="BasicText" x="0.0" y="4.0" width="30" height="4" type_name="tWavePrediction" />
  	<element prefab_lookup_name="BasicText" x="0.0" y="8.0" width="30" height="4" type_name="tCPAPrediction" />
  	
  	<!--
  	<element prefab_lookup_name="BasicText" x="50.0" y="0.0" width="10" height="4" type_name="tAIProgress" />
  	<element prefab_lookup_name="BasicText" x="60.0" y="0.0" width="10" height="4" type_name="tAIProgress" />
  	<element prefab_lookup_name="BasicText" x="70.0" y="0.0" width="10" height="4" type_name="tAIProgress" />
  	<element prefab_lookup_name="BasicText" x="80.0" y="0.0" width="10" height="4" type_name="tAIProgress" />
  	<element prefab_lookup_name="BasicText" x="90.0" y="0.0" width="10" height="4" type_name="tAIProgress" />
  	<element prefab_lookup_name="BasicText" x="0.0" y="10.0" width="10" height="10" type_name="tTime" />
  	<element prefab_lookup_name="BasicText" x="0.0" y="20.0" width="10" height="10" type_name="tTime" />
  	<element prefab_lookup_name="BasicText" x="0.0" y="30.0" width="10" height="10" type_name="tTime" />
  	<element prefab_lookup_name="BasicText" x="0.0" y="40.0" width="10" height="10" type_name="tTime" />
  	<element prefab_lookup_name="BasicText" x="0.0" y="50.0" width="10" height="10" type_name="tTime" />
  	<element prefab_lookup_name="BasicText" x="0.0" y="60.0" width="10" height="10" type_name="tTime" />
  	<element prefab_lookup_name="BasicText" x="0.0" y="70.0" width="10" height="10" type_name="tTime" />
  	<element prefab_lookup_name="BasicText" x="0.0" y="80.0" width="10" height="10" type_name="tTime" />
  	<element prefab_lookup_name="BasicText" x="0.0" y="90.0" width="10" height="10" type_name="tTime" />
  	-->
  </window>  
</root>
KDL_UIWindows.xml (20,100 bytes)   

BadgerBadger

Jun 22, 2017 12:23 pm

manager   ~0046345

Uploaded. I think tortoiseSVN can take a diff in "unified diff format", so I might try generating those later anyway. Or maybe I'll just start uploading the files as you suggest.

Chris_McElligottPark

Jun 22, 2017 12:40 pm

administrator   ~0046346

Thank you! This is fantastic stuff. :D

Issue History

Date Modified Username Field Change
May 10, 2017 3:41 pm BadgerBadger New Issue
May 11, 2017 2:41 pm Dominus Arbitrationis Note Added: 0046156
May 11, 2017 2:49 pm BadgerBadger Note Added: 0046157
May 15, 2017 7:41 pm z99-_ Note Added: 0046159
Jun 19, 2017 9:07 pm Chris_McElligottPark Note Added: 0046310
Jun 19, 2017 9:07 pm Chris_McElligottPark Assigned To => keith.lamothe
Jun 19, 2017 9:07 pm Chris_McElligottPark Status new => feedback
Jun 19, 2017 9:11 pm BadgerBadger Note Added: 0046314
Jun 19, 2017 9:11 pm BadgerBadger Status feedback => assigned
Jun 19, 2017 10:39 pm BadgerBadger Note Added: 0046322
Jun 19, 2017 11:43 pm BadgerBadger Note Added: 0046326
Jun 22, 2017 10:04 am Chris_McElligottPark Note Added: 0046340
Jun 22, 2017 11:51 am BadgerBadger File Added: 0001-Redo-Save-Game-Menu.patch
Jun 22, 2017 11:57 am BadgerBadger Note Added: 0046342
Jun 22, 2017 12:15 pm Chris_McElligottPark Note Added: 0046343
Jun 22, 2017 12:15 pm Chris_McElligottPark File Deleted: 0001-Redo-Save-Game-Menu.patch
Jun 22, 2017 12:15 pm Chris_McElligottPark Note Added: 0046344
Jun 22, 2017 12:21 pm BadgerBadger File Added: Window_SaveGameMenu.cs
Jun 22, 2017 12:22 pm BadgerBadger File Added: KDL_UIWindows.xml
Jun 22, 2017 12:23 pm BadgerBadger Note Added: 0046345
Jun 22, 2017 12:40 pm Chris_McElligottPark Note Added: 0046346
Jun 22, 2017 12:40 pm Chris_McElligottPark Status assigned => resolved
Jun 22, 2017 12:40 pm Chris_McElligottPark Fixed in Version => 0.450 Sound!
Jun 22, 2017 12:40 pm Chris_McElligottPark Resolution open => fixed
Jun 22, 2017 12:40 pm Chris_McElligottPark Assigned To keith.lamothe => Chris_McElligottPark