@@ -2920,6 +2920,7 @@ type PalInfo struct {
29202920
29212921type CharGlobalInfo struct {
29222922 def string
2923+ name string
29232924 nameLow string
29242925 displayname string
29252926 defaultDisplayname string
@@ -3484,9 +3485,8 @@ func (c *Char) applyMapOverrides() {
34843485 }
34853486}
34863487
3487- // Restore defaults for values that ModifyPlayer can mutate and that would
3488- // otherwise leak when a cached root is reused as a fresh entrant.
3489- func (c * Char ) resetCachedPlayerState () {
3488+ // Some of these are overridden later anyway, but we'll reset them just in case
3489+ func (c * Char ) resetModifyPlayer () {
34903490 gi := c .gi ()
34913491 gi .displayname = gi .defaultDisplayname
34923492 gi .lifebarname = gi .defaultLifebarname
@@ -3496,6 +3496,7 @@ func (c *Char) resetCachedPlayerState() {
34963496 c .powerMax = gi .data .power
34973497 c .dizzyPointsMax = gi .data .dizzypoints
34983498 c .guardPointsMax = gi .data .guardpoints
3499+ // c.teamside already assigned by loadCharacter()
34993500}
35003501
35013502func (c * Char ) load (def string ) error {
@@ -3509,6 +3510,7 @@ func (c *Char) load(def string) error {
35093510 gi .animTable = NewAnimationTable ()
35103511 gi .fnt = make (map [int ]* Fnt )
35113512 gi .portraitscale = 1
3513+ gi .customShaders = nil
35123514
35133515 for i := 0 ; i < sys .cfg .Config .PaletteMax ; i ++ {
35143516 pal := gi .palInfo [i ]
@@ -3597,18 +3599,21 @@ func (c *Char) load(def string) error {
35973599 }
35983600 info = false
35993601
3600- c .name , _ , _ = is .getText ("name" )
3602+ gi .name , _ , _ = is .getText ("name" )
3603+ c .name = gi .name
36013604 var ok bool
36023605 if gi .displayname , ok , _ = is .getText ("displayname" ); ! ok {
3603- gi .displayname = c .name
3606+ gi .displayname = gi .name
36043607 }
36053608 if gi .lifebarname , ok , _ = is .getText ("lifebarname" ); ! ok {
36063609 gi .lifebarname = gi .displayname
36073610 }
3611+ gi .author , _ , _ = is .getText ("author" )
3612+ // Save default values to be restored later
36083613 gi .defaultDisplayname = gi .displayname
36093614 gi .defaultLifebarname = gi .lifebarname
3610- gi . author , _ , _ = is . getText ( "author" )
3611- gi .nameLow = strings .ToLower (c .name )
3615+ // Save lower case variants. These are just to avoid needing strings.ToLower() all over the code
3616+ gi .nameLow = strings .ToLower (gi .name )
36123617 gi .displaynameLow = strings .ToLower (gi .displayname )
36133618 gi .authorLow = strings .ToLower (gi .author )
36143619 // In Mugen localcoord is clamped to 1. But that's already unplayable anyway so such a safeguard is useless
0 commit comments