Added: Modular canals canal interior props

Fixed: Enable motion and sleep ate PhysObj methods
Fixed: Used general constants in Shinji's rails instead of numbers
This commit is contained in:
Deyan Dobromirov 2020-06-09 17:30:20 +03:00
parent 366720ae6e
commit 01c76c3f99
5 changed files with 103 additions and 15 deletions

View File

@ -243,10 +243,12 @@ if(asmlib) then
* MOVETYPE > This internally calls /Entity:SetMoveType/ if the database parameter is zero or greater.
* PHYSINIT > This internally calls /Entity:PhysicsInit/ if the database parameter is zero or greater.
* DRSHADOW > This internally calls /Entity:DrawShadow/ if the database parameter is not zero.
* The call evaluates to /true/ for positive numbers and /false/ for negative.
* When the parameter is equal to zero skips the call of /Entity:DrawShadow/
* PHMOTION > This internally calls /Entity:EnableMotion/ if the database parameter is not zero.
* PHMOTION > This internally calls /PhysObj:EnableMotion/ if the database parameter is not zero on the validated physics object.
* The call evaluates to /true/ for positive numbers and /false/ for negative.
* When the parameter is equal to zero skips the call of /Entity:EnableMotion/
* PHYSLEEP > This internally calls /Entity:Sleep/ if the database parameter is grater than zero.
* PHYSLEEP > This internally calls /PhysObj:Sleep/ if the database parameter is grater than zero on the validated physics object.
* When the parameter is equal or less than zero skips the call of /Entity:Sleep/
* SETSOLID > This internally calls /Entity:SetSolid/ if the database parameter is zero or greater.
]]--

View File

@ -4298,3 +4298,38 @@ models/buildingspack2_nolot/housing/1-1_apartments.mdl
models/buildingspack2_nolot/housing/1-1_apartments_nodoors.mdl
models/buildingspack2_nolot/public/2-8_parking_garage.mdl
# Modular canals
models/props_d47_canals/floor_concrete_1024x1024.mdl
models/props_d47_canals/floor_concrete_1024x128.mdl
models/props_d47_canals/floor_concrete_1024x256.mdl
models/props_d47_canals/floor_concrete_1024x512.mdl
models/props_d47_canals/floor_concrete_1024x768.mdl
models/props_d47_canals/floor_concrete_128x128.mdl
models/props_d47_canals/floor_concrete_256x128.mdl
models/props_d47_canals/floor_concrete_256x256.mdl
models/props_d47_canals/floor_concrete_512x128.mdl
models/props_d47_canals/floor_concrete_512x256.mdl
models/props_d47_canals/floor_concrete_512x512.mdl
models/props_d47_canals/floor_concrete_768x256.mdl
models/props_d47_canals/floor_concrete_768x384.mdl
models/props_d47_canals/floor_concrete_768x512.mdl
models/props_d47_canals/floor_mud_1024x1024.mdl
models/props_d47_canals/floor_mud_1024x128.mdl
models/props_d47_canals/floor_mud_1024x256.mdl
models/props_d47_canals/floor_mud_1024x512.mdl
models/props_d47_canals/floor_mud_1024x768.mdl
models/props_d47_canals/floor_mud_128x128.mdl
models/props_d47_canals/floor_mud_256x128.mdl
models/props_d47_canals/floor_mud_256x256.mdl
models/props_d47_canals/floor_mud_512x128.mdl
models/props_d47_canals/floor_mud_512x256.mdl
models/props_d47_canals/floor_mud_512x512.mdl
models/props_d47_canals/floor_mud_768x256.mdl
models/props_d47_canals/floor_mud_768x384.mdl
models/props_d47_canals/floor_mud_768x512.mdl
models/props_d47_canals/interior_block_128x128.mdl
models/props_d47_canals/interior_block_256x128.mdl
models/props_d47_canals/interior_block_256x256.mdl
models/props_d47_canals/interior_block_512x128.mdl
models/props_d47_canals/interior_block_512x256.mdl
models/props_d47_canals/interior_block_512x512.mdl

View File

@ -75,7 +75,7 @@ local gtInitLogs = {"*Init", false, 0}
------ CONFIGURE ASMLIB ------
asmlib.InitBase("track","assembly")
asmlib.SetOpVar("TOOL_VERSION","7.606")
asmlib.SetOpVar("TOOL_VERSION","7.607")
asmlib.SetIndexes("V" , "x", "y", "z")
asmlib.SetIndexes("A" ,"pitch","yaw","roll")
asmlib.SetIndexes("WV",1,2,3)
@ -3826,6 +3826,55 @@ else
PIECES:Record({"models/roads_pack/highway_turns/6-0_highway_turn_a.mdl", "#", "#", 2, "", "-628,546,314.03125", "0,90,0"})
PIECES:Record({"models/roads_pack/highway_turns/6-1_highway_turn_b.mdl", "#", "#", 1, "", "0,0,315.03125"})
PIECES:Record({"models/roads_pack/highway_turns/6-1_highway_turn_b.mdl", "#", "#", 2, "", "-2860,2860,315.03125", "0,90,0"})
asmlib.GetCategory("Modular canals")
PIECES:Record({"models/props_d47_canals/interior_narrow_128.mdl", "#", "#", 1, "", "64,64,0", "", ""})
PIECES:Record({"models/props_d47_canals/interior_narrow_128.mdl", "#", "#", 2, "", "-64,64,0", "0,-180,0", ""})
PIECES:Record({"models/props_d47_canals/interior_narrow_256.mdl", "#", "#", 1, "", "128,0,0", "", ""})
PIECES:Record({"models/props_d47_canals/interior_narrow_256.mdl", "#", "#", 2, "", "-128,0,0", "0,-180,0", ""})
PIECES:Record({"models/props_d47_canals/interior_connector1.mdl", "#", "#", 1, "", "128,0,0", "", ""})
PIECES:Record({"models/props_d47_canals/interior_connector1.mdl", "#", "#", 2, "", "-128,0,0", "0,-180,0", ""})
PIECES:Record({"models/props_d47_canals/interior_connector2.mdl", "#", "#", 1, "", "128,64,0", "", ""})
PIECES:Record({"models/props_d47_canals/interior_connector2.mdl", "#", "#", 2, "", "-128,0,0", "0,-180,0", ""})
PIECES:Record({"models/props_d47_canals/interior_connector3.mdl", "#", "#", 1, "", "128,-64,0", "", ""})
PIECES:Record({"models/props_d47_canals/interior_connector3.mdl", "#", "#", 2, "", "-128,0,0", "0,-180,0", ""})
PIECES:Record({"models/props_d47_canals/interior_narrow_corner.mdl", "#", "#", 1, "", "56,-136,0", "0,-90,0", ""})
PIECES:Record({"models/props_d47_canals/interior_narrow_corner.mdl", "#", "#", 2, "", "-136,56,0", "0,-180,0", ""})
PIECES:Record({"models/props_d47_canals/interior_narrow_corner2.mdl", "#", "#", 1, "", "136,56,0", "", ""})
PIECES:Record({"models/props_d47_canals/interior_narrow_corner2.mdl", "#", "#", 2, "", "-56,-136,0", "0,-90,0", ""})
PIECES:Record({"models/props_d47_canals/interior_narrow_tjunc.mdl", "#", "#", 1, "", "56,248,0", "0,90,0", ""})
PIECES:Record({"models/props_d47_canals/interior_narrow_tjunc.mdl", "#", "#", 2, "", "-136,56,0", "0,-180,0", ""})
PIECES:Record({"models/props_d47_canals/interior_narrow_tjunc.mdl", "#", "#", 3, "", "56,-136,0", "0,-90,0", ""})
PIECES:Record({"models/props_d47_canals/interior_narrow_stairs.mdl", "#", "#", 1, "", "256,0,0", "", ""})
PIECES:Record({"models/props_d47_canals/interior_narrow_stairs.mdl", "#", "#", 2, "", "-256,0,0", "0,-180,0", ""})
PIECES:Record({"models/props_d47_canals/interior_narrow_stairs_mirrored.mdl", "#", "#", 1, "", "256,0,0", "", ""})
PIECES:Record({"models/props_d47_canals/interior_narrow_stairs_mirrored.mdl", "#", "#", 2, "", "-256,0,0", "0,-180,0", ""})
PIECES:Record({"models/props_d47_canals/interior_narrow_xjunc.mdl", "#", "#", 1, "", "192,0,0", "", ""})
PIECES:Record({"models/props_d47_canals/interior_narrow_xjunc.mdl", "#", "#", 2, "", "0,192,0", "0,90,0", ""})
PIECES:Record({"models/props_d47_canals/interior_narrow_xjunc.mdl", "#", "#", 3, "", "-192,0,0", "0,-180,0", ""})
PIECES:Record({"models/props_d47_canals/interior_narrow_xjunc.mdl", "#", "#", 4, "", "0,-192,0", "0,-90,0", ""})
PIECES:Record({"models/props_d47_canals/interior_wide_128.mdl", "#", "#", 1, "", "64,0,0", "", ""})
PIECES:Record({"models/props_d47_canals/interior_wide_128.mdl", "#", "#", 2, "", "-64,0,0", "0,-180,0", ""})
PIECES:Record({"models/props_d47_canals/interior_wide_256.mdl", "#", "#", 1, "", "128,0,0", "", ""})
PIECES:Record({"models/props_d47_canals/interior_wide_256.mdl", "#", "#", 2, "", "-128,0,0", "0,-180,0", ""})
PIECES:Record({"models/props_d47_canals/interior_wide_corner.mdl", "#", "#", 1, "", "-200,56,0", "0,180,0", ""})
PIECES:Record({"models/props_d47_canals/interior_wide_corner.mdl", "#", "#", 2, "", "56,-200,0", "0,-90,0", ""})
PIECES:Record({"models/props_d47_canals/interior_wide_corner2.mdl", "#", "#", 1, "", "56,200,0", "0,90,0", ""})
PIECES:Record({"models/props_d47_canals/interior_wide_corner2.mdl", "#", "#", 2, "", "-200,-56,0", "0,180,0", ""})
PIECES:Record({"models/props_d47_canals/interior_wide_stairs.mdl", "#", "#", 1, "", "256,0,0", "", ""})
PIECES:Record({"models/props_d47_canals/interior_wide_stairs.mdl", "#", "#", 2, "", "-256,0,0", "0,-180,0", ""})
PIECES:Record({"models/props_d47_canals/interior_wide_stairs_mirrored.mdl", "#", "#", 1, "", "256,0,0", "", ""})
PIECES:Record({"models/props_d47_canals/interior_wide_stairs_mirrored.mdl", "#", "#", 2, "", "-256,0,0", "0,-180,0", ""})
PIECES:Record({"models/props_d47_canals/interior_wide_tjunc_narrow.mdl", "#", "#", 1, "", "0,-144,0", "0,-90,0", ""})
PIECES:Record({"models/props_d47_canals/interior_wide_tjunc_narrow.mdl", "#", "#", 2, "", "128,0,0", "", ""})
PIECES:Record({"models/props_d47_canals/interior_wide_tjunc_narrow.mdl", "#", "#", 3, "", "-128,0,0", "0,-180,0", ""})
PIECES:Record({"models/props_d47_canals/interior_wide_xjunc_narrow.mdl", "#", "#", 1, "", "128,0,0", "", ""})
PIECES:Record({"models/props_d47_canals/interior_wide_xjunc_narrow.mdl", "#", "#", 2, "", "0,-144,0", "0,-90,0", ""})
PIECES:Record({"models/props_d47_canals/interior_wide_xjunc_narrow.mdl", "#", "#", 3, "", "-128,0,0", "0,-180,0", ""})
PIECES:Record({"models/props_d47_canals/interior_wide_xjunc_narrow.mdl", "#", "#", 4, "", "0,144,0", "0,90,0", ""})
PIECES:Record({"models/props_d47_canals/interior_wide_xjunc.mdl", "#", "#", 1, "", "256,0,0", "", ""})
PIECES:Record({"models/props_d47_canals/interior_wide_xjunc.mdl", "#", "#", 2, "", "0,-256,0", "0,-90,0", ""})
PIECES:Record({"models/props_d47_canals/interior_wide_xjunc.mdl", "#", "#", 3, "", "-256,0,0", "0,180,0", ""})
PIECES:Record({"models/props_d47_canals/interior_wide_xjunc.mdl", "#", "#", 4, "", "0,256,0", "0,90,0", ""})
if(gsMoDB == "SQL") then sqlCommit() end
end

View File

@ -335,23 +335,25 @@ if(asmlib) then
* MOVETYPE > This internally calls /Entity:SetMoveType/ if the database parameter is zero or greater.
* PHYSINIT > This internally calls /Entity:PhysicsInit/ if the database parameter is zero or greater.
* DRSHADOW > This internally calls /Entity:DrawShadow/ if the database parameter is not zero.
* The call evaluates to /true/ for positive numbers and /false/ for negative.
* When the parameter is equal to zero skips the call of /Entity:DrawShadow/
* PHMOTION > This internally calls /Entity:EnableMotion/ if the database parameter is not zero.
* PHMOTION > This internally calls /PhysObj:EnableMotion/ if the database parameter is not zero on the validated physics object.
* The call evaluates to /true/ for positive numbers and /false/ for negative.
* When the parameter is equal to zero skips the call of /Entity:EnableMotion/
* PHYSLEEP > This internally calls /Entity:Sleep/ if the database parameter is grater than zero.
* PHYSLEEP > This internally calls /PhysObj:Sleep/ if the database parameter is grater than zero on the validated physics object.
* When the parameter is equal or less than zero skips the call of /Entity:Sleep/
* SETSOLID > This internally calls /Entity:SetSolid/ if the database parameter is zero or greater.
]]--
local myAdditions = {
["models/shinji85/train/rail_l_switch.mdl"] = {
{"models/shinji85/train/sw_lever.mdl", "buttonswitch", gsSymOff, "-100,-125,0", "0,180,0", -1, -1, -1, 0, -1, -1},
{"models/shinji85/train/rail_l_switcher1.mdl", "prop_dynamic", gsSymOff, gsMissDB, gsMissDB, 6, 6, -1, -1, 1, 6},
{"models/shinji85/train/rail_l_switcher2.mdl", "prop_dynamic", gsSymOff, gsMissDB, gsMissDB, 6, 6, -1, 0, -1, 0}
{"models/shinji85/train/rail_l_switcher1.mdl", "prop_dynamic", gsSymOff, gsMissDB, gsMissDB, MOVETYPE_VPHYSICS, SOLID_VPHYSICS, -1, -1, 1, SOLID_VPHYSICS},
{"models/shinji85/train/rail_l_switcher2.mdl", "prop_dynamic", gsSymOff, gsMissDB, gsMissDB, MOVETYPE_VPHYSICS, SOLID_VPHYSICS, -1, 0, -1, SOLID_NONE}
},
["models/shinji85/train/rail_r_switch.mdl"] = {
{"models/shinji85/train/sw_lever.mdl", "buttonswitch", gsSymOff, "-100,125,0", gsMissDB, -1, -1, -1, 0, -1, -1},
{"models/shinji85/train/rail_r_switcher1.mdl", "prop_dynamic", gsSymOff, gsMissDB, gsMissDB, 6, 6, -1, -1, 1, 6},
{"models/shinji85/train/rail_r_switcher2.mdl", "prop_dynamic", gsSymOff, gsMissDB, gsMissDB, 6, 6, -1, 0, -1, 0}
{"models/shinji85/train/rail_r_switcher1.mdl", "prop_dynamic", gsSymOff, gsMissDB, gsMissDB, MOVETYPE_VPHYSICS, SOLID_VPHYSICS, -1, -1, 1, SOLID_VPHYSICS},
{"models/shinji85/train/rail_r_switcher2.mdl", "prop_dynamic", gsSymOff, gsMissDB, gsMissDB, MOVETYPE_VPHYSICS, SOLID_VPHYSICS, -1, 0, -1, SOLID_NONE}
}
}

View File

@ -3822,9 +3822,9 @@ function AttachAdditions(ePiece)
local phInt = (tonumber(arRec[makTab:GetColumnName(8)]) or -1)
if(phInt >= 0) then eAddit:PhysicsInit(phInt)
LogInstance("PhysicsInit("..phInt..")") end
local drShd = (tonumber(arRec[makTab:GetColumnName(9)]) or 0)
if(drShd ~= 0) then drShd = (drShd > 0)
eAddit:DrawShadow(drShd); LogInstance("DrawShadow("..tostring(drShd)..")") end
local drSha = (tonumber(arRec[makTab:GetColumnName(9)]) or 0)
if(drSha ~= 0) then drSha = (drSha > 0); eAddit:DrawShadow(drSha)
LogInstance("DrawShadow("..tostring(drSha)..")") end
eAddit:SetParent(ePiece); LogInstance("SetParent(ePiece)")
eAddit:Spawn(); LogInstance("Spawn()")
phAddit = eAddit:GetPhysicsObject()
@ -3832,8 +3832,8 @@ function AttachAdditions(ePiece)
local enMot = (tonumber(arRec[makTab:GetColumnName(10)]) or 0)
if(enMot ~= 0) then enMot = (enMot > 0); phAddit:EnableMotion(enMot)
LogInstance("EnableMotion("..tostring(enMot)..")") end
local nbSlp = (tonumber(arRec[makTab:GetColumnName(11)]) or 0)
if(nbSlp > 0) then phAddit:Sleep(); LogInstance("Sleep()") end
local nbZee = (tonumber(arRec[makTab:GetColumnName(11)]) or 0)
if(nbZee > 0) then phAddit:Sleep(); LogInstance("Sleep()") end
end
eAddit:Activate(); LogInstance("Activate()")
ePiece:DeleteOnRemove(eAddit); LogInstance("DeleteOnRemove(eAddit)")
@ -4197,7 +4197,6 @@ local function MakeEntityGhost(sModel, vPos, aAng)
eGho:SetModel(sModel)
eGho:SetPos(vPos or GetOpVar("VEC_ZERO"))
eGho:SetAngles(aAng or GetOpVar("ANG_ZERO"))
eGho:Spawn()
eGho:SetSolid(SOLID_NONE)
eGho:SetCollisionGroup(COLLISION_GROUP_NONE)
eGho:SetMoveType(MOVETYPE_NONE)
@ -4206,6 +4205,7 @@ local function MakeEntityGhost(sModel, vPos, aAng)
eGho:DrawShadow(false)
eGho:SetRenderMode(RENDERMODE_TRANSALPHA)
eGho:SetColor(cPal:Select("gh"))
eGho:Spawn()
return eGho
end