Jump to navigation Jump to search
A list of requested changes in the game code to support modders. This list does not include complex refactoring or rewriting, which is unlikely to be accepted.
- ☐ Change all remaining
public classto simplify mod access.
- ☐ Change the logic in IslandLocation.DrawParallaxHorizon to support custom sunset times that aren't on the hour. Specifically:
// before float day_night_transition = Utility.ConvertTimeToMinutes(Game1.timeOfDay + (int)((float)Game1.gameTimeInterval / 7000f * 10f % 10f) - Game1.getStartingToGetDarkTime()) / (float)Utility.ConvertTimeToMinutes(Game1.getTrulyDarkTime() - Game1.getStartingToGetDarkTime()); // after float day_night_transition = Utility.CalculateMinutesBetweenTimes(Game1.getStartingToGetDarkTime(), (Game1.timeOfDay + (int)(Game1.gameTimeInterval / 7000f * 10f % 10f))) / (float)Utility.CalculateMinutesBetweenTimes(Game1.getStartingToGetDarkTime(), Game1.getTrulyDarkTime());
- ☐ Make methods virtual:
class methods Background draw, update
- ☐ Add map property for default warp location (e.g. Utility.getDefaultWarpLocation).
- ☐ Some XNB files have a separate display name field, but only in non-English. Using display names consistently regardless of language would let mods rename things without breaking keys:
- ☐ Data\Bundles
- ☐ Remove hardcoded logic that ignores display names when playing in English (e.g. for NPC gift taste dialogues); can search
LocalizedContentManager.LanguageCode.ento find many of them. That causes a bug where renamed NPCs still show their internal name in some places.
- ☐ Change all
static readonly. They're accessed the same way and the performance difference is negligible, but that'll make the decompiled code much easier to understand, and avoid issues where const values get 'baked in' to mod assemblies.