mirror of
				https://github.com/coop-deluxe/sm64coopdx.git
				synced 2025-10-30 08:01:01 +00:00 
			
		
		
		
	Update Character Select
This commit is contained in:
		
							parent
							
								
									af8dc6995d
								
							
						
					
					
						commit
						a084e5c62e
					
				
					 3 changed files with 58 additions and 44 deletions
				
			
		| 
						 | 
				
			
			@ -4,7 +4,7 @@ if VERSION_NUMBER < 37 then
 | 
			
		|||
    return 0
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
MOD_VERSION = "1.9.1"
 | 
			
		||||
MOD_VERSION = "1.9.2"
 | 
			
		||||
 | 
			
		||||
ommActive = false
 | 
			
		||||
for i in pairs(gActiveMods) do
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -511,6 +511,17 @@ local sCapBhvs = {
 | 
			
		|||
 | 
			
		||||
--- @param o Object
 | 
			
		||||
--- @param model integer
 | 
			
		||||
local BowserKey = false
 | 
			
		||||
local function on_star_or_key_grab(m, o, type)
 | 
			
		||||
    if type == INTERACT_STAR_OR_KEY then
 | 
			
		||||
        if get_id_from_behavior(o.behavior) == id_bhvBowserKey then
 | 
			
		||||
            BowserKey = true
 | 
			
		||||
        else
 | 
			
		||||
            BowserKey = false
 | 
			
		||||
        end
 | 
			
		||||
    end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
function set_model(o, model)
 | 
			
		||||
    if optionTable[optionTableRef.localModels].toggle == 0 then return end
 | 
			
		||||
    if obj_has_behavior_id(o, id_bhvMario) ~= 0 then
 | 
			
		||||
| 
						 | 
				
			
			@ -523,7 +534,7 @@ function set_model(o, model)
 | 
			
		|||
    if obj_has_behavior_id(o, id_bhvCelebrationStar) ~= 0 and o.parentObj ~= nil then
 | 
			
		||||
        local i = network_local_index_from_global(o.parentObj.globalPlayerIndex)
 | 
			
		||||
        local starModel = characterCelebrationStar[gPlayerSyncTable[i].modelId]
 | 
			
		||||
        if gPlayerSyncTable[i].modelId ~= nil and starModel ~= nil and obj_has_model_extended(o, starModel) == 0 then
 | 
			
		||||
        if gPlayerSyncTable[i].modelId ~= nil and starModel ~= nil and obj_has_model_extended(o, starModel) == 0 and not BowserKey then
 | 
			
		||||
            obj_set_model_extended(o, starModel)
 | 
			
		||||
        end
 | 
			
		||||
        return
 | 
			
		||||
| 
						 | 
				
			
			@ -559,6 +570,7 @@ function set_model(o, model)
 | 
			
		|||
end
 | 
			
		||||
 | 
			
		||||
hook_event(HOOK_MARIO_UPDATE, mario_update)
 | 
			
		||||
hook_event(HOOK_ON_INTERACT, on_star_or_key_grab)
 | 
			
		||||
hook_event(HOOK_OBJECT_SET_MODEL, set_model)
 | 
			
		||||
 | 
			
		||||
------------------
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,55 +3,57 @@ if incompatibleClient then return 0 end
 | 
			
		|||
 | 
			
		||||
characterColorPresets = {
 | 
			
		||||
    [E_MODEL_MARIO] = {
 | 
			
		||||
        [PANTS]  = {r = 0x00, g = 0x00, b = 0xff},
 | 
			
		||||
        [SHIRT]  = {r = 0xff, g = 0x00, b = 0x00},
 | 
			
		||||
        [GLOVES] = {r = 0xff, g = 0xff, b = 0xff},
 | 
			
		||||
        [SHOES]  = {r = 0x72, g = 0x1c, b = 0x0e},
 | 
			
		||||
        [HAIR]   = {r = 0x73, g = 0x06, b = 0x00},
 | 
			
		||||
        [SKIN]   = {r = 0xfe, g = 0xc1, b = 0x79},
 | 
			
		||||
        [CAP]    = {r = 0xff, g = 0x00, b = 0x00},
 | 
			
		||||
        [EMBLEM] = {r = 0xff, g = 0x00, b = 0x00},
 | 
			
		||||
        [PANTS]  = { r = 0x00, g = 0x00, b = 0xff },
 | 
			
		||||
        [SHIRT]  = { r = 0xff, g = 0x00, b = 0x00 },
 | 
			
		||||
        [GLOVES] = { r = 0xff, g = 0xff, b = 0xff },
 | 
			
		||||
        [SHOES]  = { r = 0x72, g = 0x1c, b = 0x0e },
 | 
			
		||||
        [HAIR]   = { r = 0x73, g = 0x06, b = 0x00 },
 | 
			
		||||
        [SKIN]   = { r = 0xfe, g = 0xc1, b = 0x79 },
 | 
			
		||||
        [CAP]    = { r = 0xff, g = 0x00, b = 0x00 },
 | 
			
		||||
        [EMBLEM] = { r = 0xff, g = 0x00, b = 0x00 },
 | 
			
		||||
    },
 | 
			
		||||
    [E_MODEL_LUIGI] = {
 | 
			
		||||
        [PANTS]  = {r = 0x00, g = 0x00, b = 0xff},
 | 
			
		||||
        [SHIRT]  = {r = 0x00, g = 0xff, b = 0x00},
 | 
			
		||||
        [GLOVES] = {r = 0xff, g = 0xff, b = 0xff},
 | 
			
		||||
        [SHOES]  = {r = 0x72, g = 0x1c, b = 0x0e},
 | 
			
		||||
        [HAIR]   = {r = 0x73, g = 0x06, b = 0x00},
 | 
			
		||||
        [SKIN]   = {r = 0xfe, g = 0xc1, b = 0x79},
 | 
			
		||||
        [CAP]    = {r = 0x00, g = 0xff, b = 0x00},
 | 
			
		||||
        [EMBLEM] = {r = 0x00, g = 0xff, b = 0x00},
 | 
			
		||||
        [PANTS]  = { r = 0x00, g = 0x00, b = 0xff },
 | 
			
		||||
        [SHIRT]  = { r = 0x00, g = 0xff, b = 0x00 },
 | 
			
		||||
        [GLOVES] = { r = 0xff, g = 0xff, b = 0xff },
 | 
			
		||||
        [SHOES]  = { r = 0x72, g = 0x1c, b = 0x0e },
 | 
			
		||||
        [HAIR]   = { r = 0x73, g = 0x06, b = 0x00 },
 | 
			
		||||
        [SKIN]   = { r = 0xfe, g = 0xc1, b = 0x79 },
 | 
			
		||||
        [CAP]    = { r = 0x00, g = 0xff, b = 0x00 },
 | 
			
		||||
        [EMBLEM] = { r = 0x00, g = 0xff, b = 0x00 },
 | 
			
		||||
    },
 | 
			
		||||
    [E_MODEL_TOAD_PLAYER] = {
 | 
			
		||||
        [PANTS]  = {r = 0xff, g = 0xff, b = 0xff},
 | 
			
		||||
        [SHIRT]  = {r = 0x4c, g = 0x2c, b = 0xd3},
 | 
			
		||||
        [GLOVES] = {r = 0xff, g = 0xff, b = 0xff},
 | 
			
		||||
        [SHOES]  = {r = 0x68, g = 0x40, b = 0x1b},
 | 
			
		||||
        [HAIR]   = {r = 0x73, g = 0x06, b = 0x00},
 | 
			
		||||
        [SKIN]   = {r = 0xfe, g = 0xd5, b = 0xa1},
 | 
			
		||||
        [CAP]    = {r = 0xff, g = 0x00, b = 0x00},
 | 
			
		||||
        [EMBLEM] = {r = 0xff, g = 0x00, b = 0x00},
 | 
			
		||||
        [PANTS]  = { r = 0xff, g = 0xff, b = 0xff },
 | 
			
		||||
        [SHIRT]  = { r = 0x4c, g = 0x2c, b = 0xd3 },
 | 
			
		||||
        [GLOVES] = { r = 0xff, g = 0xff, b = 0xff },
 | 
			
		||||
        [SHOES]  = { r = 0x68, g = 0x40, b = 0x1b },
 | 
			
		||||
        [HAIR]   = { r = 0x73, g = 0x06, b = 0x00 },
 | 
			
		||||
        [SKIN]   = { r = 0xfe, g = 0xd5, b = 0xa1 },
 | 
			
		||||
        [CAP]    = { r = 0xff, g = 0x00, b = 0x00 },
 | 
			
		||||
        [EMBLEM] = { r = 0xff, g = 0x00, b = 0x00 },
 | 
			
		||||
    },
 | 
			
		||||
    [E_MODEL_WALUIGI] = {
 | 
			
		||||
        [PANTS]  = {r = 0x16, g = 0x16, b = 0x27},
 | 
			
		||||
        [SHIRT]  = {r = 0x61, g = 0x26, b = 0xb0},
 | 
			
		||||
        [GLOVES] = {r = 0xff, g = 0xff, b = 0xff},
 | 
			
		||||
        [SHOES]  = {r = 0xfe, g = 0x76, b = 0x00},
 | 
			
		||||
        [HAIR]   = {r = 0x73, g = 0x53, b = 0x00},
 | 
			
		||||
        [SKIN]   = {r = 0xfe, g = 0xc1, b = 0x79},
 | 
			
		||||
        [CAP]    = {r = 0x61, g = 0x26, b = 0xb0},
 | 
			
		||||
        [EMBLEM]  = {r = 0x4c, g = 0x2c, b = 0xd3},
 | 
			
		||||
        [PANTS]  = { r = 0x16, g = 0x16, b = 0x27 },
 | 
			
		||||
        [SHIRT]  = { r = 0x61, g = 0x26, b = 0xb0 },
 | 
			
		||||
        [GLOVES] = { r = 0xff, g = 0xff, b = 0xff },
 | 
			
		||||
        [SHOES]  = { r = 0xfe, g = 0x76, b = 0x00 },
 | 
			
		||||
        [HAIR]   = { r = 0x73, g = 0x53, b = 0x00 },
 | 
			
		||||
        [SHOES]  = { r = 0xfe, g = 0x76, b = 0x00 },
 | 
			
		||||
        [SKIN]   = { r = 0xfe, g = 0xc1, b = 0x79 },
 | 
			
		||||
        [CAP]    = { r = 0x61, g = 0x26, b = 0xb0 },
 | 
			
		||||
        [EMBLEM] = { r = 0xff, g = 0xde, b = 0x00 },
 | 
			
		||||
    },
 | 
			
		||||
    [E_MODEL_WARIO] = {
 | 
			
		||||
        [PANTS]  = {r = 0x7f, g = 0x20, b = 0x7a},
 | 
			
		||||
        [SHIRT]  = {r = 0xe3, g = 0xa9, b = 0x01},
 | 
			
		||||
        [GLOVES] = {r = 0xff, g = 0xff, b = 0xff},
 | 
			
		||||
        [SHOES]  = {r = 0x0e, g = 0x72, b = 0x1c},
 | 
			
		||||
        [HAIR]   = {r = 0x73, g = 0x53, b = 0x00},
 | 
			
		||||
        [SKIN]   = {r = 0xfe, g = 0xc1, b = 0x79},
 | 
			
		||||
        [CAP]    = {r = 0xe3, g = 0xa9, b = 0x01},
 | 
			
		||||
        [EMBLEM]  = {r = 0x61, g = 0x26, b = 0xb0},
 | 
			
		||||
    },
 | 
			
		||||
        [PANTS]  = { r = 0x7f, g = 0x20, b = 0x7a },
 | 
			
		||||
        [SHIRT]  = { r = 0xff, g = 0xbd, b = 0x00 },
 | 
			
		||||
        [GLOVES] = { r = 0xff, g = 0xff, b = 0xff },
 | 
			
		||||
        [SHOES]  = { r = 0x0e, g = 0x72, b = 0x1c },
 | 
			
		||||
        [HAIR]   = { r = 0x73, g = 0x53, b = 0x00 },
 | 
			
		||||
        [SHOES]  = { r = 0x0e, g = 0x72, b = 0x1c },
 | 
			
		||||
        [SKIN]   = { r = 0xfe, g = 0xc1, b = 0x79 },
 | 
			
		||||
        [CAP]    = { r = 0xff, g = 0xbd, b = 0x00 },
 | 
			
		||||
        [EMBLEM] = { r = 0x00, g = 0x00, b = 0xff },
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
local defaultModels = {
 | 
			
		||||
| 
						 | 
				
			
			@ -135,4 +137,4 @@ local function mario_update(m)
 | 
			
		|||
    end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
hook_event(HOOK_MARIO_UPDATE, mario_update)
 | 
			
		||||
hook_event(HOOK_MARIO_UPDATE, mario_update)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue