Fix for messy commits in attempt to fix groups wire colors...
- if you add new theme colors, you need to initialize them correctly and add that in the usiblender.c version patching for saved themes - the code for detecting group membership was highly confusing - group colors were even used for non-groups Further; I didnt add group theme colors yet, that's not a bug. It's a todo item I preferred to tackle with having a decent wirecolor system once.
This commit is contained in:
@@ -1903,7 +1903,7 @@ static void draw_mesh_fancy(Base *base, DerivedMesh *baseDM, DerivedMesh *dm, in
|
||||
if(ob==OBACT && ob->flag & OB_FROMGROUP)
|
||||
BIF_ThemeColor(TH_GROUP_ACTIVE);
|
||||
else if(ob->flag & OB_FROMGROUP)
|
||||
BIF_ThemeColor(TH_GROUP);
|
||||
BIF_ThemeColorShade(TH_GROUP_ACTIVE, -16);
|
||||
else
|
||||
BIF_ThemeColor((ob==OBACT)?TH_ACTIVE:TH_SELECT);
|
||||
} else {
|
||||
@@ -3481,13 +3481,22 @@ static void drawSolidSelect(Base *base)
|
||||
static void drawWireExtra(Object *ob)
|
||||
{
|
||||
if(ob!=G.obedit && (ob->flag & SELECT)) {
|
||||
if(ob==OBACT && ob->dtx & OB_DRAWWIRE) BIF_ThemeColor(TH_GROUP_ACTIVE);
|
||||
else if(ob->dtx & OB_DRAWWIRE) BIF_ThemeColor(TH_GROUP);
|
||||
else if(ob==OBACT) BIF_ThemeColor(TH_ACTIVE);
|
||||
else BIF_ThemeColor(TH_SELECT);
|
||||
if(ob==OBACT) {
|
||||
if(ob->flag & OB_FROMGROUP) BIF_ThemeColor(TH_GROUP_ACTIVE);
|
||||
else BIF_ThemeColor(TH_ACTIVE);
|
||||
}
|
||||
else if(ob->flag & OB_FROMGROUP)
|
||||
BIF_ThemeColorShade(TH_GROUP_ACTIVE, -16);
|
||||
else
|
||||
BIF_ThemeColor(TH_SELECT);
|
||||
}
|
||||
else BIF_ThemeColor(TH_WIRE);
|
||||
|
||||
else {
|
||||
if(ob->flag & OB_FROMGROUP)
|
||||
BIF_ThemeColor(TH_GROUP);
|
||||
else
|
||||
BIF_ThemeColor(TH_WIRE);
|
||||
}
|
||||
|
||||
bglPolygonOffset(1.0);
|
||||
glDepthMask(0); // disable write in zbuffer, selected edge wires show better
|
||||
|
||||
@@ -3675,7 +3684,7 @@ void draw_object(Base *base, int flag)
|
||||
else if(ob->flag & OB_FROMGROUP) {
|
||||
if(base->flag & (SELECT+BA_WAS_SEL)) {
|
||||
if(G.scene->basact==base) BIF_ThemeColor(TH_GROUP_ACTIVE);
|
||||
else BIF_ThemeColor(TH_GROUP);
|
||||
else BIF_ThemeColorShade(TH_GROUP_ACTIVE, -16);
|
||||
}
|
||||
else BIF_ThemeColor(TH_GROUP);
|
||||
colindex= 0;
|
||||
|
||||
@@ -358,8 +358,8 @@ void BIF_InitTheme(void)
|
||||
SETCOL(btheme->tv3d.lamp, 0, 0, 0, 40);
|
||||
SETCOL(btheme->tv3d.select, 0xff, 0x88, 0xff, 255);
|
||||
SETCOL(btheme->tv3d.active, 0xff, 0xbb, 0xff, 255);
|
||||
SETCOL(btheme->tv3d.group, 0x32, 0xcd, 0x32, 255);
|
||||
SETCOL(btheme->tv3d.group_active, 0xb4, 0xee, 0xb4, 255);
|
||||
SETCOL(btheme->tv3d.group, 0x10, 0x40, 0x10, 255);
|
||||
SETCOL(btheme->tv3d.group_active, 0x55, 0xbb, 0x55, 255);
|
||||
SETCOL(btheme->tv3d.transform, 0xff, 0xff, 0xff, 255);
|
||||
SETCOL(btheme->tv3d.vertex, 0xff, 0x70, 0xff, 255);
|
||||
SETCOL(btheme->tv3d.vertex_select, 0xff, 0xff, 0x70, 255);
|
||||
|
||||
@@ -286,6 +286,10 @@ static void init_userdef_file(void)
|
||||
SETCOL(btheme->tnode.syntaxv, 120, 120, 120, 255); /* generator */
|
||||
SETCOL(btheme->tnode.syntaxc, 120, 145, 120, 255); /* group */
|
||||
}
|
||||
if(btheme->tv3d.group[3]==0) {
|
||||
SETCOL(btheme->tv3d.group, 0x10, 0x40, 0x10, 255);
|
||||
SETCOL(btheme->tv3d.group_active, 0x66, 0xFF, 0x66, 255);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user