mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-11-22 07:06:13 +00:00
Changed: Synchonized some changes from compatibility-develop branch
--HG-- branch : develop
This commit is contained in:
parent
bd901c5a8c
commit
575f58d749
16 changed files with 537 additions and 103 deletions
|
@ -16,11 +16,11 @@ SaveConfig = 1;
|
||||||
Driver3D="Auto"; // Valid values are "Auto" or "0", "OpengGL" or "1" & "Direct3D" or "2"
|
Driver3D="Auto"; // Valid values are "Auto" or "0", "OpengGL" or "1" & "Direct3D" or "2"
|
||||||
// "Auto" will choose the best suited driver depending on hardware
|
// "Auto" will choose the best suited driver depending on hardware
|
||||||
FullScreen = 1;
|
FullScreen = 1;
|
||||||
Width = 1024;
|
Width = 0;
|
||||||
Height = 768;
|
Height = 0;
|
||||||
PositionX = 0;
|
PositionX = 0;
|
||||||
PositionY = 0;
|
PositionY = 0;
|
||||||
Frequency = 60;
|
Frequency = 0;
|
||||||
Depth = 32;
|
Depth = 32;
|
||||||
Sleep = -1;
|
Sleep = -1;
|
||||||
ProcessPriority = 0; // -2 = idle, -1 = below normal, 0 = normal, 1 = above normal, 2 = high, 3 = real time
|
ProcessPriority = 0; // -2 = idle, -1 = below normal, 0 = normal, 1 = above normal, 2 = high, 3 = real time
|
||||||
|
@ -281,7 +281,7 @@ DivideTextureSizeBy2= 0; // Divide texture size
|
||||||
DisableVtxProgram = 0; // Disable Hardware Vertex Program.
|
DisableVtxProgram = 0; // Disable Hardware Vertex Program.
|
||||||
DisableVtxAGP = 0; // Disable Hardware Vertex AGP.
|
DisableVtxAGP = 0; // Disable Hardware Vertex AGP.
|
||||||
DisableTextureShdr = 0; // Disable Hardware Texture Shader.
|
DisableTextureShdr = 0; // Disable Hardware Texture Shader.
|
||||||
HDEntityTexture = 0;
|
HDEntityTexture = 1;
|
||||||
HDTextureInstalled = 1;
|
HDTextureInstalled = 1;
|
||||||
WaitVBL = 0; // 0 or 1 to wait Vertical Sync.
|
WaitVBL = 0; // 0 or 1 to wait Vertical Sync.
|
||||||
|
|
||||||
|
@ -481,7 +481,8 @@ XMLInterfaceFiles = {
|
||||||
"commands2.xml",
|
"commands2.xml",
|
||||||
"ring_access_point_filter.xml",
|
"ring_access_point_filter.xml",
|
||||||
"ring_window.xml",
|
"ring_window.xml",
|
||||||
"bg_downloader.xml"
|
"bg_downloader.xml",
|
||||||
|
"ryzhome_toolbar.xml"
|
||||||
};
|
};
|
||||||
|
|
||||||
XMLR2EDInterfaceFiles =
|
XMLR2EDInterfaceFiles =
|
||||||
|
@ -569,7 +570,9 @@ HelpPages =
|
||||||
"fr=http://forums.ryzom.com/forum/showthread.php?t=29130",
|
"fr=http://forums.ryzom.com/forum/showthread.php?t=29130",
|
||||||
"en=http://forums.ryzom.com/forum/showthread.php?t=29129",
|
"en=http://forums.ryzom.com/forum/showthread.php?t=29129",
|
||||||
"wk=http://forums.ryzom.com/forum/showthread.php?t=29129",
|
"wk=http://forums.ryzom.com/forum/showthread.php?t=29129",
|
||||||
"de=http://forums.ryzom.com/forum/showthread.php?t=29131"
|
"de=http://forums.ryzom.com/forum/showthread.php?t=29131",
|
||||||
|
"es=http://forums.ryzom.com/forum/showthread.php?t=29129",
|
||||||
|
"ru=http://forums.ryzom.com/forum/showthread.php?t=29129"
|
||||||
};
|
};
|
||||||
|
|
||||||
WebIgMainDomain = "app.ryzom.com";
|
WebIgMainDomain = "app.ryzom.com";
|
||||||
|
|
|
@ -217,7 +217,7 @@ end
|
||||||
-- Is its level known (not too high ...)
|
-- Is its level known (not too high ...)
|
||||||
-- Boss/Mini-bosses/Names colored ring
|
-- Boss/Mini-bosses/Names colored ring
|
||||||
function game:updateTargetConsiderUI()
|
function game:updateTargetConsiderUI()
|
||||||
--debugInfo("Updating consider widget")
|
-- debugInfo("Updating consider widget")
|
||||||
|
|
||||||
local targetWindow = getUI("ui:interface:target")
|
local targetWindow = getUI("ui:interface:target")
|
||||||
--
|
--
|
||||||
|
@ -228,12 +228,14 @@ function game:updateTargetConsiderUI()
|
||||||
local wgToolTip = targetWindow:find("target_tooltip")
|
local wgToolTip = targetWindow:find("target_tooltip")
|
||||||
local wgPvPTag = targetWindow:find("pvp_tags")
|
local wgPvPTag = targetWindow:find("pvp_tags")
|
||||||
local wgHeader = targetWindow:find("header_opened")
|
local wgHeader = targetWindow:find("header_opened")
|
||||||
|
local wgLock = targetWindow:find("lock")
|
||||||
|
|
||||||
wgTargetSlotForce.active = true
|
wgTargetSlotForce.active = true
|
||||||
wgImpossible.active = true
|
wgImpossible.active = true
|
||||||
|
|
||||||
-- no selection ?
|
-- no selection ?
|
||||||
if twGetTargetLevel() == -1 then
|
if twGetTargetLevel() == -1 then
|
||||||
|
wgLock.active = false
|
||||||
wgTargetSlotForce.active = false
|
wgTargetSlotForce.active = false
|
||||||
wgTargetLevel.active = false
|
wgTargetLevel.active = false
|
||||||
wgImpossible.active = false
|
wgImpossible.active = false
|
||||||
|
@ -254,20 +256,36 @@ function game:updateTargetConsiderUI()
|
||||||
wgPvPTag.active = false
|
wgPvPTag.active = false
|
||||||
wgHeader.h = 34;
|
wgHeader.h = 34;
|
||||||
|
|
||||||
|
|
||||||
|
-- /luaScript getUI("ui:interface:target:header_opened:lock").active=true
|
||||||
|
|
||||||
-- if the selection is a player, then both the local & targeted player must be in PVP mode for the level to be displayed
|
-- if the selection is a player, then both the local & targeted player must be in PVP mode for the level to be displayed
|
||||||
if (twIsTargetPlayer()) then
|
if (twIsTargetPlayer()) then
|
||||||
-- don't display anything ...
|
-- don't display anything ...
|
||||||
|
wgLock.active = false
|
||||||
wgTargetSlotForce.active = false
|
wgTargetSlotForce.active = false
|
||||||
wgTargetLevel.active = false
|
wgTargetLevel.active = false
|
||||||
wgImpossible.active = false
|
wgImpossible.active = false
|
||||||
wgSlotRing.active = false
|
wgSlotRing.active = false
|
||||||
wgToolTip.tooltip = ""
|
wgToolTip.tooltip = ""
|
||||||
if twIsTargetInPVPMode() then
|
if twIsTargetInPVPMode() then
|
||||||
debugInfo("target in pvp")
|
|
||||||
wgPvPTag.active = true
|
wgPvPTag.active = true
|
||||||
wgHeader.h = 56;
|
wgHeader.h = 56;
|
||||||
end
|
end
|
||||||
return
|
return
|
||||||
|
else
|
||||||
|
wgLock.active = false
|
||||||
|
local level = getDbProp(getDefine("target_player_level"))
|
||||||
|
|
||||||
|
if level == 2 then -- Locked by team of player
|
||||||
|
wgLock.active = true
|
||||||
|
wgLock.color = "50 250 250 255"
|
||||||
|
else
|
||||||
|
if level == 1 then -- Locked by another team
|
||||||
|
wgLock.active = true
|
||||||
|
wgLock.color = "250 50 50 255"
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- depending on the number of people in the group, set the max diff for visibility between player level
|
-- depending on the number of people in the group, set the max diff for visibility between player level
|
||||||
|
|
|
@ -277,6 +277,19 @@
|
||||||
global_color="false"
|
global_color="false"
|
||||||
render_layer="1"
|
render_layer="1"
|
||||||
active="true" />
|
active="true" />
|
||||||
|
<view type="bitmap"
|
||||||
|
id="lock"
|
||||||
|
posref="BR BR"
|
||||||
|
posparent="slot_force"
|
||||||
|
x="-5"
|
||||||
|
y="-3"
|
||||||
|
h="14"
|
||||||
|
w="14"
|
||||||
|
color="255 255 255 255"
|
||||||
|
texture="w_win_lock.tga"
|
||||||
|
global_color="false"
|
||||||
|
render_layer="3"
|
||||||
|
active="true" />
|
||||||
<ctrl type="tooltip"
|
<ctrl type="tooltip"
|
||||||
id="target_tooltip"
|
id="target_tooltip"
|
||||||
tooltip="uittConsiderTargetNoSelection"
|
tooltip="uittConsiderTargetNoSelection"
|
||||||
|
|
|
@ -32,13 +32,15 @@ function SceneEditor:init(scene_id, form_url, translations, icons_url)
|
||||||
self.T = translations
|
self.T = translations
|
||||||
end
|
end
|
||||||
|
|
||||||
function SceneEditor:reset()
|
function SceneEditor:reset(no_get_html)
|
||||||
self.Shapes = {}
|
self.Shapes = {}
|
||||||
self.Groups = {}
|
self.Groups = {}
|
||||||
self.LastEditedGroup = nil
|
self.LastEditedGroup = nil
|
||||||
self.HaveUpdate = nil
|
self.HaveUpdate = nil
|
||||||
runAH(nil, "remove_shapes", "")
|
runAH(nil, "remove_shapes", "")
|
||||||
|
if no_get_html == true then
|
||||||
self:get_html("Reseted")
|
self:get_html("Reseted")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function SceneEditor:show_menu()
|
function SceneEditor:show_menu()
|
||||||
|
@ -364,24 +366,24 @@ end
|
||||||
|
|
||||||
function SceneEditor:editGroup(group)
|
function SceneEditor:editGroup(group)
|
||||||
if self.LastEditedGroup then
|
if self.LastEditedGroup then
|
||||||
self:removeGroup(self.LastEditedGroup)
|
self:removeGroup(self.LastEditedGroup, true)
|
||||||
self:addGroup(self.LastEditedGroup, 0, true, false)
|
self:addGroup(self.LastEditedGroup, 0, true, false)
|
||||||
end
|
end
|
||||||
self:removeGroup(group);
|
self:removeGroup(group, true);
|
||||||
self:addGroup(group, 0, true, true)
|
self:addGroup(group, 0, true, true)
|
||||||
self.LastEditedGroup = group
|
self.LastEditedGroup = group
|
||||||
end
|
end
|
||||||
|
|
||||||
function SceneEditor:addFromDb(group, db_id, json_shape)
|
function SceneEditor:addFromDb(group, db_id, json_shape, edit)
|
||||||
shape = Json.decode(json_shape)
|
shape = Json.decode(json_shape)
|
||||||
shape.db_id = db_id
|
shape.db_id = db_id
|
||||||
|
|
||||||
shape.group = group
|
shape.group = group
|
||||||
shape.modified = ""
|
shape.modified = ""
|
||||||
if hide then
|
if edit then
|
||||||
shape_id = addShape(shape.file, shape.pos[1], shape.pos[2], shape.pos[3], "user", 1, false, "", "")
|
|
||||||
else
|
|
||||||
shape_id = addShape(shape.file, shape.pos[1], shape.pos[2], shape.pos[3], "user", 1, true, "", "SceneEditor:show_menu()")
|
shape_id = addShape(shape.file, shape.pos[1], shape.pos[2], shape.pos[3], "user", 1, true, "", "SceneEditor:show_menu()")
|
||||||
|
else
|
||||||
|
shape_id = addShape(shape.file, shape.pos[1], shape.pos[2], shape.pos[3], "user", 1, true, "", "")
|
||||||
end
|
end
|
||||||
rotateShape(shape_id, tostring(shape.rot[1]), tostring(shape.rot[2]), tostring(shape.rot[3]))
|
rotateShape(shape_id, tostring(shape.rot[1]), tostring(shape.rot[2]), tostring(shape.rot[3]))
|
||||||
setupShape(shape_id, shape.setup)
|
setupShape(shape_id, shape.setup)
|
||||||
|
@ -393,7 +395,7 @@ function SceneEditor:addFromDb(group, db_id, json_shape)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
function SceneEditor:removeGroup(group)
|
function SceneEditor:removeGroup(group, no_get_html)
|
||||||
if self.Groups[group] == nil then
|
if self.Groups[group] == nil then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
@ -404,6 +406,7 @@ function SceneEditor:removeGroup(group)
|
||||||
deleteShape(shape_id)
|
deleteShape(shape_id)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
self.Groups[group] = nil
|
self.Groups[group] = nil
|
||||||
if self.LastEditedGroup == group then
|
if self.LastEditedGroup == group then
|
||||||
self.LastEditedGroup = nil
|
self.LastEditedGroup = nil
|
||||||
|
@ -412,7 +415,9 @@ function SceneEditor:removeGroup(group)
|
||||||
ui.active=false
|
ui.active=false
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
if no_get_html == nil then
|
||||||
self:get_html("Group Removed")
|
self:get_html("Group Removed")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function SceneEditor:enc64(data)
|
function SceneEditor:enc64(data)
|
||||||
|
@ -479,20 +484,7 @@ function SceneEditor:show_shape_list()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function SceneEditor:getShapesByGroups()
|
||||||
function SceneEditor:get_html_section(message, color)
|
|
||||||
return '<table width="100%" cellspacing="0" cellpadding="0"><tr bgcolor="'..color..'"><td align="center" valign="middle"><font color="#FFFFFF" size="12">'..message..'</font></td></tr></table>'
|
|
||||||
end
|
|
||||||
|
|
||||||
function SceneEditor:get_html(message, message_bg)
|
|
||||||
local new_group = ' <a class="ryzom-ui-button" href="'..self.baseUrl..'_AddGroup&add_new_group=1&scene_id='..self.sceneId..'"><img src="'..self.iconsUrl..'/32/chart_organisation_add.png" alt="'..self.T["add_new_group"]..'" /></a>'
|
|
||||||
local show_hide_cols = ' <a class="ryzom-ui-button" href="ah:ark_pacs_borders"><img src="'..self.iconsUrl..'/32/show_hide_cols.png" alt="'..self.T["show_hide_cols"]..'" /></a>'
|
|
||||||
local reset_scene = '</td><td align="center" bgcolor="#502020" width="40px"><a class="ryzom-ui-button" href="'..self.baseUrl..'_SaveShapes&reset_scene=1&scene_id='..self.sceneId..'"><img src="'..self.iconsUrl..'/32/bin.png" alt="'..self.T["reset_scene"]..'" /></a>'
|
|
||||||
|
|
||||||
local html = '<header><title>'..self.T["sceno_editor"]..'</title></header>'..self:get_html_section(message..'</td><td bgcolor="#202020" align="center" height="40px" width="140px" valign="middle">'..new_group..show_hide_cols..reset_scene, (message_bg or SceneEditor:get_random_color()))
|
|
||||||
|
|
||||||
html = html .. '<form action="'..self.baseUrl..'_SaveShapes" method="POST"><input type="hidden" name="group" value="'..(self.LastEditedGroup or "")..'" /><input type="hidden" name="scene_id" value="'..self.sceneId..'" />\
|
|
||||||
<table width="100%" cellspacing="0" cellpadding="0">'
|
|
||||||
local groups = {}
|
local groups = {}
|
||||||
for shape_id, shape in pairs(self.Shapes) do
|
for shape_id, shape in pairs(self.Shapes) do
|
||||||
if shape.group == nil then
|
if shape.group == nil then
|
||||||
|
@ -504,13 +496,35 @@ function SceneEditor:get_html(message, message_bg)
|
||||||
end
|
end
|
||||||
table.insert(groups[shape.group], shape_id)
|
table.insert(groups[shape.group], shape_id)
|
||||||
end
|
end
|
||||||
|
return groups
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
function SceneEditor:get_html_section(message, color)
|
||||||
|
return '<table width="100%" cellspacing="0" cellpadding="0"><tr bgcolor="'..color..'"><td align="center" valign="middle"><font color="#FFFFFF" size="12">'..message..'</font></td></tr></table>'
|
||||||
|
end
|
||||||
|
|
||||||
|
function SceneEditor:get_html(message, message_bg)
|
||||||
|
debug("get_html :"..message)
|
||||||
|
local new_group = ' <a class="ryzom-ui-button" href="'..self.baseUrl..'_AddGroup&add_new_group=1&scene_id='..self.sceneId..'"><img src="'..self.iconsUrl..'/32/chart_organisation_add.png" alt="'..self.T["add_new_group"]..'" /></a>'
|
||||||
|
local show_hide_cols = ' <a class="ryzom-ui-button" href="ah:ark_pacs_borders"><img src="'..self.iconsUrl..'/32/show_hide_cols.png" alt="'..self.T["show_hide_cols"]..'" /></a>'
|
||||||
|
local reset_scene = '</td><td align="center" bgcolor="#502020" width="40px"><a class="ryzom-ui-button" href="'..self.baseUrl..'_SaveShapes&reset_scene=1&scene_id='..self.sceneId..'"><img src="'..self.iconsUrl..'/32/bin.png" alt="'..self.T["reset_scene"]..'" /></a>'
|
||||||
|
|
||||||
|
local html = '<header><title>'..self.T["sceno_editor"]..'</title></header>'..self:get_html_section(message..'</td><td bgcolor="#202020" align="center" height="40px" width="140px" valign="middle">'..new_group..show_hide_cols..reset_scene, (message_bg or SceneEditor:get_random_color()))
|
||||||
|
|
||||||
|
html = html .. '<form action="'..self.baseUrl..'_SaveShapes" method="POST"><input type="hidden" name="group" value="'..(self.LastEditedGroup or "")..'" /><input type="hidden" name="scene_id" value="'..self.sceneId..'" />\
|
||||||
|
<table width="100%" cellspacing="0" cellpadding="0">'
|
||||||
|
|
||||||
|
local groups = self:getShapesByGroups()
|
||||||
|
|
||||||
for group, shapes in pairsByKeys(self.Groups) do
|
for group, shapes in pairsByKeys(self.Groups) do
|
||||||
|
debug("Group : "..group)
|
||||||
local groupname = group
|
local groupname = group
|
||||||
html = html .. '<tr bgcolor="#444444"><td height="20px"><table width="100%"><tr><td> '..groupname..' ('..(self.Groups[group].props.count or '0')..') </td><td align="right"><input type="hidden" name="shape[]", value="#"/>'
|
html = html .. '<tr bgcolor="#444444"><td height="20px"><table width="100%"><tr><td> '..groupname..' ('..(self.Groups[group].props.count or '0')..') </td><td align="right"><input type="hidden" name="shape[]", value="#"/>'
|
||||||
|
|
||||||
|
|
||||||
if self.Groups[group].props.show then
|
if self.Groups[group].props.show then
|
||||||
|
debug("Group : show")
|
||||||
if self.Groups[group].props.edit then
|
if self.Groups[group].props.edit then
|
||||||
html = html .. '<a href="ah:lua:SceneEditor:show_shape_list()"><img src="'..self.iconsUrl..'/16/box_add.png" alt="'..self.T["add_shape"]..'"/></a></td><td align="right">'
|
html = html .. '<a href="ah:lua:SceneEditor:show_shape_list()"><img src="'..self.iconsUrl..'/16/box_add.png" alt="'..self.T["add_shape"]..'"/></a></td><td align="right">'
|
||||||
if self.HaveUpdate then
|
if self.HaveUpdate then
|
||||||
|
|
|
@ -485,6 +485,7 @@ void CContinent::select(const CVectorD &pos, NLMISC::IProgressCallback &progress
|
||||||
|
|
||||||
{
|
{
|
||||||
H_AUTO(InitRZWorldPacs)
|
H_AUTO(InitRZWorldPacs)
|
||||||
|
|
||||||
releasePACS();
|
releasePACS();
|
||||||
// Init PACS
|
// Init PACS
|
||||||
std::string pacsRBankPath = CPath::lookup(PacsRBank, false);
|
std::string pacsRBankPath = CPath::lookup(PacsRBank, false);
|
||||||
|
@ -931,6 +932,9 @@ void CContinent::unselect()
|
||||||
// Remove the primitive for all entitites (new PACS coming soon and need new primitives).
|
// Remove the primitive for all entitites (new PACS coming soon and need new primitives).
|
||||||
EntitiesMngr.removeCollision();
|
EntitiesMngr.removeCollision();
|
||||||
|
|
||||||
|
// Remove the instances (shapes).
|
||||||
|
EntitiesMngr.removeInstances();
|
||||||
|
|
||||||
// release collision primitives
|
// release collision primitives
|
||||||
if (IGCallbacks)
|
if (IGCallbacks)
|
||||||
{
|
{
|
||||||
|
|
|
@ -60,8 +60,7 @@ CLFECOMMON::TCLEntityId SlotUnderCursor;
|
||||||
uint32 MissionId = 0;
|
uint32 MissionId = 0;
|
||||||
uint32 MissionRingId = 0;
|
uint32 MissionRingId = 0;
|
||||||
sint32 InstanceId = 0;
|
sint32 InstanceId = 0;
|
||||||
UInstance selectedInstance;
|
sint32 selectedInstance = -1;
|
||||||
const UInstance noSelectedInstance;
|
|
||||||
string selectedInstanceURL;
|
string selectedInstanceURL;
|
||||||
static NLMISC::CRefPtr<NLMISC::CCDBNodeLeaf> s_UserCharFade;
|
static NLMISC::CRefPtr<NLMISC::CCDBNodeLeaf> s_UserCharFade;
|
||||||
|
|
||||||
|
@ -129,7 +128,7 @@ void initContextualCursor()
|
||||||
ContextCur.add(true, "MISSION", string(""), 0.0f, checkUnderCursor, contextMission);
|
ContextCur.add(true, "MISSION", string(""), 0.0f, checkUnderCursor, contextMission);
|
||||||
ContextCur.add(true, "WEB PAGE", string(""), 0.0f, checkUnderCursor, contextWebPage);
|
ContextCur.add(true, "WEB PAGE", string(""), 0.0f, checkUnderCursor, contextWebPage);
|
||||||
ContextCur.add(true, "WEBIG", string(""), 0.0f, checkUnderCursor, contextWebIG);
|
ContextCur.add(true, "WEBIG", string(""), 0.0f, checkUnderCursor, contextWebIG);
|
||||||
ContextCur.add(false, "ARKITECT", string("curs_pick.tga"), 0.0f, checkUnderCursor, contextARKitect);
|
ContextCur.add(false, "ARKITECT", string("curs_create.tga"), 0.0f, checkUnderCursor, contextARKitect);
|
||||||
ContextCur.add(true, "OUTPOST", string(""), 0.0f, checkUnderCursor, contextOutpost);
|
ContextCur.add(true, "OUTPOST", string(""), 0.0f, checkUnderCursor, contextOutpost);
|
||||||
ContextCur.add(true, "RING MISSION", string(""), 0.0f, checkUnderCursor, contextRingMission);
|
ContextCur.add(true, "RING MISSION", string(""), 0.0f, checkUnderCursor, contextRingMission);
|
||||||
ContextCur.add(true, "BUILD_TOTEM", string("uimGcmChooseBuilding"), 0.0f, checkUnderCursor, contextBuildTotem);
|
ContextCur.add(true, "BUILD_TOTEM", string("uimGcmChooseBuilding"), 0.0f, checkUnderCursor, contextBuildTotem);
|
||||||
|
@ -346,7 +345,6 @@ void checkUnderCursor()
|
||||||
// Entity Under the cursor is the entity selected.
|
// Entity Under the cursor is the entity selected.
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
||||||
// Wait for the target is up to date. Do not display context cursor if the user is mounted.
|
// Wait for the target is up to date. Do not display context cursor if the user is mounted.
|
||||||
if( (UserEntity->selection() == UserEntity->targetSlot()) &&
|
if( (UserEntity->selection() == UserEntity->targetSlot()) &&
|
||||||
(! UserEntity->isRiding()) )
|
(! UserEntity->isRiding()) )
|
||||||
|
@ -536,59 +534,49 @@ void checkUnderCursor()
|
||||||
sint32 instance_idx;
|
sint32 instance_idx;
|
||||||
CShapeInstanceReference instref = EntitiesMngr.getShapeInstanceUnderPos(cursX, cursY, instance_idx);
|
CShapeInstanceReference instref = EntitiesMngr.getShapeInstanceUnderPos(cursX, cursY, instance_idx);
|
||||||
|
|
||||||
if (EntitiesMngr.instancesRemoved())
|
std::vector<string> keys;
|
||||||
selectedInstance = noSelectedInstance;
|
keys.push_back("colorize");
|
||||||
|
|
||||||
|
if (instance_idx != selectedInstance && selectedInstance != -1) {
|
||||||
|
std::vector<string> values;
|
||||||
|
values.push_back("0");
|
||||||
|
EntitiesMngr.setupInstance((uint32)selectedInstance, keys, values);
|
||||||
|
}
|
||||||
|
|
||||||
UInstance instance = instref.Instance;
|
UInstance instance = instref.Instance;
|
||||||
if (!instance.empty())
|
if (!instance.empty() && !instref.ContextURL.empty())
|
||||||
{
|
{
|
||||||
if (instance.getObjectPtr() != selectedInstance.getObjectPtr())
|
|
||||||
{
|
|
||||||
for(uint j=0;j<selectedInstance.getNumMaterials();j++)
|
|
||||||
{
|
|
||||||
// unhighlight
|
|
||||||
selectedInstance.getMaterial(j).setEmissive(CRGBA(255,255,255,255));
|
|
||||||
selectedInstance.getMaterial(j).setShininess( 10.0f );
|
|
||||||
}
|
|
||||||
selectedInstance = instance;
|
|
||||||
// For all materials
|
|
||||||
for(uint j=0;j<selectedInstance.getNumMaterials();j++)
|
|
||||||
{
|
|
||||||
// highlight
|
|
||||||
selectedInstance.getMaterial(j).setEmissive(CRGBA(255,0,0,255));
|
|
||||||
selectedInstance.getMaterial(j).setShininess( 1000.0f );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
selectedInstanceURL = instref.ContextURL;
|
selectedInstanceURL = instref.ContextURL;
|
||||||
if (instref.ContextText.empty())
|
if (instref.ContextText.empty())
|
||||||
{
|
{
|
||||||
|
if (instance_idx != -1) {
|
||||||
|
std::vector<string> values;
|
||||||
|
values.push_back("#FF0000FF");
|
||||||
|
EntitiesMngr.setupInstance((uint32)instance_idx, keys, values);
|
||||||
|
selectedInstance = instance_idx;
|
||||||
|
}
|
||||||
|
|
||||||
|
cursor->setCursor("r2ed_tool_select_move_over.tga");
|
||||||
InstanceId = instance_idx;
|
InstanceId = instance_idx;
|
||||||
if(ContextCur.context("ARKITECT", 0.f, ucstring()))
|
if (ContextCur.context("ARKITECT", 0.f, ucstring("Edit")))
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
cursor->setCursor("curs_pick.tga");
|
||||||
ucstring contextText;
|
ucstring contextText;
|
||||||
contextText.fromUtf8(instref.ContextText);
|
contextText.fromUtf8(instref.ContextText);
|
||||||
if(ContextCur.context("WEBIG", 0.f, contextText))
|
if (ContextCur.context("WEBIG", 0.f, contextText))
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else
|
if (!selectedInstanceURL.empty()) {
|
||||||
{
|
cursor->setCursor("curs_default.tga");
|
||||||
if (!selectedInstance.empty())
|
|
||||||
{
|
|
||||||
for(uint j=0;j<selectedInstance.getNumMaterials();j++)
|
|
||||||
{
|
|
||||||
//unhighlight
|
|
||||||
selectedInstance.getMaterial(j).setEmissive(CRGBA(255,255,255,255));
|
|
||||||
selectedInstance.getMaterial(j).setShininess( 10.0f );
|
|
||||||
}
|
|
||||||
selectedInstance = noSelectedInstance;
|
|
||||||
selectedInstanceURL.clear();
|
selectedInstanceURL.clear();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SlotUnderCursor = CLFECOMMON::INVALID_SLOT;
|
SlotUnderCursor = CLFECOMMON::INVALID_SLOT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -896,7 +884,8 @@ void contextWebIG(bool rightClick, bool dblClick)
|
||||||
CInterface3DShape *el= dynamic_cast<CInterface3DShape*>(CWidgetManager::getInstance()->getElementFromId("ui:interface:bot_chat_object:scene3d:object_1"));
|
CInterface3DShape *el= dynamic_cast<CInterface3DShape*>(CWidgetManager::getInstance()->getElementFromId("ui:interface:bot_chat_object:scene3d:object_1"));
|
||||||
if (el != NULL)
|
if (el != NULL)
|
||||||
{
|
{
|
||||||
el->setName(selectedInstance.getShapeName());
|
//TODO: Fix that
|
||||||
|
//el->setName(selectedInstance.getShapeName());
|
||||||
el->setPosX(0.0f);
|
el->setPosX(0.0f);
|
||||||
}
|
}
|
||||||
if (selectedInstanceURL.empty())
|
if (selectedInstanceURL.empty())
|
||||||
|
|
|
@ -703,6 +703,57 @@ double CEntityManager::getInstanceColOrient(uint32 idx)
|
||||||
return primitive->getOrientation(dynamicWI);
|
return primitive->getOrientation(dynamicWI);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CVector CEntityManager::getInstanceBBoxMin(uint32 idx)
|
||||||
|
{
|
||||||
|
if (!Scene || idx >= _ShapeInstances.size() || _ShapeInstances[idx].Deleted)
|
||||||
|
return CVector(0,0,0);
|
||||||
|
|
||||||
|
UInstance instance = _ShapeInstances[idx].Instance;
|
||||||
|
if (instance.empty())
|
||||||
|
return CVector(0,0,0);
|
||||||
|
|
||||||
|
NLMISC::CAABBox bbox;
|
||||||
|
_ShapeInstances[idx].Instance.getShapeAABBox(bbox);
|
||||||
|
|
||||||
|
CVector bbox_min;
|
||||||
|
|
||||||
|
if (bbox.getCenter() == CVector::Null)
|
||||||
|
bbox_min = CVector(-0.5f, -0.5f, -0.5f);
|
||||||
|
else
|
||||||
|
bbox_min = bbox.getMin();
|
||||||
|
|
||||||
|
bbox_min.x *= _ShapeInstances[idx].Instance.getScale().x;
|
||||||
|
bbox_min.y *= _ShapeInstances[idx].Instance.getScale().y;
|
||||||
|
bbox_min.z *= _ShapeInstances[idx].Instance.getScale().z;
|
||||||
|
|
||||||
|
return bbox_min+_ShapeInstances[idx].Instance.getPos();
|
||||||
|
}
|
||||||
|
|
||||||
|
CVector CEntityManager::getInstanceBBoxMax(uint32 idx)
|
||||||
|
{
|
||||||
|
if (!Scene || idx >= _ShapeInstances.size() || _ShapeInstances[idx].Deleted)
|
||||||
|
return CVector(0,0,0);
|
||||||
|
|
||||||
|
UInstance instance = _ShapeInstances[idx].Instance;
|
||||||
|
if(instance.empty())
|
||||||
|
return CVector(0,0,0);
|
||||||
|
|
||||||
|
NLMISC::CAABBox bbox;
|
||||||
|
_ShapeInstances[idx].Instance.getShapeAABBox(bbox);
|
||||||
|
|
||||||
|
CVector bbox_max;
|
||||||
|
|
||||||
|
if (bbox.getCenter() == CVector::Null)
|
||||||
|
bbox_max = CVector(-0.5f, -0.5f, -0.5f);
|
||||||
|
else
|
||||||
|
bbox_max = bbox.getMax();
|
||||||
|
|
||||||
|
bbox_max.x *= _ShapeInstances[idx].Instance.getScale().x;
|
||||||
|
bbox_max.y *= _ShapeInstances[idx].Instance.getScale().y;
|
||||||
|
bbox_max.z *= _ShapeInstances[idx].Instance.getScale().z;
|
||||||
|
|
||||||
|
return bbox_max+_ShapeInstances[idx].Instance.getPos();
|
||||||
|
}
|
||||||
|
|
||||||
bool CEntityManager::removeInstances()
|
bool CEntityManager::removeInstances()
|
||||||
{
|
{
|
||||||
|
@ -755,6 +806,18 @@ bool CEntityManager::setupInstance(uint32 idx, const vector<string> &keys, const
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (param == "colorize")
|
else if (param == "colorize")
|
||||||
|
{
|
||||||
|
if (values[i] == "0")
|
||||||
|
{
|
||||||
|
for(uint j=0;j<instance.getNumMaterials();j++)
|
||||||
|
{
|
||||||
|
instance.getMaterial(j).setShininess( 10.0f );
|
||||||
|
instance.getMaterial(j).setEmissive(CRGBA(255,255,255,255));
|
||||||
|
instance.getMaterial(j).setAmbient(CRGBA(0,0,0,255));
|
||||||
|
instance.getMaterial(j).setDiffuse(CRGBA(255,255,255,255));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
CRGBA c;
|
CRGBA c;
|
||||||
if( fromString( values[i], c ) )
|
if( fromString( values[i], c ) )
|
||||||
|
@ -763,10 +826,12 @@ bool CEntityManager::setupInstance(uint32 idx, const vector<string> &keys, const
|
||||||
{
|
{
|
||||||
instance.getMaterial(j).setShininess( 1000.0f );
|
instance.getMaterial(j).setShininess( 1000.0f );
|
||||||
instance.getMaterial(j).setEmissive(c);
|
instance.getMaterial(j).setEmissive(c);
|
||||||
|
instance.getMaterial(j).setAmbient(c);
|
||||||
instance.getMaterial(j).setDiffuse(c);
|
instance.getMaterial(j).setDiffuse(c);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else if (param == "texture")
|
else if (param == "texture")
|
||||||
{
|
{
|
||||||
if (!values[i].empty())
|
if (!values[i].empty())
|
||||||
|
@ -782,6 +847,43 @@ bool CEntityManager::setupInstance(uint32 idx, const vector<string> &keys, const
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (param == "skeleton")
|
||||||
|
{
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
else if (param == "context")
|
||||||
|
{
|
||||||
|
_ShapeInstances[idx].ContextText = values[i];
|
||||||
|
}
|
||||||
|
else if (param == "url")
|
||||||
|
{
|
||||||
|
_ShapeInstances[idx].ContextURL = values[i];
|
||||||
|
}
|
||||||
|
else if (param == "move x" || param == "move y" || param == "move z")
|
||||||
|
{
|
||||||
|
float v;
|
||||||
|
CVector pos = getInstancePos(idx);
|
||||||
|
|
||||||
|
if( getRelativeFloatFromString( values[i], v ) ) {
|
||||||
|
updateVector(param, pos, v, true);
|
||||||
|
} else {
|
||||||
|
updateVector(param, pos, v, false);
|
||||||
|
}
|
||||||
|
setInstancePos(idx, pos);
|
||||||
|
}
|
||||||
|
else if (param == "rot x" || param == "rot y" || param == "rot z")
|
||||||
|
{
|
||||||
|
|
||||||
|
float v;
|
||||||
|
CVector rot = getInstanceRot(idx);
|
||||||
|
|
||||||
|
if( getRelativeFloatFromString( values[i], v ) ) {
|
||||||
|
updateVector(param, rot, v, true);
|
||||||
|
} else {
|
||||||
|
updateVector(param, rot, v, false);
|
||||||
|
}
|
||||||
|
setInstanceRot(idx, rot);
|
||||||
|
}
|
||||||
else if (param == "scale x" || param == "scale y" || param == "scale z")
|
else if (param == "scale x" || param == "scale y" || param == "scale z")
|
||||||
{
|
{
|
||||||
float v;
|
float v;
|
||||||
|
@ -879,6 +981,10 @@ bool CEntityManager::setupInstance(uint32 idx, const vector<string> &keys, const
|
||||||
fromString(values[i], active);
|
fromString(values[i], active);
|
||||||
primitive->setObstacle(active);
|
primitive->setObstacle(active);
|
||||||
}
|
}
|
||||||
|
else if (param == "col obstacle")
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -933,7 +1039,16 @@ CShapeInstanceReference CEntityManager::getShapeInstanceUnderPos(float x, float
|
||||||
bbox_max = bbox.getMax();
|
bbox_max = bbox.getMax();
|
||||||
}
|
}
|
||||||
|
|
||||||
bbox.setMinMax((bbox_min*_ShapeInstances[i].Instance.getScale().x)+_ShapeInstances[i].Instance.getPos(), (bbox_max*_ShapeInstances[i].Instance.getScale().x)+_ShapeInstances[i].Instance.getPos());
|
bbox_min.x *= _ShapeInstances[i].Instance.getScale().x;
|
||||||
|
bbox_min.y *= _ShapeInstances[i].Instance.getScale().y;
|
||||||
|
bbox_min.z *= _ShapeInstances[i].Instance.getScale().z;
|
||||||
|
|
||||||
|
bbox_max.x *= _ShapeInstances[i].Instance.getScale().x;
|
||||||
|
bbox_max.y *= _ShapeInstances[i].Instance.getScale().y;
|
||||||
|
bbox_max.z *= _ShapeInstances[i].Instance.getScale().z;
|
||||||
|
|
||||||
|
|
||||||
|
bbox.setMinMax(bbox_min+_ShapeInstances[i].Instance.getPos(), bbox_max+_ShapeInstances[i].Instance.getPos());
|
||||||
|
|
||||||
if(bbox.intersect(pos, pos+dir*100.0f))
|
if(bbox.intersect(pos, pos+dir*100.0f))
|
||||||
{
|
{
|
||||||
|
|
|
@ -236,6 +236,8 @@ public:
|
||||||
CVector getInstanceColPos(uint32 idx);
|
CVector getInstanceColPos(uint32 idx);
|
||||||
CVector getInstanceColScale(uint32 idx);
|
CVector getInstanceColScale(uint32 idx);
|
||||||
double getInstanceColOrient(uint32 idx);
|
double getInstanceColOrient(uint32 idx);
|
||||||
|
CVector getInstanceBBoxMin(uint32 idx);
|
||||||
|
CVector getInstanceBBoxMax(uint32 idx);
|
||||||
bool setInstanceRot(uint32 idx, CVector pos);
|
bool setInstanceRot(uint32 idx, CVector pos);
|
||||||
bool instancesRemoved();
|
bool instancesRemoved();
|
||||||
bool setupInstance(uint32 idx, const std::vector<std::string> &keys, const std::vector<std::string> &values);
|
bool setupInstance(uint32 idx, const std::vector<std::string> &keys, const std::vector<std::string> &values);
|
||||||
|
|
|
@ -96,9 +96,14 @@ REGISTER_ACTION_HANDLER (CAHDisplayInfos, "display_infos");
|
||||||
// ------------------------------------------------------------------------------------------------
|
// ------------------------------------------------------------------------------------------------
|
||||||
class CAHToggleARKPACSBorders : public IActionHandler
|
class CAHToggleARKPACSBorders : public IActionHandler
|
||||||
{
|
{
|
||||||
virtual void execute (CCtrlBase * /* pCaller */, const string &/* Params */)
|
virtual void execute (CCtrlBase * /* pCaller */, const string &Params)
|
||||||
{
|
{
|
||||||
ARKPACSBorders = !ARKPACSBorders;
|
if (!getParam(Params, "on").empty())
|
||||||
|
ARKPACSBorders = true;
|
||||||
|
else if (!getParam(Params, "off").empty())
|
||||||
|
ARKPACSBorders = false;
|
||||||
|
else ARKPACSBorders = !ARKPACSBorders;
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
REGISTER_ACTION_HANDLER (CAHToggleARKPACSBorders, "ark_pacs_borders");
|
REGISTER_ACTION_HANDLER (CAHToggleARKPACSBorders, "ark_pacs_borders");
|
||||||
|
|
|
@ -2048,7 +2048,8 @@ int CLuaIHMRyzom::addShape(CLuaState &ls)
|
||||||
float x = 0.0f, y = 0.0f, z = 0.0f;
|
float x = 0.0f, y = 0.0f, z = 0.0f;
|
||||||
float scale = 1.0f;
|
float scale = 1.0f;
|
||||||
string context, url, skeleton, texture;
|
string context, url, skeleton, texture;
|
||||||
bool highlight, transparency = false;
|
bool highlight = false;
|
||||||
|
bool transparency = false;
|
||||||
bool collision = true;
|
bool collision = true;
|
||||||
|
|
||||||
if (ls.getTop() >= 2)
|
if (ls.getTop() >= 2)
|
||||||
|
@ -2150,14 +2151,14 @@ int CLuaIHMRyzom::addShape(CLuaState &ls)
|
||||||
if (!highlight)
|
if (!highlight)
|
||||||
{
|
{
|
||||||
instance.getMaterial(j).setAmbient(CRGBA(0,0,0,255));
|
instance.getMaterial(j).setAmbient(CRGBA(0,0,0,255));
|
||||||
instance.getMaterial(j).setShininess( 10.0f );
|
|
||||||
instance.getMaterial(j).setEmissive(CRGBA(255,255,255,255));
|
instance.getMaterial(j).setEmissive(CRGBA(255,255,255,255));
|
||||||
|
instance.getMaterial(j).setShininess(10.0f);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
instance.getMaterial(j).setAmbient(CRGBA(0,0,0,255));
|
instance.getMaterial(j).setAmbient(CRGBA(0,0,0,255));
|
||||||
instance.getMaterial(j).setEmissive(CRGBA(255,0,0,255));
|
instance.getMaterial(j).setEmissive(CRGBA(255,0,0,255));
|
||||||
instance.getMaterial(j).setShininess( 1000.0f );
|
instance.getMaterial(j).setShininess(1000.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!texture.empty())
|
if (!texture.empty())
|
||||||
|
|
|
@ -47,7 +47,6 @@
|
||||||
#include "editor.h"
|
#include "editor.h"
|
||||||
//
|
//
|
||||||
#include "nel/gui/lua_helper.h"
|
#include "nel/gui/lua_helper.h"
|
||||||
using namespace NLGUI;
|
|
||||||
#include "nel/gui/group_tree.h"
|
#include "nel/gui/group_tree.h"
|
||||||
#include "../interface_v3/interface_manager.h"
|
#include "../interface_v3/interface_manager.h"
|
||||||
#include "../contextual_cursor.h"
|
#include "../contextual_cursor.h"
|
||||||
|
@ -122,7 +121,7 @@ using namespace NLGUI;
|
||||||
using namespace NLMISC;
|
using namespace NLMISC;
|
||||||
using namespace NLNET;
|
using namespace NLNET;
|
||||||
using namespace NL3D;
|
using namespace NL3D;
|
||||||
|
using namespace NLGUI;
|
||||||
|
|
||||||
extern CEventsListener EventsListener;
|
extern CEventsListener EventsListener;
|
||||||
extern CLog g_log;
|
extern CLog g_log;
|
||||||
|
|
|
@ -1551,7 +1551,8 @@
|
||||||
<leaf name="DESPAWN"
|
<leaf name="DESPAWN"
|
||||||
type="I7" />
|
type="I7" />
|
||||||
<leaf name="NAME"
|
<leaf name="NAME"
|
||||||
type="I32" />
|
type="I32"
|
||||||
|
is_true="1" />
|
||||||
</branch>
|
</branch>
|
||||||
</branch>
|
</branch>
|
||||||
<branch name="DEBUG_INFO"
|
<branch name="DEBUG_INFO"
|
||||||
|
|
|
@ -355,11 +355,11 @@
|
||||||
<leaf name="EQUIP"
|
<leaf name="EQUIP"
|
||||||
sendto="EGS"
|
sendto="EGS"
|
||||||
format="u16 u16 u16"
|
format="u16 u16 u16"
|
||||||
description="the client equip character (equipped inventory, equipped inventory slot, bag slot)" />
|
description="the client equip character (equiped inventory, equiped inventory slot, bag slot)" />
|
||||||
<leaf name="UNEQUIP"
|
<leaf name="UNEQUIP"
|
||||||
sendto="EGS"
|
sendto="EGS"
|
||||||
format="u16 u16"
|
format="u16 u16"
|
||||||
description="the client unequip character (equipped inventory, equipped inventory slot)" />
|
description="the client unequip character (equiped inventory, equiped inventory slot)" />
|
||||||
<leaf name="TEMP_TO_BAG"
|
<leaf name="TEMP_TO_BAG"
|
||||||
sendto="EGS"
|
sendto="EGS"
|
||||||
format="u16"
|
format="u16"
|
||||||
|
|
|
@ -1198,6 +1198,14 @@ void CBankAccessor_PLR::TEXCHANGE::TGIVE::TArray::init(ICDBStructNode *parent, u
|
||||||
nlassert(node != NULL);
|
nlassert(node != NULL);
|
||||||
_QUANTITY = node;
|
_QUANTITY = node;
|
||||||
|
|
||||||
|
node = parent->getNode( ICDBStructNode::CTextId("CREATE_TIME"), false );
|
||||||
|
nlassert(node != NULL);
|
||||||
|
_CREATE_TIME = node;
|
||||||
|
|
||||||
|
node = parent->getNode( ICDBStructNode::CTextId("SERIAL"), false );
|
||||||
|
nlassert(node != NULL);
|
||||||
|
_SERIAL = node;
|
||||||
|
|
||||||
node = parent->getNode( ICDBStructNode::CTextId("USER_COLOR"), false );
|
node = parent->getNode( ICDBStructNode::CTextId("USER_COLOR"), false );
|
||||||
nlassert(node != NULL);
|
nlassert(node != NULL);
|
||||||
_USER_COLOR = node;
|
_USER_COLOR = node;
|
||||||
|
@ -1277,6 +1285,14 @@ void CBankAccessor_PLR::TEXCHANGE::TRECEIVE::TArray::init(ICDBStructNode *parent
|
||||||
nlassert(node != NULL);
|
nlassert(node != NULL);
|
||||||
_QUANTITY = node;
|
_QUANTITY = node;
|
||||||
|
|
||||||
|
node = parent->getNode( ICDBStructNode::CTextId("CREATE_TIME"), false );
|
||||||
|
nlassert(node != NULL);
|
||||||
|
_CREATE_TIME = node;
|
||||||
|
|
||||||
|
node = parent->getNode( ICDBStructNode::CTextId("SERIAL"), false );
|
||||||
|
nlassert(node != NULL);
|
||||||
|
_SERIAL = node;
|
||||||
|
|
||||||
node = parent->getNode( ICDBStructNode::CTextId("USER_COLOR"), false );
|
node = parent->getNode( ICDBStructNode::CTextId("USER_COLOR"), false );
|
||||||
nlassert(node != NULL);
|
nlassert(node != NULL);
|
||||||
_USER_COLOR = node;
|
_USER_COLOR = node;
|
||||||
|
@ -1484,6 +1500,14 @@ void CBankAccessor_PLR::TINVENTORY::TTEMP::TArray::init(ICDBStructNode *parent,
|
||||||
nlassert(node != NULL);
|
nlassert(node != NULL);
|
||||||
_QUANTITY = node;
|
_QUANTITY = node;
|
||||||
|
|
||||||
|
node = parent->getNode( ICDBStructNode::CTextId("CREATE_TIME"), false );
|
||||||
|
nlassert(node != NULL);
|
||||||
|
_CREATE_TIME = node;
|
||||||
|
|
||||||
|
node = parent->getNode( ICDBStructNode::CTextId("SERIAL"), false );
|
||||||
|
nlassert(node != NULL);
|
||||||
|
_SERIAL = node;
|
||||||
|
|
||||||
node = parent->getNode( ICDBStructNode::CTextId("USER_COLOR"), false );
|
node = parent->getNode( ICDBStructNode::CTextId("USER_COLOR"), false );
|
||||||
nlassert(node != NULL);
|
nlassert(node != NULL);
|
||||||
_USER_COLOR = node;
|
_USER_COLOR = node;
|
||||||
|
@ -1574,6 +1598,14 @@ void CBankAccessor_PLR::TINVENTORY::TSHARE::TArray::init(ICDBStructNode *parent,
|
||||||
nlassert(node != NULL);
|
nlassert(node != NULL);
|
||||||
_QUANTITY = node;
|
_QUANTITY = node;
|
||||||
|
|
||||||
|
node = parent->getNode( ICDBStructNode::CTextId("CREATE_TIME"), false );
|
||||||
|
nlassert(node != NULL);
|
||||||
|
_CREATE_TIME = node;
|
||||||
|
|
||||||
|
node = parent->getNode( ICDBStructNode::CTextId("SERIAL"), false );
|
||||||
|
nlassert(node != NULL);
|
||||||
|
_SERIAL = node;
|
||||||
|
|
||||||
node = parent->getNode( ICDBStructNode::CTextId("USER_COLOR"), false );
|
node = parent->getNode( ICDBStructNode::CTextId("USER_COLOR"), false );
|
||||||
nlassert(node != NULL);
|
nlassert(node != NULL);
|
||||||
_USER_COLOR = node;
|
_USER_COLOR = node;
|
||||||
|
@ -2126,6 +2158,14 @@ void CBankAccessor_PLR::TTRADING::TArray::init(ICDBStructNode *parent, uint inde
|
||||||
nlassert(node != NULL);
|
nlassert(node != NULL);
|
||||||
_QUANTITY = node;
|
_QUANTITY = node;
|
||||||
|
|
||||||
|
node = parent->getNode( ICDBStructNode::CTextId("CREATE_TIME"), false );
|
||||||
|
nlassert(node != NULL);
|
||||||
|
_CREATE_TIME = node;
|
||||||
|
|
||||||
|
node = parent->getNode( ICDBStructNode::CTextId("SERIAL"), false );
|
||||||
|
nlassert(node != NULL);
|
||||||
|
_SERIAL = node;
|
||||||
|
|
||||||
node = parent->getNode( ICDBStructNode::CTextId("USER_COLOR"), false );
|
node = parent->getNode( ICDBStructNode::CTextId("USER_COLOR"), false );
|
||||||
nlassert(node != NULL);
|
nlassert(node != NULL);
|
||||||
_USER_COLOR = node;
|
_USER_COLOR = node;
|
||||||
|
@ -3140,11 +3180,11 @@ void CBankAccessor_PLR::TPACK_ANIMAL::TBEAST::init(ICDBStructNode *parent, uint
|
||||||
nlassert(node != NULL);
|
nlassert(node != NULL);
|
||||||
_DESPAWN = node;
|
_DESPAWN = node;
|
||||||
|
|
||||||
// WARNING: let the value to true, else it'll corrupt backups
|
|
||||||
node = parent->getNode( ICDBStructNode::CTextId("NAME"), true );
|
node = parent->getNode( ICDBStructNode::CTextId("NAME"), true );
|
||||||
nlassert(node != NULL);
|
nlassert(node != NULL);
|
||||||
_NAME = node;
|
_NAME = node;
|
||||||
|
|
||||||
|
|
||||||
// branch init
|
// branch init
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -956,6 +956,8 @@ inline void _getProp(const CCDBSynchronised &db, ICDBStructNode *node, NLMISC::C
|
||||||
|
|
||||||
void setIS_INVISIBLE(CCDBSynchronised &dbGroup, bool value, bool forceSending = false)
|
void setIS_INVISIBLE(CCDBSynchronised &dbGroup, bool value, bool forceSending = false)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
_setProp(dbGroup, _IS_INVISIBLE, value, forceSending);
|
_setProp(dbGroup, _IS_INVISIBLE, value, forceSending);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1313,7 +1315,6 @@ inline void _getProp(const CCDBSynchronised &db, ICDBStructNode *node, NLMISC::C
|
||||||
{
|
{
|
||||||
return _DODGE;
|
return _DODGE;
|
||||||
}
|
}
|
||||||
|
|
||||||
TBRICK_TICK_RANGE &getBRICK_TICK_RANGE()
|
TBRICK_TICK_RANGE &getBRICK_TICK_RANGE()
|
||||||
{
|
{
|
||||||
return _BRICK_TICK_RANGE;
|
return _BRICK_TICK_RANGE;
|
||||||
|
@ -2781,6 +2782,8 @@ inline void _getProp(const CCDBSynchronised &db, ICDBStructNode *node, NLMISC::C
|
||||||
ICDBStructNode *_SHEET;
|
ICDBStructNode *_SHEET;
|
||||||
ICDBStructNode *_QUALITY;
|
ICDBStructNode *_QUALITY;
|
||||||
ICDBStructNode *_QUANTITY;
|
ICDBStructNode *_QUANTITY;
|
||||||
|
ICDBStructNode *_CREATE_TIME;
|
||||||
|
ICDBStructNode *_SERIAL;
|
||||||
ICDBStructNode *_USER_COLOR;
|
ICDBStructNode *_USER_COLOR;
|
||||||
ICDBStructNode *_WEIGHT;
|
ICDBStructNode *_WEIGHT;
|
||||||
ICDBStructNode *_NAMEID;
|
ICDBStructNode *_NAMEID;
|
||||||
|
@ -2867,6 +2870,46 @@ inline void _getProp(const CCDBSynchronised &db, ICDBStructNode *node, NLMISC::C
|
||||||
return _QUANTITY;
|
return _QUANTITY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void setCREATE_TIME(CCDBSynchronised &dbGroup, uint32 value, bool forceSending = false)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
_setProp(dbGroup, _CREATE_TIME, value, forceSending);
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32 getCREATE_TIME(const CCDBSynchronised &dbGroup)
|
||||||
|
{
|
||||||
|
uint32 value;
|
||||||
|
_getProp(dbGroup, _CREATE_TIME, value);
|
||||||
|
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
ICDBStructNode *getCREATE_TIMECDBNode()
|
||||||
|
{
|
||||||
|
return _CREATE_TIME;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setSERIAL(CCDBSynchronised &dbGroup, uint32 value, bool forceSending = false)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
_setProp(dbGroup, _SERIAL, value, forceSending);
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32 getSERIAL(const CCDBSynchronised &dbGroup)
|
||||||
|
{
|
||||||
|
uint32 value;
|
||||||
|
_getProp(dbGroup, _SERIAL, value);
|
||||||
|
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
ICDBStructNode *getSERIALCDBNode()
|
||||||
|
{
|
||||||
|
return _SERIAL;
|
||||||
|
}
|
||||||
|
|
||||||
void setUSER_COLOR(CCDBSynchronised &dbGroup, uint8 value, bool forceSending = false)
|
void setUSER_COLOR(CCDBSynchronised &dbGroup, uint8 value, bool forceSending = false)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -3080,6 +3123,8 @@ inline void _getProp(const CCDBSynchronised &db, ICDBStructNode *node, NLMISC::C
|
||||||
ICDBStructNode *_SHEET;
|
ICDBStructNode *_SHEET;
|
||||||
ICDBStructNode *_QUALITY;
|
ICDBStructNode *_QUALITY;
|
||||||
ICDBStructNode *_QUANTITY;
|
ICDBStructNode *_QUANTITY;
|
||||||
|
ICDBStructNode *_CREATE_TIME;
|
||||||
|
ICDBStructNode *_SERIAL;
|
||||||
ICDBStructNode *_USER_COLOR;
|
ICDBStructNode *_USER_COLOR;
|
||||||
ICDBStructNode *_WEIGHT;
|
ICDBStructNode *_WEIGHT;
|
||||||
ICDBStructNode *_NAMEID;
|
ICDBStructNode *_NAMEID;
|
||||||
|
@ -3166,6 +3211,46 @@ inline void _getProp(const CCDBSynchronised &db, ICDBStructNode *node, NLMISC::C
|
||||||
return _QUANTITY;
|
return _QUANTITY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void setCREATE_TIME(CCDBSynchronised &dbGroup, uint32 value, bool forceSending = false)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
_setProp(dbGroup, _CREATE_TIME, value, forceSending);
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32 getCREATE_TIME(const CCDBSynchronised &dbGroup)
|
||||||
|
{
|
||||||
|
uint32 value;
|
||||||
|
_getProp(dbGroup, _CREATE_TIME, value);
|
||||||
|
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
ICDBStructNode *getCREATE_TIMECDBNode()
|
||||||
|
{
|
||||||
|
return _CREATE_TIME;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setSERIAL(CCDBSynchronised &dbGroup, uint32 value, bool forceSending = false)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
_setProp(dbGroup, _SERIAL, value, forceSending);
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32 getSERIAL(const CCDBSynchronised &dbGroup)
|
||||||
|
{
|
||||||
|
uint32 value;
|
||||||
|
_getProp(dbGroup, _SERIAL, value);
|
||||||
|
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
ICDBStructNode *getSERIALCDBNode()
|
||||||
|
{
|
||||||
|
return _SERIAL;
|
||||||
|
}
|
||||||
|
|
||||||
void setUSER_COLOR(CCDBSynchronised &dbGroup, uint8 value, bool forceSending = false)
|
void setUSER_COLOR(CCDBSynchronised &dbGroup, uint8 value, bool forceSending = false)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -3471,6 +3556,8 @@ inline void _getProp(const CCDBSynchronised &db, ICDBStructNode *node, NLMISC::C
|
||||||
|
|
||||||
void setMONEY(CCDBSynchronised &dbGroup, uint64 value, bool forceSending = false)
|
void setMONEY(CCDBSynchronised &dbGroup, uint64 value, bool forceSending = false)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
_setProp(dbGroup, _MONEY, value, forceSending);
|
_setProp(dbGroup, _MONEY, value, forceSending);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3710,6 +3797,8 @@ inline void _getProp(const CCDBSynchronised &db, ICDBStructNode *node, NLMISC::C
|
||||||
ICDBStructNode *_SHEET;
|
ICDBStructNode *_SHEET;
|
||||||
ICDBStructNode *_QUALITY;
|
ICDBStructNode *_QUALITY;
|
||||||
ICDBStructNode *_QUANTITY;
|
ICDBStructNode *_QUANTITY;
|
||||||
|
ICDBStructNode *_CREATE_TIME;
|
||||||
|
ICDBStructNode *_SERIAL;
|
||||||
ICDBStructNode *_USER_COLOR;
|
ICDBStructNode *_USER_COLOR;
|
||||||
ICDBStructNode *_WEIGHT;
|
ICDBStructNode *_WEIGHT;
|
||||||
ICDBStructNode *_NAMEID;
|
ICDBStructNode *_NAMEID;
|
||||||
|
@ -3796,6 +3885,46 @@ inline void _getProp(const CCDBSynchronised &db, ICDBStructNode *node, NLMISC::C
|
||||||
return _QUANTITY;
|
return _QUANTITY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void setCREATE_TIME(CCDBSynchronised &dbGroup, uint32 value, bool forceSending = false)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
_setProp(dbGroup, _CREATE_TIME, value, forceSending);
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32 getCREATE_TIME(const CCDBSynchronised &dbGroup)
|
||||||
|
{
|
||||||
|
uint32 value;
|
||||||
|
_getProp(dbGroup, _CREATE_TIME, value);
|
||||||
|
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
ICDBStructNode *getCREATE_TIMECDBNode()
|
||||||
|
{
|
||||||
|
return _CREATE_TIME;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setSERIAL(CCDBSynchronised &dbGroup, uint32 value, bool forceSending = false)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
_setProp(dbGroup, _SERIAL, value, forceSending);
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32 getSERIAL(const CCDBSynchronised &dbGroup)
|
||||||
|
{
|
||||||
|
uint32 value;
|
||||||
|
_getProp(dbGroup, _SERIAL, value);
|
||||||
|
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
ICDBStructNode *getSERIALCDBNode()
|
||||||
|
{
|
||||||
|
return _SERIAL;
|
||||||
|
}
|
||||||
|
|
||||||
void setUSER_COLOR(CCDBSynchronised &dbGroup, uint8 value, bool forceSending = false)
|
void setUSER_COLOR(CCDBSynchronised &dbGroup, uint8 value, bool forceSending = false)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -4051,6 +4180,8 @@ inline void _getProp(const CCDBSynchronised &db, ICDBStructNode *node, NLMISC::C
|
||||||
ICDBStructNode *_SHEET;
|
ICDBStructNode *_SHEET;
|
||||||
ICDBStructNode *_QUALITY;
|
ICDBStructNode *_QUALITY;
|
||||||
ICDBStructNode *_QUANTITY;
|
ICDBStructNode *_QUANTITY;
|
||||||
|
ICDBStructNode *_CREATE_TIME;
|
||||||
|
ICDBStructNode *_SERIAL;
|
||||||
ICDBStructNode *_USER_COLOR;
|
ICDBStructNode *_USER_COLOR;
|
||||||
ICDBStructNode *_WEIGHT;
|
ICDBStructNode *_WEIGHT;
|
||||||
ICDBStructNode *_NAMEID;
|
ICDBStructNode *_NAMEID;
|
||||||
|
@ -4140,6 +4271,46 @@ inline void _getProp(const CCDBSynchronised &db, ICDBStructNode *node, NLMISC::C
|
||||||
return _QUANTITY;
|
return _QUANTITY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void setCREATE_TIME(CCDBSynchronised &dbGroup, uint32 value, bool forceSending = false)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
_setProp(dbGroup, _CREATE_TIME, value, forceSending);
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32 getCREATE_TIME(const CCDBSynchronised &dbGroup)
|
||||||
|
{
|
||||||
|
uint32 value;
|
||||||
|
_getProp(dbGroup, _CREATE_TIME, value);
|
||||||
|
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
ICDBStructNode *getCREATE_TIMECDBNode()
|
||||||
|
{
|
||||||
|
return _CREATE_TIME;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setSERIAL(CCDBSynchronised &dbGroup, uint32 value, bool forceSending = false)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
_setProp(dbGroup, _SERIAL, value, forceSending);
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32 getSERIAL(const CCDBSynchronised &dbGroup)
|
||||||
|
{
|
||||||
|
uint32 value;
|
||||||
|
_getProp(dbGroup, _SERIAL, value);
|
||||||
|
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
ICDBStructNode *getSERIALCDBNode()
|
||||||
|
{
|
||||||
|
return _SERIAL;
|
||||||
|
}
|
||||||
|
|
||||||
void setUSER_COLOR(CCDBSynchronised &dbGroup, uint8 value, bool forceSending = false)
|
void setUSER_COLOR(CCDBSynchronised &dbGroup, uint8 value, bool forceSending = false)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -4572,6 +4743,8 @@ inline void _getProp(const CCDBSynchronised &db, ICDBStructNode *node, NLMISC::C
|
||||||
|
|
||||||
void setMONEY(CCDBSynchronised &dbGroup, uint64 value, bool forceSending = false)
|
void setMONEY(CCDBSynchronised &dbGroup, uint64 value, bool forceSending = false)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
_setProp(dbGroup, _MONEY, value, forceSending);
|
_setProp(dbGroup, _MONEY, value, forceSending);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4587,8 +4760,10 @@ inline void _getProp(const CCDBSynchronised &db, ICDBStructNode *node, NLMISC::C
|
||||||
{
|
{
|
||||||
return _MONEY;
|
return _MONEY;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
ICDBStructNode *_BranchNode;
|
ICDBStructNode *_BranchNode;
|
||||||
|
|
||||||
|
@ -4610,8 +4785,11 @@ inline void _getProp(const CCDBSynchronised &db, ICDBStructNode *node, NLMISC::C
|
||||||
return _BranchNode;
|
return _BranchNode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void setMONEY(CCDBSynchronised &dbGroup, uint64 value, bool forceSending = false)
|
void setMONEY(CCDBSynchronised &dbGroup, uint64 value, bool forceSending = false)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
_setProp(dbGroup, _MONEY, value, forceSending);
|
_setProp(dbGroup, _MONEY, value, forceSending);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5687,6 +5865,8 @@ inline void _getProp(const CCDBSynchronised &db, ICDBStructNode *node, NLMISC::C
|
||||||
ICDBStructNode *_SHEET;
|
ICDBStructNode *_SHEET;
|
||||||
ICDBStructNode *_QUALITY;
|
ICDBStructNode *_QUALITY;
|
||||||
ICDBStructNode *_QUANTITY;
|
ICDBStructNode *_QUANTITY;
|
||||||
|
ICDBStructNode *_CREATE_TIME;
|
||||||
|
ICDBStructNode *_SERIAL;
|
||||||
ICDBStructNode *_USER_COLOR;
|
ICDBStructNode *_USER_COLOR;
|
||||||
ICDBStructNode *_WEIGHT;
|
ICDBStructNode *_WEIGHT;
|
||||||
ICDBStructNode *_NAMEID;
|
ICDBStructNode *_NAMEID;
|
||||||
|
@ -5785,6 +5965,46 @@ inline void _getProp(const CCDBSynchronised &db, ICDBStructNode *node, NLMISC::C
|
||||||
return _QUANTITY;
|
return _QUANTITY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void setCREATE_TIME(CCDBSynchronised &dbGroup, uint32 value, bool forceSending = false)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
_setProp(dbGroup, _CREATE_TIME, value, forceSending);
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32 getCREATE_TIME(const CCDBSynchronised &dbGroup)
|
||||||
|
{
|
||||||
|
uint32 value;
|
||||||
|
_getProp(dbGroup, _CREATE_TIME, value);
|
||||||
|
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
ICDBStructNode *getCREATE_TIMECDBNode()
|
||||||
|
{
|
||||||
|
return _CREATE_TIME;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setSERIAL(CCDBSynchronised &dbGroup, uint32 value, bool forceSending = false)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
_setProp(dbGroup, _SERIAL, value, forceSending);
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32 getSERIAL(const CCDBSynchronised &dbGroup)
|
||||||
|
{
|
||||||
|
uint32 value;
|
||||||
|
_getProp(dbGroup, _SERIAL, value);
|
||||||
|
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
ICDBStructNode *getSERIALCDBNode()
|
||||||
|
{
|
||||||
|
return _SERIAL;
|
||||||
|
}
|
||||||
|
|
||||||
void setUSER_COLOR(CCDBSynchronised &dbGroup, uint8 value, bool forceSending = false)
|
void setUSER_COLOR(CCDBSynchronised &dbGroup, uint8 value, bool forceSending = false)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -6005,6 +6225,8 @@ inline void _getProp(const CCDBSynchronised &db, ICDBStructNode *node, NLMISC::C
|
||||||
|
|
||||||
void setMONEY_SHEET(CCDBSynchronised &dbGroup, NLMISC::CSheetId value, bool forceSending = false)
|
void setMONEY_SHEET(CCDBSynchronised &dbGroup, NLMISC::CSheetId value, bool forceSending = false)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
_setProp(dbGroup, _MONEY_SHEET, value, forceSending);
|
_setProp(dbGroup, _MONEY_SHEET, value, forceSending);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8862,6 +9084,7 @@ inline void _getProp(const CCDBSynchronised &db, ICDBStructNode *node, NLMISC::C
|
||||||
ICDBStructNode *_DESPAWN;
|
ICDBStructNode *_DESPAWN;
|
||||||
ICDBStructNode *_NAME;
|
ICDBStructNode *_NAME;
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void init(ICDBStructNode *parent, uint index);
|
void init(ICDBStructNode *parent, uint index);
|
||||||
|
|
||||||
|
@ -9052,6 +9275,8 @@ inline void _getProp(const CCDBSynchronised &db, ICDBStructNode *node, NLMISC::C
|
||||||
|
|
||||||
void setNAME(CCDBSynchronised &dbGroup, uint32 value, bool forceSending = false)
|
void setNAME(CCDBSynchronised &dbGroup, uint32 value, bool forceSending = false)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
_setProp(dbGroup, _NAME, value, forceSending);
|
_setProp(dbGroup, _NAME, value, forceSending);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9067,6 +9292,7 @@ inline void _getProp(const CCDBSynchronised &db, ICDBStructNode *node, NLMISC::C
|
||||||
{
|
{
|
||||||
return _NAME;
|
return _NAME;
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1072,11 +1072,15 @@ void CCharacterInvView::updateClientSlot(uint32 slot, const CGameItemPtr item)
|
||||||
resaleFlag = BOTCHATTYPE::ResaleKOLockedByOwner;
|
resaleFlag = BOTCHATTYPE::ResaleKOLockedByOwner;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const INVENTORIES::TItemId &itemId = item->getItemId();
|
||||||
|
|
||||||
INVENTORIES::CItemSlot itemSlot( slot );
|
INVENTORIES::CItemSlot itemSlot( slot );
|
||||||
itemSlot.setItemProp( INVENTORIES::Sheet, item->getSheetId().asInt() );
|
itemSlot.setItemProp( INVENTORIES::Sheet, item->getSheetId().asInt() );
|
||||||
itemSlot.setItemProp( INVENTORIES::Quality, item->quality() );
|
itemSlot.setItemProp( INVENTORIES::Quality, item->quality() );
|
||||||
itemSlot.setItemProp( INVENTORIES::Quantity, item->getStackSize() );
|
itemSlot.setItemProp( INVENTORIES::Quantity, item->getStackSize() );
|
||||||
itemSlot.setItemProp( INVENTORIES::UserColor, item->color() );
|
itemSlot.setItemProp( INVENTORIES::UserColor, item->color() );
|
||||||
|
itemSlot.setItemProp( INVENTORIES::CreateTime, itemId.getCreateTime() );
|
||||||
|
itemSlot.setItemProp( INVENTORIES::Serial, itemId.getSerialNumber() );
|
||||||
itemSlot.setItemProp( INVENTORIES::Locked, item->getLockCount() );
|
itemSlot.setItemProp( INVENTORIES::Locked, item->getLockCount() );
|
||||||
itemSlot.setItemProp( INVENTORIES::Weight, item->weight() / 10 );
|
itemSlot.setItemProp( INVENTORIES::Weight, item->weight() / 10 );
|
||||||
itemSlot.setItemProp( INVENTORIES::NameId, item->sendNameId(getCharacter()) );
|
itemSlot.setItemProp( INVENTORIES::NameId, item->sendNameId(getCharacter()) );
|
||||||
|
|
Loading…
Reference in a new issue