Skip to content

Commit 65676ef

Browse files
Merge pull request #665 from TheTrackerCouncil/ap-fixes
AP fixes
2 parents fef2da2 + 079c9f8 commit 65676ef

File tree

3 files changed

+17
-6
lines changed

3 files changed

+17
-6
lines changed

src/TrackerCouncil.Smz3.SeedGenerator/FileData/Patches/LocationsPatch.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,14 @@ private static ParsedRomLocationDetails GetParsedLocationDetails(byte[] rom, Loc
177177
var itemNumber = BitConverter.ToInt16(bytes, 2);
178178
var ownerPlayerId = BitConverter.ToInt16(bytes, 4);
179179
var archipelagoFlags = BitConverter.ToInt16(bytes, 6);
180-
playerName = playerNames[ownerPlayerId];
180+
if (ownerPlayerId < playerNames.Count)
181+
{
182+
playerName = playerNames[ownerPlayerId];
183+
}
184+
else
185+
{
186+
playerName = $"Player {ownerPlayerId}";
187+
}
181188
isProgression = archipelagoFlags > 0;
182189

183190
if (!isLocal)

src/TrackerCouncil.Smz3.SeedGenerator/FileData/Patches/MetadataPatch.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,15 +53,16 @@ public static string GetGameTitle(byte[] rom)
5353
public static List<string> GetPlayerNames(byte[] rom)
5454
{
5555
var toReturn = new List<string>();
56-
for (var i = 0; i < 128; i++)
56+
for (var i = 0; i < 256; i++)
5757
{
5858
var nameBytes = rom.Skip(s_addrPlayerNames + i * 16).Take(16).ToArray();
59-
var name = Encoding.ASCII.GetString(nameBytes);
60-
if (name == "123456789012\0\0\0\0")
59+
var name = Encoding.ASCII.GetString(nameBytes).Replace("\0", string.Empty).Trim();
60+
if (name == "123456789012" || string.IsNullOrEmpty(name))
6161
{
6262
break;
6363
}
64-
toReturn.Add(name.Replace("\0", string.Empty).Trim());
64+
65+
toReturn.Add(name);
6566
}
6667

6768
return toReturn;

src/TrackerCouncil.Smz3.UI/Services/SoloRomListService.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
using System;
12
using System.IO;
23
using System.Linq;
34
using System.Threading.Tasks;
@@ -165,8 +166,10 @@ public async Task LaunchTracker(GeneratedRomViewModel rom)
165166

166167
public async Task<bool> OpenArchipelagoModeAsync()
167168
{
169+
170+
var userFolder = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
168171
var storageItem = await CrossPlatformTools.OpenFileDialogAsync(ParentWindow, FileInputControlType.OpenFile,
169-
"Rom file (*.sfc)|*.sfc|All files (*.*)|*.*", "/home/matt/Games/Randomizers/Archipelago");
172+
"Rom file (*.sfc)|*.sfc|All files (*.*)|*.*", userFolder);
170173

171174
var pathString = storageItem?.TryGetLocalPath();
172175

0 commit comments

Comments
 (0)