misc tweaks

reduce allocation lol
This commit is contained in:
Kurt 2025-02-23 11:19:50 -06:00
parent 7279af79b2
commit acfdd9bab3
2 changed files with 11 additions and 7 deletions

View File

@ -45,7 +45,9 @@ private static void CoerceStadium2Language(SK2 sk2, SaveFile sav)
if (la.Valid)
return;
var lang = SpeciesName.GetSpeciesNameLanguage(sk2.Species, sk2.Nickname, 2);
Span<char> nickname = stackalloc char[sk2.MaxStringLengthNickname];
int len = sk2.LoadString(sk2.NicknameTrash, nickname);
var lang = SpeciesName.GetSpeciesNameLanguage(sk2.Species, nickname[..len], 2);
if (lang >= 1 && (lang == 1 != sk2.Japanese)) // force match language
sk2.SwapLanguage();
else if (sk2.Japanese != (sav.Language == 1)) // force match save file

View File

@ -1,3 +1,4 @@
using System;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
@ -24,18 +25,19 @@ private void InitializeButtons()
var pairs = Overworld.GetFlagPairs().OrderBy(z => z.Name);
foreach (var pair in pairs)
{
var split = pair.Name.Split('_');
var specName = split[0][G1OverworldSpawner.FlagPropertyPrefix.Length..];
var name = pair.Name.AsSpan(G1OverworldSpawner.FlagPropertyPrefix.Length);
var index = name.IndexOf('_');
var specName = index == -1 ? name : name[..index];
// convert species name to current localization language
SpeciesName.TryGetSpecies(specName, (int)LanguageID.English, out var species);
var pkmname = GameInfo.Strings.specieslist[species];
var localized = GameInfo.Strings.specieslist[species];
if (index != -1) // assume there is a suffix after the underscore; throw exception when not
localized += $" {name[(index + 1)..]}";
if (split.Length != 1)
pkmname += $" {split[1]}";
var b = new Button
{
Text = pkmname, Enabled = pair.IsHidden,
Text = localized, Enabled = pair.IsHidden,
Size = new Size((Width / 2) - 25, 22),
};
b.Click += (_, _) =>