From 1b1667018e3e960d21ec0c802290a5e49ffe2a90 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 27 May 2009 00:03:49 +0000 Subject: UI: * Added Constraints template and Add Constraint operator. * Added toggle=True/False parameter to uiItemR, to get a toggle button (actual button) rather than an "option" button (checkbox) * Added OPTION/OPTIONN button type, to distinguish with TOG/TOGN. RNA: * Make all modifier pointers editable, including correct updates. * Added notifiers and updates to constraints. * Fix a stack corruption, pointed out by Andrea, and potentially causing crashes. --- release/ui/buttons_data_modifier.py | 35 ++++++++++++--------- release/ui/buttons_object_constraint.py | 54 +++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+), 15 deletions(-) create mode 100644 release/ui/buttons_object_constraint.py (limited to 'release') diff --git a/release/ui/buttons_data_modifier.py b/release/ui/buttons_data_modifier.py index d60df5df528..93fa122caf8 100644 --- a/release/ui/buttons_data_modifier.py +++ b/release/ui/buttons_data_modifier.py @@ -23,9 +23,9 @@ class DATA_PT_modifiers(DataButtonsPanel): row.itemL(); for md in ob.modifiers: - box = layout.template_modifier(context, md) + box = layout.template_modifier(md) - if md.expanded: + if box: if md.type == 'ARMATURE': self.armature(box, md) if md.type == 'ARRAY': @@ -103,7 +103,7 @@ class DATA_PT_modifiers(DataButtonsPanel): if md.fit_type == 'FIT_LENGTH': layout.itemR(md, "length") if md.fit_type == 'FIT_CURVE': - layout.itemR(md, "curve") + layout.itemR(md, "curve") split = layout.split() @@ -150,9 +150,11 @@ class DATA_PT_modifiers(DataButtonsPanel): def build(self, layout, md): layout.itemR(md, "start") layout.itemR(md, "length") - layout.itemR(md, "randomize") + + row = layout.row() + row.itemR(md, "randomize") if md.randomize: - layout.itemR(md, "seed") + row.itemR(md, "seed") def cast(self, layout, md): layout.itemR(md, "cast_type") @@ -173,7 +175,7 @@ class DATA_PT_modifiers(DataButtonsPanel): layout.itemL(text="See Collision panel.") def curve(self, layout, md): - layout.itemR(md, "curve") + layout.itemR(md, "object") layout.itemR(md, "vertex_group") layout.itemR(md, "deform_axis") @@ -218,7 +220,7 @@ class DATA_PT_modifiers(DataButtonsPanel): # Missing: "Reset" and "Recenter" def lattice(self, layout, md): - layout.itemR(md, "lattice") + layout.itemR(md, "object") layout.itemR(md, "vertex_group") def mask(self, layout, md): @@ -230,7 +232,7 @@ class DATA_PT_modifiers(DataButtonsPanel): layout.itemR(md, "inverse") def meshdeform(self, layout, md): - layout.itemR(md, "mesh") + layout.itemR(md, "object") layout.itemR(md, "vertex_group") layout.itemR(md, "invert") layout.itemR(md, "precision") @@ -312,9 +314,10 @@ class DATA_PT_modifiers(DataButtonsPanel): def smooth(self, layout, md): split = layout.split() sub = split.column() - sub.itemR(md, "x") - sub.itemR(md, "y") - sub.itemR(md, "z") + row = sub.row(align=True) + row.itemR(md, "x", toggle=True) + row.itemR(md, "y", toggle=True) + row.itemR(md, "z", toggle=True) sub = split.column() sub.itemR(md, "factor") sub.itemR(md, "repeat") @@ -353,9 +356,10 @@ class DATA_PT_modifiers(DataButtonsPanel): sub = split.column() sub.itemR(md, "normals") if md.normals: - sub.itemR(md, "x_normal", text="X") - sub.itemR(md, "y_normal", text="Y") - sub.itemR(md, "z_normal", text="Z") + row = sub.row(align=True) + row.itemR(md, "x_normal", text="X", toggle=True) + row.itemR(md, "y_normal", text="Y", toggle=True) + row.itemR(md, "z_normal", text="Z", toggle=True) col = layout.column_flow() col.itemR(md, "time_offset") @@ -380,4 +384,5 @@ class DATA_PT_modifiers(DataButtonsPanel): col.itemR(md, "width", slider=True) col.itemR(md, "narrowness", slider=True) -bpy.types.register(DATA_PT_modifiers) \ No newline at end of file +bpy.types.register(DATA_PT_modifiers) + diff --git a/release/ui/buttons_object_constraint.py b/release/ui/buttons_object_constraint.py new file mode 100644 index 00000000000..bf1f5cd208e --- /dev/null +++ b/release/ui/buttons_object_constraint.py @@ -0,0 +1,54 @@ + +import bpy + +class DataButtonsPanel(bpy.types.Panel): + __space_type__ = "BUTTONS_WINDOW" + __region_type__ = "WINDOW" + __context__ = "object" + + def poll(self, context): + ob = context.active_object + return (ob != None) + +class DATA_PT_constraints(DataButtonsPanel): + __idname__ = "DATA_PT_constraints" + __label__ = "Constraints" + + def draw(self, context): + ob = context.active_object + layout = self.layout + + row = layout.row() + row.item_menu_enumO("OBJECT_OT_constraint_add", "type") + row.itemL(); + + for con in ob.constraints: + box = layout.template_constraint(con) + + if box: + if con.type == 'COPY_LOCATION': + self.copy_location(box, con) + + def copy_location(self, layout, con): + layout.itemR(con, "target") + + if con.target and con.target.type == "ARMATURE": + layout.itemR(con, "subtarget", text="Bone") # XXX autocomplete + row = layout.row() + row.itemL(text="Head/Tail:") + row.itemR(con, "head_tail", text="") + elif con.target and con.target.type == "MESH": + layout.itemR(con, "subtarget", text="Vertex Group") # XXX autocomplete + + row = layout.row(align=True) + row.itemR(con, "locate_like_x", text="X", toggle=True) + row.itemR(con, "invert_x", text="-", toggle=True) + row.itemR(con, "locate_like_y", text="Y", toggle=True) + row.itemR(con, "invert_y", text="-", toggle=True) + row.itemR(con, "locate_like_z", text="Z", toggle=True) + row.itemR(con, "invert_z", text="-", toggle=True) + + layout.itemR(con, "offset") + +bpy.types.register(DATA_PT_constraints) + -- cgit v1.2.3 From af324690ee646973ade5ba6ce5b5b0574a7b8d67 Mon Sep 17 00:00:00 2001 From: Matt Ebb Date: Wed, 27 May 2009 03:42:51 +0000 Subject: * Small graphical/gui tweaks to constraint and modifier templates --- release/datafiles/blenderbuttons | Bin 176721 -> 177005 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'release') diff --git a/release/datafiles/blenderbuttons b/release/datafiles/blenderbuttons index 460067112d3..467e79f024a 100644 Binary files a/release/datafiles/blenderbuttons and b/release/datafiles/blenderbuttons differ -- cgit v1.2.3 From e1681fcf3574c89ffa12a0e2e1a9953581a6f9a7 Mon Sep 17 00:00:00 2001 From: Joshua Leung Date: Wed, 27 May 2009 07:28:51 +0000 Subject: 2.5 - Constraint Buttons Layout file Separated out the code for defining the layout for the constraint targets since its practically the same (with a few minor variations) for all of the other constraints. --- release/ui/buttons_object_constraint.py | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) (limited to 'release') diff --git a/release/ui/buttons_object_constraint.py b/release/ui/buttons_object_constraint.py index bf1f5cd208e..1ff1bec199d 100644 --- a/release/ui/buttons_object_constraint.py +++ b/release/ui/buttons_object_constraint.py @@ -28,18 +28,23 @@ class DATA_PT_constraints(DataButtonsPanel): if box: if con.type == 'COPY_LOCATION': self.copy_location(box, con) - + + def target_template(self, layout, con, subtargets=True): + layout.itemR(con, "target") # XXX limiting settings for only 'curves' or some type of object + + if con.target and subtargets: + if con.target.type == "ARMATURE": + layout.itemR(con, "subtarget", text="Bone") # XXX autocomplete + + row = layout.row() + row.itemL(text="Head/Tail:") + row.itemR(con, "head_tail", text="") + elif con.target.type in ("MESH", "LATTICE"): + layout.itemR(con, "subtarget", text="Vertex Group") # XXX autocomplete + def copy_location(self, layout, con): - layout.itemR(con, "target") - - if con.target and con.target.type == "ARMATURE": - layout.itemR(con, "subtarget", text="Bone") # XXX autocomplete - row = layout.row() - row.itemL(text="Head/Tail:") - row.itemR(con, "head_tail", text="") - elif con.target and con.target.type == "MESH": - layout.itemR(con, "subtarget", text="Vertex Group") # XXX autocomplete - + self.target_template(layout, con) + row = layout.row(align=True) row.itemR(con, "locate_like_x", text="X", toggle=True) row.itemR(con, "invert_x", text="-", toggle=True) -- cgit v1.2.3 From 3e6d23562cb1b8ce8b957097450c2e68b6f812b8 Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Wed, 27 May 2009 09:37:48 +0000 Subject: 2.5 Buttons: * Changed some checkboxes into Toggle Buttons. --- release/ui/buttons_scene.py | 22 +++++++++++----------- release/ui/buttons_world.py | 6 +++--- 2 files changed, 14 insertions(+), 14 deletions(-) (limited to 'release') diff --git a/release/ui/buttons_scene.py b/release/ui/buttons_scene.py index 7b23ae03088..b259f297d68 100644 --- a/release/ui/buttons_scene.py +++ b/release/ui/buttons_scene.py @@ -108,8 +108,8 @@ class RENDER_PT_render(RenderButtonsPanel): row.item_booleanO("SCREEN_OT_render", "anim", True, text="Render Animation", icon=111) row = layout.row() - row.itemR(rd, "do_composite") - row.itemR(rd, "do_sequence") + row.itemR(rd, "do_composite", toggle=True) + row.itemR(rd, "do_sequence", toggle=True) if rd.do_composite: row = layout.row() row.itemR(rd, "free_image_textures") @@ -188,15 +188,15 @@ class RENDER_PT_stamp(RenderButtonsPanel): split = layout.split() - sub = split.column() - sub.itemR(rd, "stamp_time", text="Time") - sub.itemR(rd, "stamp_date", text="Date") - sub.itemR(rd, "stamp_frame", text="Frame") - sub.itemR(rd, "stamp_camera", text="Scene") - sub.itemR(rd, "stamp_marker", text="Marker") - sub.itemR(rd, "stamp_filename", text="Filename") - sub.itemR(rd, "stamp_sequence_strip", text="Seq. Strip") - sub.itemR(rd, "stamp_note", text="Note") + sub = split.column(align=True) + sub.itemR(rd, "stamp_time", text="Time", toggle=True) + sub.itemR(rd, "stamp_date", text="Date", toggle=True) + sub.itemR(rd, "stamp_frame", text="Frame", toggle=True) + sub.itemR(rd, "stamp_camera", text="Scene", toggle=True) + sub.itemR(rd, "stamp_marker", text="Marker", toggle=True) + sub.itemR(rd, "stamp_filename", text="Filename", toggle=True) + sub.itemR(rd, "stamp_sequence_strip", text="Seq. Strip", toggle=True) + sub.itemR(rd, "stamp_note", text="Note", toggle=True) if (rd.stamp_note): sub.itemR(rd, "stamp_note_text", text="") diff --git a/release/ui/buttons_world.py b/release/ui/buttons_world.py index 401fbcb0c22..ff14486d05e 100644 --- a/release/ui/buttons_world.py +++ b/release/ui/buttons_world.py @@ -17,9 +17,9 @@ class WORLD_PT_world(WorldButtonsPanel): layout = self.layout row = layout.row() - row.itemR(world, "blend_sky") - row.itemR(world, "paper_sky") - row.itemR(world, "real_sky") + row.itemR(world, "blend_sky", toggle=True) + row.itemR(world, "paper_sky", toggle=True) + row.itemR(world, "real_sky", toggle=True) row = layout.row() row.column().itemR(world, "horizon_color") -- cgit v1.2.3 From e49c0b495a03735c704d139bbc4f28cd5ae99fe2 Mon Sep 17 00:00:00 2001 From: Matt Ebb Date: Wed, 27 May 2009 11:21:34 +0000 Subject: Reverted last buttons commit after chatting with Thomas :) note: The new 'Toggle' options in the UI api should be avoided for normal text buttons, and used sparingly otherwise. We want to avoid having two inconsistent appearances for the same type of buttons. --- release/ui/buttons_scene.py | 22 +++++++++++----------- release/ui/buttons_world.py | 6 +++--- 2 files changed, 14 insertions(+), 14 deletions(-) (limited to 'release') diff --git a/release/ui/buttons_scene.py b/release/ui/buttons_scene.py index b259f297d68..7b23ae03088 100644 --- a/release/ui/buttons_scene.py +++ b/release/ui/buttons_scene.py @@ -108,8 +108,8 @@ class RENDER_PT_render(RenderButtonsPanel): row.item_booleanO("SCREEN_OT_render", "anim", True, text="Render Animation", icon=111) row = layout.row() - row.itemR(rd, "do_composite", toggle=True) - row.itemR(rd, "do_sequence", toggle=True) + row.itemR(rd, "do_composite") + row.itemR(rd, "do_sequence") if rd.do_composite: row = layout.row() row.itemR(rd, "free_image_textures") @@ -188,15 +188,15 @@ class RENDER_PT_stamp(RenderButtonsPanel): split = layout.split() - sub = split.column(align=True) - sub.itemR(rd, "stamp_time", text="Time", toggle=True) - sub.itemR(rd, "stamp_date", text="Date", toggle=True) - sub.itemR(rd, "stamp_frame", text="Frame", toggle=True) - sub.itemR(rd, "stamp_camera", text="Scene", toggle=True) - sub.itemR(rd, "stamp_marker", text="Marker", toggle=True) - sub.itemR(rd, "stamp_filename", text="Filename", toggle=True) - sub.itemR(rd, "stamp_sequence_strip", text="Seq. Strip", toggle=True) - sub.itemR(rd, "stamp_note", text="Note", toggle=True) + sub = split.column() + sub.itemR(rd, "stamp_time", text="Time") + sub.itemR(rd, "stamp_date", text="Date") + sub.itemR(rd, "stamp_frame", text="Frame") + sub.itemR(rd, "stamp_camera", text="Scene") + sub.itemR(rd, "stamp_marker", text="Marker") + sub.itemR(rd, "stamp_filename", text="Filename") + sub.itemR(rd, "stamp_sequence_strip", text="Seq. Strip") + sub.itemR(rd, "stamp_note", text="Note") if (rd.stamp_note): sub.itemR(rd, "stamp_note_text", text="") diff --git a/release/ui/buttons_world.py b/release/ui/buttons_world.py index ff14486d05e..401fbcb0c22 100644 --- a/release/ui/buttons_world.py +++ b/release/ui/buttons_world.py @@ -17,9 +17,9 @@ class WORLD_PT_world(WorldButtonsPanel): layout = self.layout row = layout.row() - row.itemR(world, "blend_sky", toggle=True) - row.itemR(world, "paper_sky", toggle=True) - row.itemR(world, "real_sky", toggle=True) + row.itemR(world, "blend_sky") + row.itemR(world, "paper_sky") + row.itemR(world, "real_sky") row = layout.row() row.column().itemR(world, "horizon_color") -- cgit v1.2.3 From 970f9f3ee2d2eb1cf9fa87327a590d7e1fde50f2 Mon Sep 17 00:00:00 2001 From: Matt Ebb Date: Thu, 28 May 2009 05:09:25 +0000 Subject: * Wrapped outliner space in RNA, and added a python ui file for the header. Brecht, would you be able to have a look at this if you have time - I can't figure out how to trigger the python file to register the header instead of what's in outliner_header.c. --- release/ui/space_outliner.py | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 release/ui/space_outliner.py (limited to 'release') diff --git a/release/ui/space_outliner.py b/release/ui/space_outliner.py new file mode 100644 index 00000000000..12690ff819f --- /dev/null +++ b/release/ui/space_outliner.py @@ -0,0 +1,37 @@ + +import bpy + +class OUTLINER_HT_header(bpy.types.Header): + __space_type__ = "OUTLINER" + __idname__ = "OUTLINER_HT_header" + + def draw(self, context): + so = context.space_data + layout = self.layout + + layout.template_header(context) + + if context.area.show_menus: + row = layout.row(align=True) + row.itemM(context, "OUTLINER_MT_view") + + row = layout.row(align=True) + row.itemR(so, "display_mode") + + +class OUTLINER_MT_view(bpy.types.Menu): + __space_type__ = "OUTLINER" + __label__ = "View" + + def draw(self, context): + layout = self.layout + so = context.space_data + + layout.column() + row.itemR(so, "show_restriction_columns") + #layout.itemO("TEXT_OT_new") + + +bpy.types.register(OUTLINER_HT_header) +bpy.types.register(OUTLINER_MT_view) + -- cgit v1.2.3 From 276a75ae071ac44e813a0b5e499846e752d80b1e Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 28 May 2009 23:45:50 +0000 Subject: UI: * Added panels with dummy preview template. * Added constraints panel for bones next to objects, though it doesn't work that well yet, the operators and code need to be changed so they don't assume it is one or the other in/out of posemode. * Added some graying out in the scene and world buttons. --- release/ui/buttons_data_bone.py | 19 ++----- release/ui/buttons_material.py | 14 ++++- release/ui/buttons_object_constraint.py | 91 +++++++++++++++++++++++++-------- release/ui/buttons_objects.py | 14 ++--- release/ui/buttons_scene.py | 13 +++-- release/ui/buttons_texture.py | 12 +++++ release/ui/buttons_world.py | 19 +++++-- release/ui/space_outliner.py | 2 - 8 files changed, 130 insertions(+), 54 deletions(-) (limited to 'release') diff --git a/release/ui/buttons_data_bone.py b/release/ui/buttons_data_bone.py index ea9fc3639f1..a4e0fe4e2fb 100644 --- a/release/ui/buttons_data_bone.py +++ b/release/ui/buttons_data_bone.py @@ -1,7 +1,7 @@ import bpy -class DataButtonsPanel(bpy.types.Panel): +class BoneButtonsPanel(bpy.types.Panel): __space_type__ = "BUTTONS_WINDOW" __region_type__ = "WINDOW" __context__ = "bone" @@ -10,8 +10,8 @@ class DataButtonsPanel(bpy.types.Panel): ob = context.active_object return (ob and ob.type == 'ARMATURE') -class DATA_PT_bone(DataButtonsPanel): - __idname__ = "DATA_PT_bone" +class BONE_PT_bone(BoneButtonsPanel): + __idname__ = "BONE_PT_bone" __label__ = "Bone" def draw(self, context): @@ -49,16 +49,5 @@ class DATA_PT_bone(DataButtonsPanel): sub.itemR(bone, "cyclic_offset") -class DATA_PT_constraints(DataButtonsPanel): - __idname__ = "DATA_PT_constraints" - __label__ = "Constraints" - - def draw(self, context): - bone = context.active_object.data.bones[0] - layout = self.layout - split = layout.split() - - sub = split.column() +bpy.types.register(BONE_PT_bone) -bpy.types.register(DATA_PT_bone) -#bpy.types.register(DATA_PT_constraints) \ No newline at end of file diff --git a/release/ui/buttons_material.py b/release/ui/buttons_material.py index a468a55efba..7137bccd245 100644 --- a/release/ui/buttons_material.py +++ b/release/ui/buttons_material.py @@ -9,6 +9,16 @@ class MaterialButtonsPanel(bpy.types.Panel): def poll(self, context): ob = context.active_object return (ob and ob.active_material) + +class MATERIAL_PT_preview(MaterialButtonsPanel): + __idname__= "MATERIAL_PT_preview" + __label__ = "Preview" + + def draw(self, context): + layout = self.layout + + mat = context.active_object.active_material + layout.template_preview(mat) class MATERIAL_PT_material(MaterialButtonsPanel): __idname__= "MATERIAL_PT_material" @@ -188,8 +198,10 @@ class MATERIAL_PT_halo(MaterialButtonsPanel): sub.itemR(halo, "flare_seed", text="Seed") sub.itemR(halo, "flares_sub", text="Sub") +bpy.types.register(MATERIAL_PT_preview) bpy.types.register(MATERIAL_PT_material) bpy.types.register(MATERIAL_PT_raymir) bpy.types.register(MATERIAL_PT_raytransp) bpy.types.register(MATERIAL_PT_sss) -bpy.types.register(MATERIAL_PT_halo) \ No newline at end of file +bpy.types.register(MATERIAL_PT_halo) + diff --git a/release/ui/buttons_object_constraint.py b/release/ui/buttons_object_constraint.py index 1ff1bec199d..d44e6fdd10d 100644 --- a/release/ui/buttons_object_constraint.py +++ b/release/ui/buttons_object_constraint.py @@ -1,34 +1,39 @@ import bpy -class DataButtonsPanel(bpy.types.Panel): +class ConstraintButtonsPanel(bpy.types.Panel): __space_type__ = "BUTTONS_WINDOW" __region_type__ = "WINDOW" __context__ = "object" - def poll(self, context): - ob = context.active_object - return (ob != None) - -class DATA_PT_constraints(DataButtonsPanel): - __idname__ = "DATA_PT_constraints" - __label__ = "Constraints" - - def draw(self, context): - ob = context.active_object + def draw_constraint(self, con): layout = self.layout + box = layout.template_constraint(con) - row = layout.row() - row.item_menu_enumO("OBJECT_OT_constraint_add", "type") - row.itemL(); + if box: + if con.type == "COPY_LOCATION": + self.copy_location(box, con) - for con in ob.constraints: - box = layout.template_constraint(con) + # show/key buttons here are most likely obsolete now, with + # keyframing functionality being part of every button + if con.type not in ("RIGID_BODY_JOINT", "NULL"): + box.itemR(con, "influence") + + def space_template(self, layout, con, target=True, owner=True): + if target or owner: + row = layout.row() + + row.itemL(text="Convert:") + + if target: + row.itemR(con, "target_space", text="") - if box: - if con.type == 'COPY_LOCATION': - self.copy_location(box, con) - + if target and owner: + row.itemL(icon=8) # XXX + + if owner: + row.itemR(con, "owner_space", text="") + def target_template(self, layout, con, subtargets=True): layout.itemR(con, "target") # XXX limiting settings for only 'curves' or some type of object @@ -55,5 +60,49 @@ class DATA_PT_constraints(DataButtonsPanel): layout.itemR(con, "offset") -bpy.types.register(DATA_PT_constraints) + self.space_template(layout, con) + +class OBJECT_PT_constraints(ConstraintButtonsPanel): + __idname__ = "OBJECT_PT_constraints" + __label__ = "Constraints" + __context__ = "object" + + def poll(self, context): + ob = context.active_object + return (ob != None) + + def draw(self, context): + ob = context.active_object + layout = self.layout + + row = layout.row() + row.item_menu_enumO("OBJECT_OT_constraint_add", "type") + row.itemL(); + + for con in ob.constraints: + self.draw_constraint(con) + +class BONE_PT_constraints(ConstraintButtonsPanel): + __idname__ = "BONE_PT_constraints" + __label__ = "Constraints" + __context__ = "bone" + + def poll(self, context): + ob = context.active_object + return (ob and ob.type == "ARMATURE") + + def draw(self, context): + ob = context.active_object + pchan = ob.pose.pose_channels[0] + layout = self.layout + + #row = layout.row() + #row.item_menu_enumO("BONE_OT_constraint_add", "type") + #row.itemL(); + + for con in pchan.constraints: + self.draw_constraint(con) + +bpy.types.register(OBJECT_PT_constraints) +bpy.types.register(BONE_PT_constraints) diff --git a/release/ui/buttons_objects.py b/release/ui/buttons_objects.py index 8f02a015eac..a5074614515 100644 --- a/release/ui/buttons_objects.py +++ b/release/ui/buttons_objects.py @@ -39,15 +39,15 @@ class OBJECT_PT_groups(ObjectButtonsPanel): for group in bpy.data.groups: if ob in group.objects: - box = layout.box() + col = layout.column(align=True) - row = box.row() - row.itemR(group, "name") + row = col.box().row() + row.itemR(group, "name", text="") #row.itemO("OBJECT_OT_remove_group") - row = box.row() - row.column().itemR(group, "layer") - row.column().itemR(group, "dupli_offset") + split = col.box().split() + split.column().itemR(group, "layer") + split.column().itemR(group, "dupli_offset") class OBJECT_PT_display(ObjectButtonsPanel): __idname__ = "OBJECT_PT_display" @@ -131,4 +131,4 @@ bpy.types.register(OBJECT_PT_transform) bpy.types.register(OBJECT_PT_groups) bpy.types.register(OBJECT_PT_display) bpy.types.register(OBJECT_PT_duplication) -bpy.types.register(OBJECT_PT_animation) \ No newline at end of file +bpy.types.register(OBJECT_PT_animation) diff --git a/release/ui/buttons_scene.py b/release/ui/buttons_scene.py index 7b23ae03088..1b892a5b2fb 100644 --- a/release/ui/buttons_scene.py +++ b/release/ui/buttons_scene.py @@ -77,10 +77,11 @@ class RENDER_PT_antialiasing(RenderButtonsPanel): def draw(self, context): scene = context.scene - layout = self.layout - rd = scene.render_data + layout = self.layout + layout.active = rd.antialiasing + split = layout.split() sub = split.column() @@ -182,10 +183,11 @@ class RENDER_PT_stamp(RenderButtonsPanel): def draw(self, context): scene = context.scene - layout = self.layout - rd = scene.render_data + layout = self.layout + layout.active = rd.stamp + split = layout.split() sub = split.column() @@ -211,4 +213,5 @@ bpy.types.register(RENDER_PT_dimensions) bpy.types.register(RENDER_PT_antialiasing) bpy.types.register(RENDER_PT_shading) bpy.types.register(RENDER_PT_output) -bpy.types.register(RENDER_PT_stamp) \ No newline at end of file +bpy.types.register(RENDER_PT_stamp) + diff --git a/release/ui/buttons_texture.py b/release/ui/buttons_texture.py index 99b9295a6a6..ccdbda5d54d 100644 --- a/release/ui/buttons_texture.py +++ b/release/ui/buttons_texture.py @@ -10,6 +10,16 @@ class TextureButtonsPanel(bpy.types.Panel): try: return (context.active_object.active_material.active_texture.texture != None) except:return False +class TEXTURE_PT_preview(TextureButtonsPanel): + __idname__= "TEXTURE_PT_preview" + __label__ = "Preview" + + def draw(self, context): + layout = self.layout + + tex = context.active_object.active_material.active_texture.texture + layout.template_preview(tex) + class TEXTURE_PT_texture(TextureButtonsPanel): __idname__= "TEXTURE_PT_texture" __label__ = "Texture" @@ -330,6 +340,7 @@ class TEXTURE_PT_distortednoise(TextureButtonsPanel): sub = split.column() sub.itemR(tex, "nabla") +bpy.types.register(TEXTURE_PT_preview) bpy.types.register(TEXTURE_PT_texture) bpy.types.register(TEXTURE_PT_clouds) bpy.types.register(TEXTURE_PT_wood) @@ -344,3 +355,4 @@ bpy.types.register(TEXTURE_PT_envmap) bpy.types.register(TEXTURE_PT_musgrave) bpy.types.register(TEXTURE_PT_voronoi) bpy.types.register(TEXTURE_PT_distortednoise) + diff --git a/release/ui/buttons_world.py b/release/ui/buttons_world.py index 401fbcb0c22..c38e791d92a 100644 --- a/release/ui/buttons_world.py +++ b/release/ui/buttons_world.py @@ -8,6 +8,15 @@ class WorldButtonsPanel(bpy.types.Panel): def poll(self, context): return (context.scene.world != None) + +class WORLD_PT_preview(WorldButtonsPanel): + __label__ = "Preview" + + def draw(self, context): + layout = self.layout + + world = context.scene.world + layout.template_preview(world) class WORLD_PT_world(WorldButtonsPanel): __label__ = "World" @@ -49,6 +58,7 @@ class WORLD_PT_mist(WorldButtonsPanel): def draw(self, context): world = context.scene.world layout = self.layout + layout.active = world.mist.enabled flow = layout.column_flow() flow.itemR(world.mist, "start") @@ -71,6 +81,7 @@ class WORLD_PT_stars(WorldButtonsPanel): def draw(self, context): world = context.scene.world layout = self.layout + layout.active = world.stars.enabled flow = layout.column_flow() flow.itemR(world.stars, "size") @@ -89,9 +100,9 @@ class WORLD_PT_ambient_occlusion(WorldButtonsPanel): def draw(self, context): world = context.scene.world - layout = self.layout - ao = world.ambient_occlusion + layout = self.layout + layout.active = ao.enabled layout.itemR(ao, "gather_method", expand=True) @@ -126,8 +137,10 @@ class WORLD_PT_ambient_occlusion(WorldButtonsPanel): col.row().itemR(ao, "color", expand=True) col.itemR(ao, "energy") +bpy.types.register(WORLD_PT_preview) bpy.types.register(WORLD_PT_world) bpy.types.register(WORLD_PT_ambient_occlusion) bpy.types.register(WORLD_PT_mist) bpy.types.register(WORLD_PT_stars) -bpy.types.register(WORLD_PT_color_correction) \ No newline at end of file +bpy.types.register(WORLD_PT_color_correction) + diff --git a/release/ui/space_outliner.py b/release/ui/space_outliner.py index 12690ff819f..a87b1e21a0f 100644 --- a/release/ui/space_outliner.py +++ b/release/ui/space_outliner.py @@ -18,7 +18,6 @@ class OUTLINER_HT_header(bpy.types.Header): row = layout.row(align=True) row.itemR(so, "display_mode") - class OUTLINER_MT_view(bpy.types.Menu): __space_type__ = "OUTLINER" __label__ = "View" @@ -30,7 +29,6 @@ class OUTLINER_MT_view(bpy.types.Menu): layout.column() row.itemR(so, "show_restriction_columns") #layout.itemO("TEXT_OT_new") - bpy.types.register(OUTLINER_HT_header) bpy.types.register(OUTLINER_MT_view) -- cgit v1.2.3 From ce334b1cd9a23a7b89d6926618526f0e6e80b437 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 28 May 2009 23:58:18 +0000 Subject: UI: Matt, check space_outliner.c diff to see how to get python layouts in a header. --- release/ui/space_outliner.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'release') diff --git a/release/ui/space_outliner.py b/release/ui/space_outliner.py index a87b1e21a0f..d73ea38cf04 100644 --- a/release/ui/space_outliner.py +++ b/release/ui/space_outliner.py @@ -16,7 +16,7 @@ class OUTLINER_HT_header(bpy.types.Header): row.itemM(context, "OUTLINER_MT_view") row = layout.row(align=True) - row.itemR(so, "display_mode") + row.itemR(so, "display_mode", text="") class OUTLINER_MT_view(bpy.types.Menu): __space_type__ = "OUTLINER" -- cgit v1.2.3 From 7c2b2f55807b3f9faf84e5506944ba6d1bda18dd Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Fri, 29 May 2009 08:43:44 +0000 Subject: 2.5 Buttons: * Example code for greying out individual items. --- release/ui/buttons_scene.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'release') diff --git a/release/ui/buttons_scene.py b/release/ui/buttons_scene.py index 1b892a5b2fb..83836f8e781 100644 --- a/release/ui/buttons_scene.py +++ b/release/ui/buttons_scene.py @@ -23,11 +23,12 @@ class RENDER_PT_shading(RenderButtonsPanel): sub.itemR(rd, "render_envmaps", text="Environment Map") # sub.itemR(rd, "render_radiosity", text="Radio") - sub = split.column() - sub.itemR(rd, "render_raytracing", text="Ray Tracing") - if (rd.render_raytracing): - sub.itemR(rd, "octree_resolution", text="Octree") - sub.itemR(rd, "dither_intensity", text="Dither", slider=True) + col = split.column() + colsub = col.column() + colsub.active = rd.render_raytracing + colsub.itemR(rd, "render_raytracing", text="Ray Tracing") + colsub.itemR(rd, "octree_resolution", text="Octree") + col.itemR(rd, "dither_intensity", text="Dither", slider=True) class RENDER_PT_output(RenderButtonsPanel): __label__ = "Output" -- cgit v1.2.3 From a01fa8b581fefed07d4951134ea9abe76ac7eb26 Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Fri, 29 May 2009 09:53:46 +0000 Subject: 2.5 Buttons * More greying out tweaks by William Reynish and myself. --- release/ui/buttons_data_camera.py | 11 ++--- release/ui/buttons_data_curve.py | 28 +++++++----- release/ui/buttons_data_lamp.py | 61 ++++++++++++------------- release/ui/buttons_data_mesh.py | 14 +++--- release/ui/buttons_data_modifier.py | 28 ++++++------ release/ui/buttons_material.py | 54 +++++++++++----------- release/ui/buttons_physic_cloth.py | 9 +++- release/ui/buttons_scene.py | 90 +++++++++++++++++++------------------ 8 files changed, 155 insertions(+), 140 deletions(-) (limited to 'release') diff --git a/release/ui/buttons_data_camera.py b/release/ui/buttons_data_camera.py index 9770fdaf8eb..d4dabea9480 100644 --- a/release/ui/buttons_data_camera.py +++ b/release/ui/buttons_data_camera.py @@ -63,11 +63,12 @@ class DATA_PT_cameradisplay(DataButtonsPanel): sub.itemR(cam, "show_title_safe", text="Title Safe") sub.itemR(cam, "show_name", text="Name") - sub = split.column() - sub.itemR(cam, "show_passepartout", text="Passepartout") - if (cam.show_passepartout): - sub.itemR(cam, "passepartout_alpha", text="Alpha", slider=True) - sub.itemR(cam, "draw_size", text="Size") + col = split.column() + col.itemR(cam, "show_passepartout", text="Passepartout") + colsub = col.column() + colsub.active = cam.show_passepartout + colsub.itemR(cam, "passepartout_alpha", text="Alpha", slider=True) + col.itemR(cam, "draw_size", text="Size") bpy.types.register(DATA_PT_cameralens) bpy.types.register(DATA_PT_cameradisplay) \ No newline at end of file diff --git a/release/ui/buttons_data_curve.py b/release/ui/buttons_data_curve.py index 12a1fefd478..754c26aa3e6 100644 --- a/release/ui/buttons_data_curve.py +++ b/release/ui/buttons_data_curve.py @@ -22,14 +22,16 @@ class DATA_PT_shape_curve(DataButtonsPanel): split = layout.split() - sub = split.column() - sub.itemL(text="Caps:") - sub.itemR(curve, "front") - sub.itemR(curve, "back") + col = split.column() + colsub = col.column() + colsub.active = curve.curve_2d + colsub.itemL(text="Caps:") + colsub.itemR(curve, "front") + colsub.itemR(curve, "back") - sub.itemL(text="Textures:") - sub.itemR(curve, "uv_orco") - sub.itemR(curve, "auto_texspace") + col.itemL(text="Textures:") + col.itemR(curve, "uv_orco") + col.itemR(curve, "auto_texspace") sub = split.column() sub.itemL(text="Resolution:") @@ -68,12 +70,17 @@ class DATA_PT_geometry(DataButtonsPanel): class DATA_PT_pathanim(DataButtonsPanel): __idname__ = "DATA_PT_pathanim" __label__ = "Path Animation" + + def draw_header(self, context): + curve = context.active_object.data + + layout = self.layout + layout.itemR(curve, "path", text="") def draw(self, context): curve = context.active_object.data layout = self.layout - - layout.itemR(curve, "path", text="Enable") + layout.active = curve.path split = layout.split() @@ -102,9 +109,6 @@ class DATA_PT_current_curve(DataButtonsPanel): sub.itemL(text="Order:") sub.itemR(currentcurve, "order_u", text="U") sub.itemR(currentcurve, "order_v", text="V") - sub.itemL(text="Point Count:") - sub.itemR(currentcurve, "point_count_u", text="U") - sub.itemR(currentcurve, "point_count_v", text="V") sub.itemL(text="Endpoints:") sub.itemR(currentcurve, "endpoint_u", text="U") sub.itemR(currentcurve, "endpoint_v", text="V") diff --git a/release/ui/buttons_data_lamp.py b/release/ui/buttons_data_lamp.py index 157a89eb2c7..a2a6ad0426c 100644 --- a/release/ui/buttons_data_lamp.py +++ b/release/ui/buttons_data_lamp.py @@ -67,32 +67,32 @@ class DATA_PT_sunsky(DataButtonsPanel): row.itemR(lamp, "sky") row.itemR(lamp, "atmosphere") - if lamp.sky or lamp.atmosphere: - layout.itemR(lamp, "atmosphere_turbidity", text="Turbidity") - - split = layout.split() + row = layout.row() + row.active = lamp.sky or lamp.atmosphere + row.itemR(lamp, "atmosphere_turbidity", text="Turbidity") - col = split.column() - if lamp.sky: - sub = col.column() - sub.itemR(lamp, "sky_blend_type", text="Blend Type") - sub.itemR(lamp, "sky_blend") - sub.itemR(lamp, "sky_color_space", text="Color Space") - sub.itemR(lamp, "sky_exposure") - - sub = col.column() - sub.itemR(lamp, "horizon_brightness", text="Hor Bright") - sub.itemR(lamp, "spread", text="Hor Spread") - sub.itemR(lamp, "sun_brightness", text="Sun Bright") - sub.itemR(lamp, "sun_size") - sub.itemR(lamp, "backscattered_light", text="Back Light") + split = layout.split() + + col = split.column() + + sub = col.column() + sub.active = lamp.sky + sub.itemR(lamp, "sky_blend_type", text="Blend Type") + sub.itemR(lamp, "sky_blend") + sub.itemR(lamp, "sky_color_space", text="Color Space") + sub.itemR(lamp, "sky_exposure") + sub.itemR(lamp, "horizon_brightness", text="Hor Bright") + sub.itemR(lamp, "spread", text="Hor Spread") + sub.itemR(lamp, "sun_brightness", text="Sun Bright") + sub.itemR(lamp, "sun_size") + sub.itemR(lamp, "backscattered_light", text="Back Light") - sub = split.column() - if lamp.atmosphere: - sub.itemR(lamp, "sun_intensity", text="Sun Intens") - sub.itemR(lamp, "atmosphere_inscattering", text="Inscattering") - sub.itemR(lamp, "atmosphere_extinction", text="Extinction") - sub.itemR(lamp, "atmosphere_distance_factor", text="Distance") + sub = split.column() + sub.active = lamp.atmosphere + sub.itemR(lamp, "sun_intensity", text="Sun Intens") + sub.itemR(lamp, "atmosphere_inscattering", text="Inscattering") + sub.itemR(lamp, "atmosphere_extinction", text="Extinction") + sub.itemR(lamp, "atmosphere_distance_factor", text="Distance") class DATA_PT_shadow(DataButtonsPanel): __idname__ = "DATA_PT_shadow" @@ -192,12 +192,13 @@ class DATA_PT_spot(DataButtonsPanel): sub.itemR(lamp, "spot_blend", text="Blend") sub.itemR(lamp, "square") - sub = split.column() - sub.itemR(lamp, "halo") - if lamp.halo: - sub.itemR(lamp, "halo_intensity", text="Intensity") - if lamp.shadow_method == 'BUFFER_SHADOW': - sub.itemR(lamp, "halo_step", text="Step") + col = split.column() + col.itemR(lamp, "halo") + colsub = col.column() + colsub.active = lamp.halo + colsub.itemR(lamp, "halo_intensity", text="Intensity") + if lamp.shadow_method == 'BUFFER_SHADOW': + colsub.itemR(lamp, "halo_step", text="Step") bpy.types.register(DATA_PT_lamp) bpy.types.register(DATA_PT_shadow) diff --git a/release/ui/buttons_data_mesh.py b/release/ui/buttons_data_mesh.py index 44a48dcc534..6e9a30cefbc 100644 --- a/release/ui/buttons_data_mesh.py +++ b/release/ui/buttons_data_mesh.py @@ -1,4 +1,4 @@ - + import bpy class DataButtonsPanel(bpy.types.Panel): @@ -12,7 +12,7 @@ class DataButtonsPanel(bpy.types.Panel): class DATA_PT_surface(DataButtonsPanel): __idname__ = "DATA_PT_surface" - __label__ = "Surface" + __label__ = "Mesh" def draw(self, context): mesh = context.active_object.data @@ -20,13 +20,15 @@ class DATA_PT_surface(DataButtonsPanel): split = layout.split() - sub = split.column() - sub.itemR(mesh, "autosmooth") - sub.itemR(mesh, "autosmooth_angle", text="Angle") + col = split.column() + col.itemR(mesh, "autosmooth") + colsub = col.column() + colsub.active = mesh.autosmooth + colsub.itemR(mesh, "autosmooth_angle", text="Angle") sub = split.column() sub.itemR(mesh, "vertex_normal_flip") sub.itemR(mesh, "double_sided") layout.itemR(mesh, "texco_mesh") -bpy.types.register(DATA_PT_surface) \ No newline at end of file +bpy.types.register(DATA_PT_surface) \ No newline at end of file diff --git a/release/ui/buttons_data_modifier.py b/release/ui/buttons_data_modifier.py index 93fa122caf8..4ec57065c10 100644 --- a/release/ui/buttons_data_modifier.py +++ b/release/ui/buttons_data_modifier.py @@ -151,10 +151,10 @@ class DATA_PT_modifiers(DataButtonsPanel): layout.itemR(md, "start") layout.itemR(md, "length") + layout.itemR(md, "randomize") row = layout.row() - row.itemR(md, "randomize") - if md.randomize: - row.itemR(md, "seed") + row.active = md.randomize + row.itemR(md, "seed") def cast(self, layout, md): layout.itemR(md, "cast_type") @@ -196,8 +196,9 @@ class DATA_PT_modifiers(DataButtonsPanel): def edgesplit(self, layout, md): layout.itemR(md, "use_edge_angle", text="Edge Angle") - if (md.use_edge_angle): - layout.itemR(md, "split_angle") + row = layout.row() + row.active = md.use_edge_angle + row.itemR(md, "split_angle") layout.itemR(md, "use_sharp", text="Sharp Edges") def explode(self, layout, md): @@ -353,13 +354,13 @@ class DATA_PT_modifiers(DataButtonsPanel): sub.itemR(md, "y") sub.itemR(md, "cyclic") - sub = split.column() - sub.itemR(md, "normals") - if md.normals: - row = sub.row(align=True) - row.itemR(md, "x_normal", text="X", toggle=True) - row.itemR(md, "y_normal", text="Y", toggle=True) - row.itemR(md, "z_normal", text="Z", toggle=True) + col = split.column() + col.itemR(md, "normals") + colsub = col.row(align=True) + colsub.active = md.normals + colsub.itemR(md, "x_normal", text="X", toggle=True) + colsub.itemR(md, "y_normal", text="Y", toggle=True) + colsub.itemR(md, "z_normal", text="Z", toggle=True) col = layout.column_flow() col.itemR(md, "time_offset") @@ -384,5 +385,4 @@ class DATA_PT_modifiers(DataButtonsPanel): col.itemR(md, "width", slider=True) col.itemR(md, "narrowness", slider=True) -bpy.types.register(DATA_PT_modifiers) - +bpy.types.register(DATA_PT_modifiers) \ No newline at end of file diff --git a/release/ui/buttons_material.py b/release/ui/buttons_material.py index 7137bccd245..c9a5fa6db06 100644 --- a/release/ui/buttons_material.py +++ b/release/ui/buttons_material.py @@ -54,6 +54,7 @@ class MATERIAL_PT_sss(MaterialButtonsPanel): def draw(self, context): layout = self.layout sss = context.active_object.active_material.subsurface_scattering + layout.active = sss.enabled flow = layout.column_flow() flow.itemR(sss, "error_tolerance") @@ -87,7 +88,7 @@ class MATERIAL_PT_raymir(MaterialButtonsPanel): def draw(self, context): layout = self.layout raym = context.active_object.active_material.raytrace_mirror - + layout.active = raym.enabled split = layout.split() sub = split.column() @@ -124,6 +125,7 @@ class MATERIAL_PT_raytransp(MaterialButtonsPanel): def draw(self, context): layout = self.layout rayt = context.active_object.active_material.raytrace_transparency + layout.active = rayt.enabled split = layout.split() @@ -173,35 +175,31 @@ class MATERIAL_PT_halo(MaterialButtonsPanel): col.itemR(halo, "soft") col = split.column() - sub = col.column(align=True) - sub.itemL(text="Elements:") - sub.itemR(halo, "ring") - sub.itemR(halo, "lines") - sub.itemR(halo, "star") - sub.itemR(halo, "flare_mode") - - sub = col.column() - if (halo.ring): - sub.itemR(halo, "rings") - if (halo.lines): - sub.itemR(halo, "line_number") - if (halo.ring or halo.lines): - sub.itemR(halo, "seed") - if (halo.star): - sub.itemR(halo, "star_tips") - if (halo.flare_mode): - sub = col.column(align=True) - sub.itemL(text="Flare:") - sub.itemR(halo, "flare_size", text="Size") - sub.itemR(halo, "flare_subsize", text="Subsize") - sub.itemR(halo, "flare_boost", text="Boost") - sub.itemR(halo, "flare_seed", text="Seed") - sub.itemR(halo, "flares_sub", text="Sub") - + col = col.column(align=True) + col.itemR(halo, "ring") + colsub = col.column() + colsub.active = halo.ring + colsub.itemR(halo, "rings") + col.itemR(halo, "lines") + colsub = col.column() + colsub.active = halo.lines + colsub.itemR(halo, "line_number", text="Lines") + col.itemR(halo, "star") + colsub = col.column() + colsub.active = halo.star + colsub.itemR(halo, "star_tips") + col.itemR(halo, "flare_mode") + colsub = col.column() + colsub.active = halo.flare_mode + colsub.itemR(halo, "flare_size", text="Size") + colsub.itemR(halo, "flare_subsize", text="Subsize") + colsub.itemR(halo, "flare_boost", text="Boost") + colsub.itemR(halo, "flare_seed", text="Seed") + colsub.itemR(halo, "flares_sub", text="Sub") + bpy.types.register(MATERIAL_PT_preview) bpy.types.register(MATERIAL_PT_material) bpy.types.register(MATERIAL_PT_raymir) bpy.types.register(MATERIAL_PT_raytransp) bpy.types.register(MATERIAL_PT_sss) -bpy.types.register(MATERIAL_PT_halo) - +bpy.types.register(MATERIAL_PT_halo) \ No newline at end of file diff --git a/release/ui/buttons_physic_cloth.py b/release/ui/buttons_physic_cloth.py index 12d218382ec..6dab2bcf57c 100644 --- a/release/ui/buttons_physic_cloth.py +++ b/release/ui/buttons_physic_cloth.py @@ -43,7 +43,7 @@ class Physic_PT_cloth(PhysicButtonsPanel): col.itemR(cloth, "spring_damping", text="Spring") col.itemR(cloth, "air_damping", text="Air") - # Disabled for now# + # Disabled for now """ if cloth.mass_vertex_group: layout.itemL(text="Goal:") @@ -67,8 +67,10 @@ class Physic_PT_cloth_collision(PhysicButtonsPanel): def draw(self, context): layout = self.layout - md = self.cloth_modifier(context) + + md = self.cloth_modifier(context) cloth = md.collision_settings + layout.active = cloth.enable_collision col = layout.column_flow() col.itemR(cloth, "collision_quality", slider=True) @@ -79,6 +81,7 @@ class Physic_PT_cloth_collision(PhysicButtonsPanel): layout.itemR(cloth, "enable_self_collision", text="Self Collision") col = layout.column_flow() + col.active = cloth.enable_self_collision col.itemR(cloth, "self_collision_quality", slider=True) col.itemR(cloth, "self_min_distance", text="MinDistance") @@ -95,8 +98,10 @@ class Physic_PT_cloth_stiffness(PhysicButtonsPanel): def draw(self, context): layout = self.layout + md = self.cloth_modifier(context) cloth = md.settings + layout.active = cloth.stiffness_scaling split = layout.split() diff --git a/release/ui/buttons_scene.py b/release/ui/buttons_scene.py index 83836f8e781..2d0aaff6f46 100644 --- a/release/ui/buttons_scene.py +++ b/release/ui/buttons_scene.py @@ -24,9 +24,9 @@ class RENDER_PT_shading(RenderButtonsPanel): # sub.itemR(rd, "render_radiosity", text="Radio") col = split.column() + col.itemR(rd, "render_raytracing", text="Ray Tracing") colsub = col.column() colsub.active = rd.render_raytracing - colsub.itemR(rd, "render_raytracing", text="Ray Tracing") colsub.itemR(rd, "octree_resolution", text="Octree") col.itemR(rd, "dither_intensity", text="Dither", slider=True) @@ -43,10 +43,11 @@ class RENDER_PT_output(RenderButtonsPanel): split = layout.split() - sub = split.column() - sub.itemR(rd, "file_format", text="Format") - if rd.file_format in ("AVIJPEG", "JPEG"): - sub.itemR(rd, "quality", slider=True) + col = split.column() + col.itemR(rd, "file_format", text="Format") + colsub = col.column() + colsub.active = rd.file_format in ("AVIJPEG", "JPEG") + colsub.itemR(rd, "quality", slider=True) sub = split.column() sub.itemR(rd, "color_mode") @@ -55,17 +56,17 @@ class RENDER_PT_output(RenderButtonsPanel): split = layout.split() sub = split.column() + sub.itemR(rd, "file_extensions") sub.itemL(text="Distributed Rendering:") sub.itemR(rd, "placeholders") sub.itemR(rd, "no_overwrite") - sub = split.column() - sub.itemL(text="Settings:") - sub.itemR(rd, "file_extensions") - sub.itemR(rd, "fields", text="Fields") - if rd.fields: - sub.itemR(rd, "fields_still", text="Still") - sub.row().itemR(rd, "field_order", expand=True) + col = split.column() + col.itemR(rd, "fields", text="Fields") + colsub = col.column() + colsub.active = rd.fields + colsub.itemR(rd, "fields_still", text="Still") + colsub.row().itemR(rd, "field_order", expand=True) class RENDER_PT_antialiasing(RenderButtonsPanel): __label__ = "Anti-Aliasing" @@ -88,13 +89,14 @@ class RENDER_PT_antialiasing(RenderButtonsPanel): sub = split.column() sub.itemL(text="Samples:") sub.row().itemR(rd, "antialiasing_samples", expand=True) - - sub = split.column() sub.itemR(rd, "pixel_filter") - sub.itemR(rd, "filter_size", text="Size", slider=True) - sub.itemR(rd, "save_buffers") - if rd.save_buffers: - sub.itemR(rd, "full_sample") + + col = split.column() + col.itemR(rd, "filter_size", text="Size", slider=True) + col.itemR(rd, "save_buffers") + colsub = col.column() + colsub.active = rd.save_buffers + colsub.itemR(rd, "full_sample") class RENDER_PT_render(RenderButtonsPanel): __label__ = "Render" @@ -112,17 +114,18 @@ class RENDER_PT_render(RenderButtonsPanel): row = layout.row() row.itemR(rd, "do_composite") row.itemR(rd, "do_sequence") - if rd.do_composite: - row = layout.row() - row.itemR(rd, "free_image_textures") + rowsub = layout.row() + rowsub.active = rd.do_composite + rowsub.itemR(rd, "free_image_textures") split = layout.split() - sub = split.column(align=True) - sub.itemL(text="Threads:") - sub.row().itemR(rd, "threads_mode", expand=True) - if rd.threads_mode == 'THREADS_FIXED': - sub.itemR(rd, "threads") + col = split.column(align=True) + col.itemL(text="Threads:") + col.row().itemR(rd, "threads_mode", expand=True) + colsub = col.column() + colsub.active = rd.threads_mode == 'THREADS_FIXED' + colsub.itemR(rd, "threads") sub = split.column(align=True) sub.itemL(text="Tiles:") @@ -158,10 +161,11 @@ class RENDER_PT_dimensions(RenderButtonsPanel): sub.itemR(rd, "pixel_aspect_x", text="X") sub.itemR(rd, "pixel_aspect_y", text="Y") - sub = col.column(align=False) - sub.itemR(rd, "border", text="Border") - if rd.border: - sub.itemR(rd, "crop_to_border") + col = col.column(align=False) + col.itemR(rd, "border", text="Border") + colsub = col.column() + colsub.active = rd.border + colsub.itemR(rd, "crop_to_border") col = split.column(align=True) col.itemL(text="Frame Range:") @@ -191,17 +195,18 @@ class RENDER_PT_stamp(RenderButtonsPanel): split = layout.split() - sub = split.column() - sub.itemR(rd, "stamp_time", text="Time") - sub.itemR(rd, "stamp_date", text="Date") - sub.itemR(rd, "stamp_frame", text="Frame") - sub.itemR(rd, "stamp_camera", text="Scene") - sub.itemR(rd, "stamp_marker", text="Marker") - sub.itemR(rd, "stamp_filename", text="Filename") - sub.itemR(rd, "stamp_sequence_strip", text="Seq. Strip") - sub.itemR(rd, "stamp_note", text="Note") - if (rd.stamp_note): - sub.itemR(rd, "stamp_note_text", text="") + col = split.column() + col.itemR(rd, "stamp_time", text="Time") + col.itemR(rd, "stamp_date", text="Date") + col.itemR(rd, "stamp_frame", text="Frame") + col.itemR(rd, "stamp_camera", text="Scene") + col.itemR(rd, "stamp_marker", text="Marker") + col.itemR(rd, "stamp_filename", text="Filename") + col.itemR(rd, "stamp_sequence_strip", text="Seq. Strip") + col.itemR(rd, "stamp_note", text="Note") + colsub = col.column() + colsub.active = rd.stamp_note + colsub.itemR(rd, "stamp_note_text", text="") sub = split.column() sub.itemR(rd, "render_stamp") @@ -214,5 +219,4 @@ bpy.types.register(RENDER_PT_dimensions) bpy.types.register(RENDER_PT_antialiasing) bpy.types.register(RENDER_PT_shading) bpy.types.register(RENDER_PT_output) -bpy.types.register(RENDER_PT_stamp) - +bpy.types.register(RENDER_PT_stamp) \ No newline at end of file -- cgit v1.2.3 From 10e8672c8de27769b9e6857cf9b7f2805ca837b2 Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Fri, 29 May 2009 12:42:06 +0000 Subject: 2.5 Buttons: * Modifier Button tweaks by William Reynish. Thanks! --- release/ui/buttons_data_modifier.py | 91 ++++++++++++++++++++++--------------- 1 file changed, 54 insertions(+), 37 deletions(-) (limited to 'release') diff --git a/release/ui/buttons_data_modifier.py b/release/ui/buttons_data_modifier.py index 4ec57065c10..c087e5f5e36 100644 --- a/release/ui/buttons_data_modifier.py +++ b/release/ui/buttons_data_modifier.py @@ -108,21 +108,28 @@ class DATA_PT_modifiers(DataButtonsPanel): split = layout.split() col = split.column() - sub = col.column() - sub.itemR(md, "constant_offset") - sub.itemR(md, "constant_offset_displacement", text="Displacement") - sub = col.column() + col = col.column() + col.itemR(md, "constant_offset") + colsub = col.column() + colsub.active = md.constant_offset + colsub.itemR(md, "constant_offset_displacement", text="Displacement") sub = col.row().itemR(md, "merge_adjacent_vertices", text="Merge") - sub = col.row().itemR(md, "merge_end_vertices", text="First Last") - sub = col.itemR(md, "merge_distance", text="Distance") + colsub = col.column() + colsub.active = md.merge_adjacent_vertices + colsub.itemR(md, "merge_end_vertices", text="First Last") + colsub.itemR(md, "merge_distance", text="Distance") col = split.column() - sub = col.column() - sub.itemR(md, "relative_offset") - sub.itemR(md, "relative_offset_displacement", text="Displacement") - sub = col.column() - sub.itemR(md, "add_offset_object") - sub.itemR(md, "offset_object") + col = col.column() + col.itemR(md, "relative_offset") + colsub = col.column() + colsub.active = md.relative_offset + colsub.itemR(md, "relative_offset_displacement", text="Displacement") + col = col.column() + col.itemR(md, "add_offset_object") + colsub = col.column() + colsub.active = md.add_offset_object + colsub.itemR(md, "offset_object") col = layout.column() col.itemR(md, "start_cap") @@ -148,13 +155,19 @@ class DATA_PT_modifiers(DataButtonsPanel): layout.itemR(md, "object") def build(self, layout, md): - layout.itemR(md, "start") - layout.itemR(md, "length") + split = layout.split() + + col = split.column() + col.itemR(md, "start") + col.itemR(md, "length") - layout.itemR(md, "randomize") - row = layout.row() - row.active = md.randomize - row.itemR(md, "seed") + col = split.column() + col.itemR(md, "randomize") + colsub = col.column() + colsub.active = md.randomize + colsub.itemR(md, "seed") + + def cast(self, layout, md): layout.itemR(md, "cast_type") @@ -195,11 +208,15 @@ class DATA_PT_modifiers(DataButtonsPanel): layout.itemR(md, "uv_layer") def edgesplit(self, layout, md): - layout.itemR(md, "use_edge_angle", text="Edge Angle") - row = layout.row() - row.active = md.use_edge_angle - row.itemR(md, "split_angle") - layout.itemR(md, "use_sharp", text="Sharp Edges") + split = layout.split() + + col = split.column() + col.itemR(md, "use_edge_angle", text="Edge Angle") + colsub = col.column() + colsub.active = md.use_edge_angle + colsub.itemR(md, "split_angle") + col = split.column() + col.itemR(md, "use_sharp", text="Sharp Edges") def explode(self, layout, md): layout.itemR(md, "vertex_group") @@ -249,6 +266,7 @@ class DATA_PT_modifiers(DataButtonsPanel): sub.itemR(md, "y") sub.itemR(md, "z") sub = split.column() + sub.itemL(text="Textures:") sub.itemR(md, "mirror_u") sub.itemR(md, "mirror_v") sub = split.column() @@ -315,10 +333,9 @@ class DATA_PT_modifiers(DataButtonsPanel): def smooth(self, layout, md): split = layout.split() sub = split.column() - row = sub.row(align=True) - row.itemR(md, "x", toggle=True) - row.itemR(md, "y", toggle=True) - row.itemR(md, "z", toggle=True) + sub.itemR(md, "x") + sub.itemR(md, "y") + sub.itemR(md, "z") sub = split.column() sub.itemR(md, "factor") sub.itemR(md, "repeat") @@ -331,9 +348,9 @@ class DATA_PT_modifiers(DataButtonsPanel): def subsurf(self, layout, md): layout.itemR(md, "subdivision_type") col = layout.column_flow() - col.itemR(md, "levels") - col.itemR(md, "render_levels") - col.itemR(md, "optimal_draw") + col.itemR(md, "levels", text="Preview") + col.itemR(md, "render_levels", text="Render") + col.itemR(md, "optimal_draw", text="Optimal Display") col.itemR(md, "subsurf_uv") def uvproject(self, layout, md): @@ -354,13 +371,13 @@ class DATA_PT_modifiers(DataButtonsPanel): sub.itemR(md, "y") sub.itemR(md, "cyclic") - col = split.column() - col.itemR(md, "normals") - colsub = col.row(align=True) - colsub.active = md.normals - colsub.itemR(md, "x_normal", text="X", toggle=True) - colsub.itemR(md, "y_normal", text="Y", toggle=True) - colsub.itemR(md, "z_normal", text="Z", toggle=True) + sub = split.column() + sub.itemR(md, "normals") + row = sub.row(align=True) + row.active = md.normals + row.itemR(md, "x_normal", text="X", toggle=True) + row.itemR(md, "y_normal", text="Y", toggle=True) + row.itemR(md, "z_normal", text="Z", toggle=True) col = layout.column_flow() col.itemR(md, "time_offset") -- cgit v1.2.3 From 829fb38ac31d1ebac7f92e80f9ac43d7300a0d11 Mon Sep 17 00:00:00 2001 From: Matt Ebb Date: Sat, 30 May 2009 06:23:17 +0000 Subject: updated outliner header python file, still disabled for now, because there's not a nice way yet to represent the keying sets menu. --- release/ui/space_outliner.py | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) (limited to 'release') diff --git a/release/ui/space_outliner.py b/release/ui/space_outliner.py index d73ea38cf04..f039eb3f7c3 100644 --- a/release/ui/space_outliner.py +++ b/release/ui/space_outliner.py @@ -7,6 +7,7 @@ class OUTLINER_HT_header(bpy.types.Header): def draw(self, context): so = context.space_data + sce = context.scene layout = self.layout layout.template_header(context) @@ -15,8 +16,24 @@ class OUTLINER_HT_header(bpy.types.Header): row = layout.row(align=True) row.itemM(context, "OUTLINER_MT_view") - row = layout.row(align=True) + row = layout.row() row.itemR(so, "display_mode", text="") + + if so.display_mode == 'DATABLOCKS': + row = layout.row(align=True) + row.itemO("ANIM_OT_keyingset_add_new", text="", icon=31) + # row.itemR(sce, "active_keyingset", text="KS: ") + # ks = sce.keyingsets[sce.active_keyingset - 1] + # row.itemR(ks, "name", text="") + ## row.itemR(sce, "keyingsets") + + row = layout.row() + row.itemO("OUTLINER_OT_keyingset_add_selected", text="", icon=31) + row.itemO("OUTLINER_OT_keyingset_remove_selected", text="", icon=32) + + row.itemO("ANIM_OT_insert_keyframe", text="", icon=514) + row.itemO("ANIM_OT_delete_keyframe", text="", icon=513) + class OUTLINER_MT_view(bpy.types.Menu): __space_type__ = "OUTLINER" @@ -26,8 +43,8 @@ class OUTLINER_MT_view(bpy.types.Menu): layout = self.layout so = context.space_data - layout.column() - row.itemR(so, "show_restriction_columns") + col = layout.column() + col.itemR(so, "show_restriction_columns") #layout.itemO("TEXT_OT_new") bpy.types.register(OUTLINER_HT_header) -- cgit v1.2.3 From a67e7bebb9c212b5e40abe6b74e1849dde7d769d Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Sat, 30 May 2009 23:31:10 +0000 Subject: 2.5 Constraints: * Wrapped the constraint layout to python and deleted the corresponding C code. ToDo: 4 constraints are still C code (IK, Script, Action and Rigid Body Joint) * Some Constraint RNA fixes. * Wrapped the Shrinkwrap Constraint in RNA. --- release/ui/buttons_object_constraint.py | 342 +++++++++++++++++++++++++++++++- 1 file changed, 337 insertions(+), 5 deletions(-) (limited to 'release') diff --git a/release/ui/buttons_object_constraint.py b/release/ui/buttons_object_constraint.py index d44e6fdd10d..58683146ef0 100644 --- a/release/ui/buttons_object_constraint.py +++ b/release/ui/buttons_object_constraint.py @@ -11,9 +11,47 @@ class ConstraintButtonsPanel(bpy.types.Panel): box = layout.template_constraint(con) if box: - if con.type == "COPY_LOCATION": + if con.type == "CHILD_OF": + self.child_of(box, con) + elif con.type == "TRACK_TO": + self.track_to(box, con) + #elif con.type == "IK": + # self.ik(box, con) + elif con.type == "FOLLOW_PATH": + self.follow_path(box, con) + elif con.type == "LIMIT_ROTATION": + self.limit_rotation(box, con) + elif con.type == "LIMIT_LOCATION": + self.limit_location(box, con) + elif con.type == "LIMIT_SCALE": + self.limit_scale(box, con) + elif con.type == "COPY_ROTATION": + self.copy_rotation(box, con) + elif con.type == "COPY_LOCATION": self.copy_location(box, con) - + elif con.type == "COPY_SCALE": + self.copy_scale(box, con) + #elif con.type == "SCRIPT": + # self.script(box, con) + #elif con.type == "ACTION": + # self.action(box, con) + elif con.type == "LOCKED_TRACK": + self.locked_track(box, con) + elif con.type == "LIMIT_DISTANCE": + self.limit_distance(box, con) + elif con.type == "STRETCH_TO": + self.stretch_to(box, con) + elif con.type == "FLOOR": + self.floor(box, con) + #elif con.type == "RIGID_BODY_JOINT" + # self.rigid_body(box, con) + elif con.type == "CLAMP_TO": + self.clamp_to(box, con) + elif con.type == "TRANSFORM": + self.transform(box, con) + elif con.type == "SHRINKWRAP": + self.shrinkwrap(box, con) + # show/key buttons here are most likely obsolete now, with # keyframing functionality being part of every button if con.type not in ("RIGID_BODY_JOINT", "NULL"): @@ -47,6 +85,166 @@ class ConstraintButtonsPanel(bpy.types.Panel): elif con.target.type in ("MESH", "LATTICE"): layout.itemR(con, "subtarget", text="Vertex Group") # XXX autocomplete + def child_of(self, layout, con): + self.target_template(layout, con) + + layout.itemL(text="Use Channel(s):") + + row = layout.row(align=True) + row.itemR(con, "locationx", text="Loc X", toggle=True) + row.itemR(con, "locationy", text="Loc Y", toggle=True) + row.itemR(con, "locationz", text="Loc Z", toggle=True) + + row = layout.row(align=True) + row.itemR(con, "rotationx", text="Rot X", toggle=True) + row.itemR(con, "rotationy", text="Rot X", toggle=True) + row.itemR(con, "rotationz", text="Rot X", toggle=True) + + row = layout.row(align=True) + row.itemR(con, "sizex", text="Scale X", toggle=True) + row.itemR(con, "sizey", text="Scale X", toggle=True) + row.itemR(con, "sizez", text="Scale X", toggle=True) + + # Missing + row = layout.row() + row.itemL(text="SET OFFSET") + row.itemL(text="CLEAR OFFSET") + + def track_to(self, layout, con): + self.target_template(layout, con) + + row = layout.row() + row.itemL(text="Align:") + row.itemR(con, "target_z", toggle=True) + + row = layout.row() + row.itemL(text="To:") + row.itemR(con, "track", expand=True) + row.itemL(text="Up:") + row.itemR(con, "up", expand=True) + + self.space_template(layout, con) + + #def ik(self, layout, con): + + def follow_path(self, layout, con): + self.target_template(layout, con) + + row = layout.row() + row.itemR(con, "curve_follow", toggle=True) + row.itemR(con, "offset") + + row = layout.row() + row.itemL(text="Forward:") + row.itemR(con, "forward", expand=True) + row.itemL(text="Up:") + row.itemR(con, "up", expand=True) + + def limit_rotation(self, layout, con): + row = layout.row(align=True) + row.itemR(con, "use_limit_x", toggle=True) + row.itemR(con, "minimum_x", text="Min") + row.itemR(con, "maximum_x", text="Max") + + row = layout.row(align=True) + row.itemR(con, "use_limit_y", toggle=True) + row.itemR(con, "minimum_y", text="Min") + row.itemR(con, "maximum_y", text="Max") + + row = layout.row(align=True) + row.itemR(con, "use_limit_z", toggle=True) + row.itemR(con, "minimum_z", text="Min") + row.itemR(con, "maximum_z", text="Max") + + row = layout.row() + row.itemR(con, "limit_transform", toggle=True) + row.itemL() + + row = layout.row() + row.itemL(text="Convert:") + row.itemR(con, "owner_space", text="") + + def limit_location(self, layout, con): + split = layout.split() + + col = split.column() + sub = col.row(align=True) + sub.itemR(con, "use_minimum_x", toggle=True) + sub.itemR(con, "minimum_x", text="") + sub = col.row(align=True) + sub.itemR(con, "use_minimum_y", toggle=True) + sub.itemR(con, "minimum_y", text="") + sub = col.row(align=True) + sub.itemR(con, "use_minimum_z", toggle=True) + sub.itemR(con, "minimum_z", text="") + + col = split.column() + sub = col.row(align=True) + sub.itemR(con, "use_maximum_x", toggle=True) + sub.itemR(con, "maximum_x", text="") + sub = col.row(align=True) + sub.itemR(con, "use_maximum_y", toggle=True) + sub.itemR(con, "maximum_y", text="") + sub = col.row(align=True) + sub.itemR(con, "use_maximum_z", toggle=True) + sub.itemR(con, "maximum_z", text="") + + row = layout.row() + row.itemR(con, "limit_transform", toggle=True) + row.itemL() + + row = layout.row() + row.itemL(text="Convert:") + row.itemR(con, "owner_space", text="") + + def limit_scale(self, layout, con): + split = layout.split() + + col = split.column() + sub = col.row(align=True) + sub.itemR(con, "use_minimum_x", toggle=True) + sub.itemR(con, "minimum_x", text="") + sub = col.row(align=True) + sub.itemR(con, "use_minimum_y", toggle=True) + sub.itemR(con, "minimum_y", text="") + sub = col.row(align=True) + sub.itemR(con, "use_minimum_z", toggle=True) + sub.itemR(con, "minimum_z", text="") + + col = split.column() + sub = col.row(align=True) + sub.itemR(con, "use_maximum_x", toggle=True) + sub.itemR(con, "maximum_x", text="") + sub = col.row(align=True) + sub.itemR(con, "use_maximum_y", toggle=True) + sub.itemR(con, "maximum_y", text="") + sub = col.row(align=True) + sub.itemR(con, "use_maximum_z", toggle=True) + sub.itemR(con, "maximum_z", text="") + + row = layout.row() + row.itemR(con, "limit_transform", toggle=True) + row.itemL() + + row = layout.row() + row.itemL(text="Convert:") + row.itemR(con, "owner_space", text="") + + def copy_rotation(self, layout, con): + self.target_template(layout, con) + + row = layout.row(align=True) + row.itemR(con, "rotate_like_x", text="X", toggle=True) + row.itemR(con, "invert_x", text="-", toggle=True) + row.itemR(con, "rotate_like_y", text="Y", toggle=True) + row.itemR(con, "invert_y", text="-", toggle=True) + row.itemR(con, "rotate_like_z", text="Z", toggle=True) + row.itemR(con, "invert_z", text="-", toggle=True) + + layout.itemR(con, "offset", toggle=True) + + self.space_template(layout, con) + def copy_location(self, layout, con): self.target_template(layout, con) @@ -58,10 +256,145 @@ class ConstraintButtonsPanel(bpy.types.Panel): row.itemR(con, "locate_like_z", text="Z", toggle=True) row.itemR(con, "invert_z", text="-", toggle=True) - layout.itemR(con, "offset") + layout.itemR(con, "offset", toggle=True) + + self.space_template(layout, con) + + def copy_scale(self, layout, con): + self.target_template(layout, con) + + row = layout.row(align=True) + row.itemR(con, "size_like_x", text="X", toggle=True) + row.itemR(con, "size_like_y", text="Y", toggle=True) + row.itemR(con, "size_like_z", text="Z", toggle=True) + layout.itemR(con, "offset", toggle=True) + self.space_template(layout, con) + + #def sctipt(self, layout, con): + #def action(self, layout, con): + + def locked_track(self, layout, con): + self.target_template(layout, con) + + row = layout.row() + row.itemL(text="To:") + row.itemR(con, "track", expand=True) + row.itemL(text="Lock:") + row.itemR(con, "locked", expand=True) + + def limit_distance(self, layout, con): + self.target_template(layout, con) + + layout.itemR(con, "distance") + + row = layout.row() + row.itemL(text="Clamp Region:") + row.itemR(con, "limit_mode", text="") + #Missing: Recalculate Button + + def stretch_to(self, layout, con): + self.target_template(layout, con) + + row = layout.row() + row.itemR(con, "original_length", text="Rest Length") + row.itemR(con, "bulge", text="Volume Variation") + + row = layout.row() + row.itemL(text="Volume:") + row.itemR(con, "volume", expand=True) + row.itemL(text="Plane:") + row.itemR(con, "keep_axis", expand=True) + #Missing: Recalculate Button + + def floor(self, layout, con): + self.target_template(layout, con) + + row = layout.row() + row.itemR(con, "sticky", toggle=True) + row.itemR(con, "use_rotation", toggle=True) + + layout.itemR(con, "offset") + + row = layout.row() + row.itemL(text="Min/Max:") + row.itemR(con, "floor_location", expand=True) + + #def rigid_body(self, layout, con): + + def clamp_to(self, layout, con): + self.target_template(layout, con) + + row = layout.row() + row.itemL(text="Main Axis:") + row.itemR(con, "main_axis", expand=True) + + row = layout.row() + row.itemL(text="Options") + row.itemR(con, "cyclic", toggle=True) + + def transform(self, layout, con): + self.target_template(layout, con) + + row = layout.row() + row.itemR(con, "extrapolate_motion", text="Extrapolate") + row.itemL() + + split = layout.split() + + col = split.column() + col.itemL(text="Source:") + col.row().itemR(con, "map_from", expand=True) + + sub = col.row(align=True) + sub.itemL(text="X:") + sub.itemR(con, "from_min_x", text="") + sub.itemR(con, "from_max_x", text="") + + sub = col.row(align=True) + sub.itemL(text="Y:") + sub.itemR(con, "from_min_y", text="") + sub.itemR(con, "from_max_y", text="") + + sub = col.row(align=True) + sub.itemL(text="Z:") + sub.itemR(con, "from_min_z", text="") + sub.itemR(con, "from_max_z", text="") + + col = split.column() + col.itemL(text="Destination:") + col.row().itemR(con, "map_to", expand=True) + sub = col.row(align=True) + sub.itemR(con, "map_to_x_from", text="") + sub.itemR(con, "to_min_x", text="") + sub.itemR(con, "to_max_x", text="") + + sub = col.row(align=True) + sub.itemR(con, "map_to_y_from", text="") + sub.itemR(con, "to_min_y", text="") + sub.itemR(con, "to_max_y", text="") + + sub = col.row(align=True) + sub.itemR(con, "map_to_z_from", text="") + sub.itemR(con, "to_min_z", text="") + sub.itemR(con, "to_max_z", text="") + + self.space_template(layout, con) + + def shrinkwrap (self, layout, con): + self.target_template(layout, con) + + layout.itemR(con, "distance") + layout.itemR(con, "shrinkwrap_type") + + if con.shrinkwrap_type == "PROJECT": + row = layout.row(align=True) + row.itemR(con, "axis_x", toggle=True) + row.itemR(con, "axis_y", toggle=True) + row.itemR(con, "axis_z", toggle=True) + class OBJECT_PT_constraints(ConstraintButtonsPanel): __idname__ = "OBJECT_PT_constraints" __label__ = "Constraints" @@ -104,5 +437,4 @@ class BONE_PT_constraints(ConstraintButtonsPanel): self.draw_constraint(con) bpy.types.register(OBJECT_PT_constraints) -bpy.types.register(BONE_PT_constraints) - +bpy.types.register(BONE_PT_constraints) \ No newline at end of file -- cgit v1.2.3 From 3f6d5dd27ae3285245573cb651621788c2fbf2dd Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Sun, 31 May 2009 11:47:45 +0000 Subject: 2.5 Constraints: * Wrapped Action Constraint to Python. * Some layout tweaks by William Reynish. * Cleaned up the code a bit. --- release/ui/buttons_object_constraint.py | 288 ++++++++++++++++++++------------ 1 file changed, 180 insertions(+), 108 deletions(-) (limited to 'release') diff --git a/release/ui/buttons_object_constraint.py b/release/ui/buttons_object_constraint.py index 58683146ef0..a4ac6dfff86 100644 --- a/release/ui/buttons_object_constraint.py +++ b/release/ui/buttons_object_constraint.py @@ -33,8 +33,8 @@ class ConstraintButtonsPanel(bpy.types.Panel): self.copy_scale(box, con) #elif con.type == "SCRIPT": # self.script(box, con) - #elif con.type == "ACTION": - # self.action(box, con) + elif con.type == "ACTION": + self.action(box, con) elif con.type == "LOCKED_TRACK": self.locked_track(box, con) elif con.type == "LIMIT_DISTANCE": @@ -87,23 +87,26 @@ class ConstraintButtonsPanel(bpy.types.Panel): def child_of(self, layout, con): self.target_template(layout, con) + + split = layout.split() - layout.itemL(text="Use Channel(s):") + sub = split.column() + sub.itemL(text="Location:") + sub.itemR(con, "locationx", text="X") + sub.itemR(con, "locationy", text="Y") + sub.itemR(con, "locationz", text="Z") - row = layout.row(align=True) - row.itemR(con, "locationx", text="Loc X", toggle=True) - row.itemR(con, "locationy", text="Loc Y", toggle=True) - row.itemR(con, "locationz", text="Loc Z", toggle=True) - - row = layout.row(align=True) - row.itemR(con, "rotationx", text="Rot X", toggle=True) - row.itemR(con, "rotationy", text="Rot X", toggle=True) - row.itemR(con, "rotationz", text="Rot X", toggle=True) + sub = split.column() + sub.itemL(text="Rotation:") + sub.itemR(con, "rotationx", text="X") + sub.itemR(con, "rotationy", text="Y") + sub.itemR(con, "rotationz", text="Z") - row = layout.row(align=True) - row.itemR(con, "sizex", text="Scale X", toggle=True) - row.itemR(con, "sizey", text="Scale X", toggle=True) - row.itemR(con, "sizez", text="Scale X", toggle=True) + sub = split.column() + sub.itemL(text="Scale:") + sub.itemR(con, "sizex", text="X") + sub.itemR(con, "sizey", text="Y") + sub.itemR(con, "sizez", text="Z") # Missing row = layout.row() @@ -113,15 +116,13 @@ class ConstraintButtonsPanel(bpy.types.Panel): def track_to(self, layout, con): self.target_template(layout, con) - row = layout.row() - row.itemL(text="Align:") - row.itemR(con, "target_z", toggle=True) - row = layout.row() row.itemL(text="To:") row.itemR(con, "track", expand=True) - row.itemL(text="Up:") - row.itemR(con, "up", expand=True) + + row = layout.row() + row.itemR(con, "up", text="Up") + row.itemR(con, "target_z") self.space_template(layout, con) @@ -137,27 +138,38 @@ class ConstraintButtonsPanel(bpy.types.Panel): row = layout.row() row.itemL(text="Forward:") row.itemR(con, "forward", expand=True) - row.itemL(text="Up:") - row.itemR(con, "up", expand=True) + + row = layout.row() + row.itemR(con, "up", text="Up") + row.itemL() def limit_rotation(self, layout, con): - row = layout.row(align=True) - row.itemR(con, "use_limit_x", toggle=True) - row.itemR(con, "minimum_x", text="Min") - row.itemR(con, "maximum_x", text="Max") - row = layout.row(align=True) - row.itemR(con, "use_limit_y", toggle=True) - row.itemR(con, "minimum_y", text="Min") - row.itemR(con, "maximum_y", text="Max") + split = layout.split() - row = layout.row(align=True) - row.itemR(con, "use_limit_z", toggle=True) - row.itemR(con, "minimum_z", text="Min") - row.itemR(con, "maximum_z", text="Max") + col = split.column() + col.itemR(con, "use_limit_x") + colsub = col.column() + colsub.active = con.use_limit_x + colsub.itemR(con, "minimum_x", text="Min") + colsub.itemR(con, "maximum_x", text="Max") + + col = split.column() + col.itemR(con, "use_limit_y") + colsub = col.column() + colsub.active = con.use_limit_y + colsub.itemR(con, "minimum_y", text="Min") + colsub.itemR(con, "maximum_y", text="Max") + + col = split.column() + col.itemR(con, "use_limit_z") + colsub = col.column() + colsub.active = con.use_limit_z + colsub.itemR(con, "minimum_z", text="Min") + colsub.itemR(con, "maximum_z", text="Max") row = layout.row() - row.itemR(con, "limit_transform", toggle=True) + row.itemR(con, "limit_transform") row.itemL() row = layout.row() @@ -168,29 +180,37 @@ class ConstraintButtonsPanel(bpy.types.Panel): split = layout.split() col = split.column() - sub = col.row(align=True) - sub.itemR(con, "use_minimum_x", toggle=True) - sub.itemR(con, "minimum_x", text="") - sub = col.row(align=True) - sub.itemR(con, "use_minimum_y", toggle=True) - sub.itemR(con, "minimum_y", text="") - sub = col.row(align=True) - sub.itemR(con, "use_minimum_z", toggle=True) - sub.itemR(con, "minimum_z", text="") + col.itemR(con, "use_minimum_x") + colsub = col.column() + colsub.active = con.use_minimum_x + colsub.itemR(con, "minimum_x", text="") + col.itemR(con, "use_maximum_x") + colsub = col.column() + colsub.active = con.use_maximum_x + colsub.itemR(con, "maximum_x", text="") col = split.column() - sub = col.row(align=True) - sub.itemR(con, "use_maximum_x", toggle=True) - sub.itemR(con, "maximum_x", text="") - sub = col.row(align=True) - sub.itemR(con, "use_maximum_y", toggle=True) - sub.itemR(con, "maximum_y", text="") - sub = col.row(align=True) - sub.itemR(con, "use_maximum_z", toggle=True) - sub.itemR(con, "maximum_z", text="") + col.itemR(con, "use_minimum_y") + colsub = col.column() + colsub.active = con.use_minimum_y + colsub.itemR(con, "minimum_y", text="") + col.itemR(con, "use_maximum_y") + colsub = col.column() + colsub.active = con.use_maximum_y + colsub.itemR(con, "maximum_y", text="") + col = split.column() + col.itemR(con, "use_minimum_z") + colsub = col.column() + colsub.active = con.use_minimum_z + colsub.itemR(con, "minimum_z", text="") + col.itemR(con, "use_maximum_z") + colsub = col.column() + colsub.active = con.use_maximum_z + colsub.itemR(con, "maximum_z", text="") + row = layout.row() - row.itemR(con, "limit_transform", toggle=True) + row.itemR(con, "limit_transform") row.itemL() row = layout.row() @@ -199,31 +219,39 @@ class ConstraintButtonsPanel(bpy.types.Panel): def limit_scale(self, layout, con): split = layout.split() + + col = split.column() + col.itemR(con, "use_minimum_x") + colsub = col.column() + colsub.active = con.use_minimum_x + colsub.itemR(con, "minimum_x", text="") + col.itemR(con, "use_maximum_x") + colsub = col.column() + colsub.active = con.use_maximum_x + colsub.itemR(con, "maximum_x", text="") col = split.column() - sub = col.row(align=True) - sub.itemR(con, "use_minimum_x", toggle=True) - sub.itemR(con, "minimum_x", text="") - sub = col.row(align=True) - sub.itemR(con, "use_minimum_y", toggle=True) - sub.itemR(con, "minimum_y", text="") - sub = col.row(align=True) - sub.itemR(con, "use_minimum_z", toggle=True) - sub.itemR(con, "minimum_z", text="") + col.itemR(con, "use_minimum_y") + colsub = col.column() + colsub.active = con.use_minimum_y + colsub.itemR(con, "minimum_y", text="") + col.itemR(con, "use_maximum_y") + colsub = col.column() + colsub.active = con.use_maximum_y + colsub.itemR(con, "maximum_y", text="") col = split.column() - sub = col.row(align=True) - sub.itemR(con, "use_maximum_x", toggle=True) - sub.itemR(con, "maximum_x", text="") - sub = col.row(align=True) - sub.itemR(con, "use_maximum_y", toggle=True) - sub.itemR(con, "maximum_y", text="") - sub = col.row(align=True) - sub.itemR(con, "use_maximum_z", toggle=True) - sub.itemR(con, "maximum_z", text="") + col.itemR(con, "use_minimum_z") + colsub = col.column() + colsub.active = con.use_minimum_z + colsub.itemR(con, "minimum_z", text="") + col.itemR(con, "use_maximum_z") + colsub = col.column() + colsub.active = con.use_maximum_z + colsub.itemR(con, "maximum_z", text="") row = layout.row() - row.itemR(con, "limit_transform", toggle=True) + row.itemR(con, "limit_transform") row.itemL() row = layout.row() @@ -233,47 +261,90 @@ class ConstraintButtonsPanel(bpy.types.Panel): def copy_rotation(self, layout, con): self.target_template(layout, con) - row = layout.row(align=True) - row.itemR(con, "rotate_like_x", text="X", toggle=True) - row.itemR(con, "invert_x", text="-", toggle=True) - row.itemR(con, "rotate_like_y", text="Y", toggle=True) - row.itemR(con, "invert_y", text="-", toggle=True) - row.itemR(con, "rotate_like_z", text="Z", toggle=True) - row.itemR(con, "invert_z", text="-", toggle=True) + split = layout.split() + + col = split.column() + col.itemR(con, "rotate_like_x", text="X") + colsub = col.column() + colsub.active = con.rotate_like_x + colsub.itemR(con, "invert_x", text="Invert") + + col = split.column() + col.itemR(con, "rotate_like_y", text="Y") + colsub = col.column() + colsub.active = con.rotate_like_y + colsub.itemR(con, "invert_y", text="Invert") + + col = split.column() + col.itemR(con, "rotate_like_z", text="Z") + colsub = col.column() + colsub.active = con.rotate_like_z + colsub.itemR(con, "invert_z", text="Invert") - layout.itemR(con, "offset", toggle=True) + layout.itemR(con, "offset") self.space_template(layout, con) def copy_location(self, layout, con): self.target_template(layout, con) - row = layout.row(align=True) - row.itemR(con, "locate_like_x", text="X", toggle=True) - row.itemR(con, "invert_x", text="-", toggle=True) - row.itemR(con, "locate_like_y", text="Y", toggle=True) - row.itemR(con, "invert_y", text="-", toggle=True) - row.itemR(con, "locate_like_z", text="Z", toggle=True) - row.itemR(con, "invert_z", text="-", toggle=True) - - layout.itemR(con, "offset", toggle=True) + split = layout.split() + col = split.column() + col.itemR(con, "locate_like_x", text="X") + colsub = col.column() + colsub.active = con.locate_like_x + colsub.itemR(con, "invert_x", text="Invert") + + col = split.column() + col.itemR(con, "locate_like_y", text="Y") + colsub = col.column() + colsub.active = con.locate_like_y + colsub.itemR(con, "invert_y", text="Invert") + + col = split.column() + col.itemR(con, "locate_like_z", text="Z") + colsub = col.column() + colsub.active = con.locate_like_z + colsub.itemR(con, "invert_z", text="Invert") + + layout.itemR(con, "offset") + self.space_template(layout, con) def copy_scale(self, layout, con): self.target_template(layout, con) row = layout.row(align=True) - row.itemR(con, "size_like_x", text="X", toggle=True) - row.itemR(con, "size_like_y", text="Y", toggle=True) - row.itemR(con, "size_like_z", text="Z", toggle=True) + row.itemR(con, "size_like_x", text="X") + row.itemR(con, "size_like_y", text="Y") + row.itemR(con, "size_like_z", text="Z") - layout.itemR(con, "offset", toggle=True) + layout.itemR(con, "offset") self.space_template(layout, con) - #def sctipt(self, layout, con): - #def action(self, layout, con): + #def script(self, layout, con): + + def action(self, layout, con): + self.target_template(layout, con) + + layout.itemR(con, "action") + layout.itemR(con, "transform_channel") + + split = layout.split() + + col = split.column(align=True) + col.itemR(con, "start_frame", text="Start") + col.itemR(con, "end_frame", text="End") + + col = split.column(align=True) + col.itemR(con, "minimum", text="Min") + col.itemR(con, "maximum", text="Max") + + row = layout.row() + row.itemL(text="Convert:") + row.itemR(con, "owner_space", text="") def locked_track(self, layout, con): self.target_template(layout, con) @@ -281,6 +352,8 @@ class ConstraintButtonsPanel(bpy.types.Panel): row = layout.row() row.itemL(text="To:") row.itemR(con, "track", expand=True) + + row = layout.row() row.itemL(text="Lock:") row.itemR(con, "locked", expand=True) @@ -312,8 +385,8 @@ class ConstraintButtonsPanel(bpy.types.Panel): self.target_template(layout, con) row = layout.row() - row.itemR(con, "sticky", toggle=True) - row.itemR(con, "use_rotation", toggle=True) + row.itemR(con, "sticky") + row.itemR(con, "use_rotation") layout.itemR(con, "offset") @@ -331,15 +404,12 @@ class ConstraintButtonsPanel(bpy.types.Panel): row.itemR(con, "main_axis", expand=True) row = layout.row() - row.itemL(text="Options") - row.itemR(con, "cyclic", toggle=True) + row.itemR(con, "cyclic") def transform(self, layout, con): self.target_template(layout, con) - row = layout.row() - row.itemR(con, "extrapolate_motion", text="Extrapolate") - row.itemL() + layout.itemR(con, "extrapolate_motion", text="Extrapolate") split = layout.split() @@ -362,6 +432,8 @@ class ConstraintButtonsPanel(bpy.types.Panel): sub.itemR(con, "from_min_z", text="") sub.itemR(con, "from_max_z", text="") + split = layout.split() + col = split.column() col.itemL(text="Destination:") col.row().itemR(con, "map_to", expand=True) @@ -391,9 +463,9 @@ class ConstraintButtonsPanel(bpy.types.Panel): if con.shrinkwrap_type == "PROJECT": row = layout.row(align=True) - row.itemR(con, "axis_x", toggle=True) - row.itemR(con, "axis_y", toggle=True) - row.itemR(con, "axis_z", toggle=True) + row.itemR(con, "axis_x") + row.itemR(con, "axis_y") + row.itemR(con, "axis_z") class OBJECT_PT_constraints(ConstraintButtonsPanel): __idname__ = "OBJECT_PT_constraints" -- cgit v1.2.3 From a5c60e3405e38a4646eb4256e8e2817366f2dad1 Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Sun, 31 May 2009 16:40:28 +0000 Subject: 2.5 Buttons: * Some world button tweaks by William Reynish. Thanks! * Quality slider in scene buttons gets hidden again. --- release/ui/buttons_scene.py | 5 ++--- release/ui/buttons_world.py | 27 +++++++++++++++++---------- 2 files changed, 19 insertions(+), 13 deletions(-) (limited to 'release') diff --git a/release/ui/buttons_scene.py b/release/ui/buttons_scene.py index 2d0aaff6f46..561e5b94e3e 100644 --- a/release/ui/buttons_scene.py +++ b/release/ui/buttons_scene.py @@ -45,9 +45,8 @@ class RENDER_PT_output(RenderButtonsPanel): col = split.column() col.itemR(rd, "file_format", text="Format") - colsub = col.column() - colsub.active = rd.file_format in ("AVIJPEG", "JPEG") - colsub.itemR(rd, "quality", slider=True) + if rd.file_format in ("AVIJPEG", "JPEG"): + col.itemR(rd, "quality", slider=True) sub = split.column() sub.itemR(rd, "color_mode") diff --git a/release/ui/buttons_world.py b/release/ui/buttons_world.py index c38e791d92a..f12a76bfb66 100644 --- a/release/ui/buttons_world.py +++ b/release/ui/buttons_world.py @@ -107,9 +107,15 @@ class WORLD_PT_ambient_occlusion(WorldButtonsPanel): layout.itemR(ao, "gather_method", expand=True) if ao.gather_method == 'RAYTRACE': - row = layout.row() - row.itemR(ao, "samples") - row.itemR(ao, "distance") + split = layout.split() + col = split.column() + col.itemR(ao, "samples") + col.itemR(ao, "distance") + col = split.column() + col.itemR(ao, "falloff") + colsub = col.column() + colsub.active = ao.falloff + colsub.itemR(ao, "strength") layout.itemR(ao, "sample_method") if ao.sample_method == 'ADAPTIVE_QMC': @@ -122,16 +128,18 @@ class WORLD_PT_ambient_occlusion(WorldButtonsPanel): row.itemR(ao, "bias") if ao.gather_method == 'APPROXIMATE': - col = layout.column_flow() + split = layout.split() + col = split.column() col.itemR(ao, "passes") col.itemR(ao, "error_tolerance", text="Error") col.itemR(ao, "correction") + col = split.column() + col.itemR(ao, "falloff") + colsub = col.column() + colsub.active = ao.falloff + colsub.itemR(ao, "strength") col.itemR(ao, "pixel_cache") - row = layout.row() - row.itemR(ao, "falloff") - row.itemR(ao, "strength") - col = layout.column() col.row().itemR(ao, "blend_mode", expand=True) col.row().itemR(ao, "color", expand=True) @@ -142,5 +150,4 @@ bpy.types.register(WORLD_PT_world) bpy.types.register(WORLD_PT_ambient_occlusion) bpy.types.register(WORLD_PT_mist) bpy.types.register(WORLD_PT_stars) -bpy.types.register(WORLD_PT_color_correction) - +bpy.types.register(WORLD_PT_color_correction) \ No newline at end of file -- cgit v1.2.3 From 0e02fef8b498a7a2905dc8b341f6bebfc3a1e167 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 1 Jun 2009 11:39:11 +0000 Subject: 2.5: Added first particle panel, and an RNA property to retrieve the active particle system. --- release/ui/buttons_particle.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 release/ui/buttons_particle.py (limited to 'release') diff --git a/release/ui/buttons_particle.py b/release/ui/buttons_particle.py new file mode 100644 index 00000000000..52e20b03538 --- /dev/null +++ b/release/ui/buttons_particle.py @@ -0,0 +1,26 @@ + +import bpy + +class ParticleButtonsPanel(bpy.types.Panel): + __space_type__ = "BUTTONS_WINDOW" + __region_type__ = "WINDOW" + __context__ = "particle" + + def poll(self, context): + ob = context.active_object + return (ob and ob.active_particle_system) + +class PARTICLE_PT_particles(ParticleButtonsPanel): + __idname__= "PARTICLE_PT_particles" + __label__ = "Particles" + + def draw(self, context): + layout = self.layout + + psys = context.active_object.active_particle_system + part = psys.settings + + layout.itemR(part, "amount") + +bpy.types.register(PARTICLE_PT_particles) + -- cgit v1.2.3 From 7c4fccd6847fe2743708f9b8b54d0e62193d7244 Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Mon, 1 Jun 2009 12:10:30 +0000 Subject: 2.5 Cleanup commit: - Yafray removed. Also did cmake/scons files, but didn't compile with it, so test would be appreciated :) - Removed old crap from Windows release dir, should be checked on further by windows release builder later. --- release/windows/installer/00.blender.nsi | 450 ----------------------- release/windows/installer/00.checked.bmp | Bin 2610 -> 0 bytes release/windows/installer/00.header.bmp | Bin 25818 -> 0 bytes release/windows/installer/00.installer.adx | 314 ---------------- release/windows/installer/00.installer.ico | Bin 25214 -> 0 bytes release/windows/installer/00.sconsblender.nsi | 425 --------------------- release/windows/installer/00.unchecked.bmp | Bin 358 -> 0 bytes release/windows/installer/01.installer.bmp | Bin 154542 -> 0 bytes release/windows/installer/01.welcome.rtf | Bin 471 -> 0 bytes release/windows/installer/02.copyright.txt | 56 --- release/windows/installer/03.readme.txt | 54 --- release/windows/installer/04.folder.rtf | Bin 416 -> 0 bytes release/windows/installer/05.progress.rtf | Bin 214 -> 0 bytes release/windows/installer/06.complete.rtf | Bin 361 -> 0 bytes release/windows/installer/input/24bits-image.bmp | Bin 2786 -> 0 bytes release/windows/publ_installer/00.installer.adx | 308 ---------------- release/windows/publ_installer/00.installer.ico | Bin 1078 -> 0 bytes release/windows/publ_installer/01.installer.bmp | Bin 612 -> 0 bytes release/windows/publ_installer/01.welcome.rtf | Bin 624 -> 0 bytes release/windows/publ_installer/02.copyright.txt | 56 --- release/windows/publ_installer/03.readme.txt | 54 --- release/windows/publ_installer/04.folder.rtf | Bin 418 -> 0 bytes release/windows/publ_installer/05.progress.rtf | Bin 216 -> 0 bytes release/windows/publ_installer/06.complete.rtf | Bin 431 -> 0 bytes 24 files changed, 1717 deletions(-) delete mode 100644 release/windows/installer/00.blender.nsi delete mode 100644 release/windows/installer/00.checked.bmp delete mode 100644 release/windows/installer/00.header.bmp delete mode 100644 release/windows/installer/00.installer.adx delete mode 100644 release/windows/installer/00.installer.ico delete mode 100644 release/windows/installer/00.sconsblender.nsi delete mode 100644 release/windows/installer/00.unchecked.bmp delete mode 100644 release/windows/installer/01.installer.bmp delete mode 100644 release/windows/installer/01.welcome.rtf delete mode 100644 release/windows/installer/02.copyright.txt delete mode 100644 release/windows/installer/03.readme.txt delete mode 100644 release/windows/installer/04.folder.rtf delete mode 100644 release/windows/installer/05.progress.rtf delete mode 100644 release/windows/installer/06.complete.rtf delete mode 100644 release/windows/installer/input/24bits-image.bmp delete mode 100644 release/windows/publ_installer/00.installer.adx delete mode 100644 release/windows/publ_installer/00.installer.ico delete mode 100644 release/windows/publ_installer/01.installer.bmp delete mode 100644 release/windows/publ_installer/01.welcome.rtf delete mode 100644 release/windows/publ_installer/02.copyright.txt delete mode 100644 release/windows/publ_installer/03.readme.txt delete mode 100644 release/windows/publ_installer/04.folder.rtf delete mode 100644 release/windows/publ_installer/05.progress.rtf delete mode 100644 release/windows/publ_installer/06.complete.rtf (limited to 'release') diff --git a/release/windows/installer/00.blender.nsi b/release/windows/installer/00.blender.nsi deleted file mode 100644 index 8666ed812b3..00000000000 --- a/release/windows/installer/00.blender.nsi +++ /dev/null @@ -1,450 +0,0 @@ -; -; $Id$ -; -; Blender Self-Installer for Windows (NSIS - http://nsis.sourceforge.net) -; - -!include "MUI.nsh" - -Name "Blender VERSION" - -!define MUI_ABORTWARNING - -!define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of Blender.\r\n\r\nIt is recommended that you close all other applications before starting Setup.\r\n\r\nNote to Win2k/XP users: You may require administrator privileges to install Blender successfully." -!define MUI_WELCOMEFINISHPAGE_BITMAP "01.installer.bmp" -!define MUI_HEADERIMAGE -!define MUI_HEADERIMAGE_BITMAP "00.header.bmp" -!define MUI_COMPONENTSPAGE_SMALLDESC -!define MUI_FINISHPAGE_RUN "$INSTDIR\blender.exe" -!define MUI_CHECKBITMAP "00.checked.bmp" - -!insertmacro MUI_PAGE_WELCOME -!insertmacro MUI_PAGE_LICENSE "DISTDIR\Copyright.txt" -!insertmacro MUI_PAGE_COMPONENTS - -!insertmacro MUI_PAGE_DIRECTORY -Page custom DataLocation -!insertmacro MUI_PAGE_INSTFILES -!insertmacro MUI_PAGE_FINISH - -!insertmacro MUI_UNPAGE_WELCOME -!insertmacro MUI_UNPAGE_CONFIRM -!insertmacro MUI_UNPAGE_INSTFILES -!insertmacro MUI_UNPAGE_FINISH - - -Icon "00.installer.ico" -UninstallIcon "00.installer.ico" - -;-------------------------------- -;Languages - - !insertmacro MUI_LANGUAGE "English" - -;-------------------------------- -;Language Strings - - ;Description - LangString DESC_SecCopyUI ${LANG_ENGLISH} "Copy all required files to the application folder." - LangString DESC_Section2 ${LANG_ENGLISH} "Add shortcut items to the Start Menu. (Recommended)" - LangString DESC_Section3 ${LANG_ENGLISH} "Add a shortcut to Blender on your desktop." - LangString DESC_Section4 ${LANG_ENGLISH} "Blender can register itself with .blend files to allow double-clicking from Windows Explorer, etc." - LangString TEXT_IO_TITLE ${LANG_ENGLISH} "Specify User Data Location" -;-------------------------------- -;Data - -Caption "Blender VERSION Installer" -OutFile "DISTDIR\..\VERSION\blender-VERSION-windows.exe" - -InstallDir "$PROGRAMFILES\Blender Foundation\Blender" - -BrandingText "http://www.blender.org/bf" -ComponentText "This will install Blender VERSION on your computer." - -DirText "Use the field below to specify the folder where you want Blender to be copied to. To specify a different folder, type a new name or use the Browse button to select an existing folder." - -; GetWindowsVersion -; -; Based on Yazno's function, http://yazno.tripod.com/powerpimpit/ -; Updated by Joost Verburg -; -; Returns on top of stack -; -; Windows Version (95, 98, ME, NT x.x, 2000, XP, 2003) -; or -; '' (Unknown Windows Version) -; -; Usage: -; Call GetWindowsVersion -; Pop $R0 -; ; at this point $R0 is "NT 4.0" or whatnot - -Function GetWindowsVersion - - Push $R0 - Push $R1 - - ReadRegStr $R0 HKLM \ - "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion - - IfErrors 0 lbl_winnt - - ; we are not NT - ReadRegStr $R0 HKLM \ - "SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber - - StrCpy $R1 $R0 1 - StrCmp $R1 '4' 0 lbl_error - - StrCpy $R1 $R0 3 - - StrCmp $R1 '4.0' lbl_win32_95 - StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98 - - lbl_win32_95: - StrCpy $R0 '95' - Goto lbl_done - - lbl_win32_98: - StrCpy $R0 '98' - Goto lbl_done - - lbl_win32_ME: - StrCpy $R0 'ME' - Goto lbl_done - - lbl_winnt: - - StrCpy $R1 $R0 1 - - StrCmp $R1 '3' lbl_winnt_x - StrCmp $R1 '4' lbl_winnt_x - - StrCpy $R1 $R0 3 - - StrCmp $R1 '5.0' lbl_winnt_2000 - StrCmp $R1 '5.1' lbl_winnt_XP - StrCmp $R1 '5.2' lbl_winnt_2003 lbl_error - - lbl_winnt_x: - StrCpy $R0 "NT $R0" 6 - Goto lbl_done - - lbl_winnt_2000: - Strcpy $R0 '2000' - Goto lbl_done - - lbl_winnt_XP: - Strcpy $R0 'XP' - Goto lbl_done - - lbl_winnt_2003: - Strcpy $R0 '2003' - Goto lbl_done - - lbl_error: - Strcpy $R0 '' - lbl_done: - - Pop $R1 - Exch $R0 - -FunctionEnd - -Var BLENDERHOME -Var winversion - -Function SetWinXPPath - StrCpy $BLENDERHOME "$PROFILE\Application Data\Blender Foundation\Blender" -FunctionEnd - -Function SetWin9xPath - StrCpy $BLENDERHOME $INSTDIR -FunctionEnd - -Function .onInit - Call GetWindowsVersion - Pop $R0 - Strcpy $winversion $R0 - !insertmacro MUI_INSTALLOPTIONS_EXTRACT "data.ini" -FunctionEnd - -Var HWND -Var DLGITEM -Var is2KXP - -Function DataLocation - !insertmacro MUI_HEADER_TEXT "$(TEXT_IO_TITLE)" "" - - ; Set default choice - !insertmacro MUI_INSTALLOPTIONS_WRITE "data.ini" "Field 3" "State" 1 - - StrCpy $R1 $winversion 2 - StrCmp $R1 "NT" do_win2kxp - StrCmp $winversion "2000" do_win2kxp - StrCmp $winversion "XP" do_win2kxp - StrCmp $winversion "2003" do_win2kxp - - ;else... - Strcpy $is2KXP "false" - - Goto continue - - do_win2kXP: - Strcpy $is2KXP "true" - - continue: - - !insertmacro MUI_INSTALLOPTIONS_INITDIALOG "data.ini" - Pop $HWND - - Strcmp $is2KXP "true" do_dlg - - ; Disable App Data option on Win9x - - GetDlgItem $DLGITEM $HWND 1201 - EnableWindow $DLGITEM 0 - - do_dlg: - - !insertmacro MUI_INSTALLOPTIONS_SHOW - !insertmacro MUI_INSTALLOPTIONS_READ $R0 "data.ini" "Field 2" "State" ; App Dir - Strcmp $R0 1 do_app_data - !insertmacro MUI_INSTALLOPTIONS_READ $R0 "data.ini" "Field 3" "State" ; Inst Dir - Strcmp $R0 1 do_inst_path - !insertmacro MUI_INSTALLOPTIONS_READ $R0 "data.ini" "Field 4" "State" ; Home Dir - Strcmp $R0 1 do_home_path - - Goto end - - do_app_data: - Call SetWinXPPath - Goto end - do_home_path: - ReadEnvStr $BLENDERHOME "HOME" - Goto end - do_inst_path: - Call SetWin9xPath - end: - -FunctionEnd - -Section "Blender-VERSION (required)" SecCopyUI - SectionIn RO - -; Sets $BLENDERHOME to suit Windows version... - - ; Set output path to the installation directory. - SetOutPath $INSTDIR - ; Put file there - File DISTDIR\blender.exe - File DISTDIR\blenderplayer.exe - File DISTDIR\python23.dll - File DISTDIR\python23.zip - File DISTDIR\sdl.dll - File DISTDIR\gnu_gettext.dll - File DISTDIR\Copyright.txt - File DISTDIR\Blender.html - File DISTDIR\python-license.txt - File DISTDIR\Release_SHORTVERS.txt - File DISTDIR\GPL-license.txt - File DISTDIR\Help.url - File DISTDIR\zlib.pyd - - SetOutPath $BLENDERHOME\.blender - File DISTDIR\.blender\.bfont.ttf - - SetOutPath $BLENDERHOME\.blender\scripts - File DISTDIR\.blender\scripts\ac3d_export.py - File DISTDIR\.blender\scripts\ac3d_import.py - File DISTDIR\.blender\scripts\Apply_def.py - File DISTDIR\.blender\scripts\Axiscopy.py - File DISTDIR\.blender\scripts\batch_name_edit.py - File DISTDIR\.blender\scripts\bevel_center.py - File DISTDIR\.blender\scripts\blender2cal3d.py - File DISTDIR\.blender\scripts\bvh_export.py - File DISTDIR\.blender\scripts\bvh_import.py - File DISTDIR\.blender\scripts\clean_mesh.py - File DISTDIR\.blender\scripts\config.py - File DISTDIR\.blender\scripts\DirectX8Exporter.py - File DISTDIR\.blender\scripts\DirectXExporter.py - File DISTDIR\.blender\scripts\disp_paint.py - File DISTDIR\.blender\scripts\doc_browser.py - File DISTDIR\.blender\scripts\fixfromarmature.py - File DISTDIR\.blender\scripts\help_browser.py - File DISTDIR\.blender\scripts\help_getting_started.py - File DISTDIR\.blender\scripts\help_manual.py - File DISTDIR\.blender\scripts\help_py_reference.py - File DISTDIR\.blender\scripts\help_release_notes.py - File DISTDIR\.blender\scripts\help_tutorials.py - File DISTDIR\.blender\scripts\help_web_blender.py - File DISTDIR\.blender\scripts\help_web_devcomm.py - File DISTDIR\.blender\scripts\help_web_eshop.py - File DISTDIR\.blender\scripts\help_web_usercomm.py - File DISTDIR\.blender\scripts\hotkeys.py - File DISTDIR\.blender\scripts\kloputils.py - File DISTDIR\.blender\scripts\knife.py - File DISTDIR\.blender\scripts\lightwave_export.py - File DISTDIR\.blender\scripts\lightwave_import.py - File DISTDIR\.blender\scripts\nendo_export.py - File DISTDIR\.blender\scripts\nendo_import.py - File DISTDIR\.blender\scripts\obdatacopier.py - File DISTDIR\.blender\scripts\obj_export.py - File DISTDIR\.blender\scripts\obj_import.py - File DISTDIR\.blender\scripts\off_export.py - File DISTDIR\.blender\scripts\off_import.py - File DISTDIR\.blender\scripts\paths_import.py - File DISTDIR\.blender\scripts\radiosity_export.py - File DISTDIR\.blender\scripts\radiosity_import.py - File DISTDIR\.blender\scripts\raw_export.py - File DISTDIR\.blender\scripts\raw_import.py - File DISTDIR\.blender\scripts\renameobjectbyblock.py - File DISTDIR\.blender\scripts\rvk1_torvk2.py - File DISTDIR\.blender\scripts\save_theme.py - File DISTDIR\.blender\scripts\sel_same.py - File DISTDIR\.blender\scripts\skin.py - File DISTDIR\.blender\scripts\slp_import.py - File DISTDIR\.blender\scripts\sysinfo.py - File DISTDIR\.blender\scripts\tex2uvbaker.py - File DISTDIR\.blender\scripts\truespace_export.py - File DISTDIR\.blender\scripts\truespace_import.py - File DISTDIR\.blender\scripts\unweld.py - File DISTDIR\.blender\scripts\uv_export.py - File DISTDIR\.blender\scripts\UVpaint05.py - File DISTDIR\.blender\scripts\videoscape_export.py - File DISTDIR\.blender\scripts\vrml97_export.py - File DISTDIR\.blender\scripts\wings_export.py - File DISTDIR\.blender\scripts\wings_import.py - File DISTDIR\.blender\scripts\wrl2export.py - SetOutPath $BLENDERHOME\.blender\scripts\bpymodules - File DISTDIR\.blender\scripts\bpymodules\ai2obj.py - File DISTDIR\.blender\scripts\bpymodules\BPyBlender.py - File DISTDIR\.blender\scripts\bpymodules\BPyRegistry.py - File DISTDIR\.blender\scripts\bpymodules\eps2obj.py - File DISTDIR\.blender\scripts\bpymodules\gimp2obj.py - File DISTDIR\.blender\scripts\bpymodules\meshtools.py - File DISTDIR\.blender\scripts\bpymodules\svg2obj.py - SetOutPath $BLENDERHOME\.blender\scripts\bpydata - File DISTDIR\.blender\scripts\bpydata\readme.txt - File DISTDIR\.blender\scripts\bpydata\KUlang.txt - SetOutPath $BLENDERHOME\.blender\scripts\bpydata\config - File DISTDIR\.blender\scripts\bpydata\config\readme.txt - - ; Additional Languages files - SetOutPath $BLENDERHOME\.blender - File DISTDIR\.blender\.Blanguages - SetOutPath $BLENDERHOME\.blender\locale\ca\LC_MESSAGES - File DISTDIR\.blender\locale\ca\LC_MESSAGES\blender.mo - SetOutPath $BLENDERHOME\.blender\locale\cs\LC_MESSAGES - File DISTDIR\.blender\locale\cs\LC_MESSAGES\blender.mo - SetOutPath $BLENDERHOME\.blender\locale\de\LC_MESSAGES - File DISTDIR\.blender\locale\de\LC_MESSAGES\blender.mo - SetOutPath $BLENDERHOME\.blender\locale\fi\LC_MESSAGES - File DISTDIR\.blender\locale\fi\LC_MESSAGES\blender.mo - SetOutPath $BLENDERHOME\.blender\locale\es\LC_MESSAGES - File DISTDIR\.blender\locale\es\LC_MESSAGES\blender.mo - SetOutPath $BLENDERHOME\.blender\locale\fr\LC_MESSAGES - File DISTDIR\.blender\locale\fr\LC_MESSAGES\blender.mo - SetOutPath $BLENDERHOME\.blender\locale\it\LC_MESSAGES - File DISTDIR\.blender\locale\it\LC_MESSAGES\blender.mo - SetOutPath $BLENDERHOME\.blender\locale\ja\LC_MESSAGES - File DISTDIR\.blender\locale\ja\LC_MESSAGES\blender.mo - SetOutPath $BLENDERHOME\.blender\locale\nl\LC_MESSAGES - File DISTDIR\.blender\locale\nl\LC_MESSAGES\blender.mo - SetOutPath $BLENDERHOME\.blender\locale\sv\LC_MESSAGES - File DISTDIR\.blender\locale\sv\LC_MESSAGES\blender.mo - SetOutPath $BLENDERHOME\.blender\locale\zh_cn\LC_MESSAGES - File DISTDIR\.blender\locale\zh_cn\LC_MESSAGES\blender.mo - SetOutPath $BLENDERHOME\.blender\locale\pt_br\LC_MESSAGES - File DISTDIR\.blender\locale\pt_br\LC_MESSAGES\blender.mo - SetOutPath $BLENDERHOME\.blender\locale\hr_HR\LC_MESSAGES - File DISTDIR\.blender\locale\hr_HR\LC_MESSAGES\blender.mo - SetOutPath $BLENDERHOME\.blender\locale\ru\LC_MESSAGES - File DISTDIR\.blender\locale\ru\LC_MESSAGES\blender.mo - SetOutPath $BLENDERHOME\.blender\locale\pl\LC_MESSAGES - File DISTDIR\.blender\locale\pl\LC_MESSAGES\blender.mo - - SetOutPath $INSTDIR - ; Write the installation path into the registry - WriteRegStr HKLM SOFTWARE\BlenderFoundation "Install_Dir" "$INSTDIR" - ; Write the uninstall keys for Windows - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Blender" "DisplayName" "Blender (remove only)" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Blender" "UninstallString" '"$INSTDIR\uninstall.exe"' - WriteUninstaller "uninstall.exe" -SectionEnd - -Section "Add Start Menu shortcuts" Section2 - SetOutPath $INSTDIR - CreateDirectory "$SMPROGRAMS\Blender Foundation\Blender\" - CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0 - CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\Blender.lnk" "$INSTDIR\Blender.exe" "" "$INSTDIR\blender.exe" 0 - CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\Readme.lnk" "$INSTDIR\Blender.html" "" "" 0 - CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\Copyright.lnk" "$INSTDIR\Copyright.txt" "" "$INSTDIR\copyright.txt" 0 - CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\GPL-license.lnk" "$INSTDIR\GPL-license.txt" "" "$INSTDIR\GPL-license.txt" 0 - CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\Help.lnk" "$INSTDIR\Help.url" -SectionEnd - -Section "Add Desktop Blender-VERSION shortcut" Section3 - SetOutPath $INSTDIR - CreateShortCut "$DESKTOP\Blender.lnk" "$INSTDIR\blender.exe" "" "$INSTDIR\blender.exe" 0 -SectionEnd - -Section "Open .blend files with Blender-VERSION" Section4 - SetOutPath $INSTDIR - ;ExecShell "open" '"$INSTDIR\blender.exe"' "-R -b" - ;do it the manual way! ;) - - WriteRegStr HKCR ".blend" "" "blendfile" - WriteRegStr HKCR "blendfile" "" "Blender .blend File" - WriteRegStr HKCR "blendfile\shell" "" "open" - WriteRegStr HKCR "blendfile\DefaultIcon" "" $INSTDIR\blender.exe,1 - WriteRegStr HKCR "blendfile\shell\open\command" "" \ - '"$INSTDIR\blender.exe" "%1"' - -SectionEnd - -UninstallText "This will uninstall Blender VERSION. Hit next to continue." - -Section "Uninstall" - ; remove registry keys - DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Blender" - DeleteRegKey HKLM SOFTWARE\BlenderFoundation - ; remove files - Delete $INSTDIR\blender.exe - Delete $INSTDIR\blenderplayer.exe - Delete $INSTDIR\python23.dll - Delete $INSTDIR\python23.zip - Delete $INSTDIR\sdl.dll - Delete $INSTDIR\gnu_gettext.dll - Delete $INSTDIR\Copyright.txt - Delete $INSTDIR\Blender.html - Delete $INSTDIR\GPL-license.txt - Delete $INSTDIR\python-license.txt - Delete $INSTDIR\Release_SHORTVERS.txt - Delete $INSTDIR\Help.url - Delete $INSTDIR\uninstall.exe - Delete $INSTDIR\zlib.pyd - Delete $INSTDIR\.blender\.bfont.ttf - Delete $INSTDIR\.blender\.Blanguages - ; remove shortcuts, if any. - Delete "$SMPROGRAMS\Blender Foundation\Blender\*.*" - Delete "$DESKTOP\Blender.lnk" - ; remove directories used. - RMDir /r $INSTDIR\.blender\locale - RMDir /r $INSTDIR\.blender\scripts - RMDir /r $INSTDIR\.blender\scripts\bpydata - RMDir /r $INSTDIR\.blender\scripts\bpydata\config - RMDir /r $INSTDIR\.blender\scripts\bpymodules - RMDir $INSTDIR\.blender - RMDir "$SMPROGRAMS\Blender Foundation\Blender" - RMDir "$SMPROGRAMS\Blender Foundation" - RMDir "$INSTDIR" - RMDir "$INSTDIR\.." -SectionEnd - -!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN - !insertmacro MUI_DESCRIPTION_TEXT ${SecCopyUI} $(DESC_SecCopyUI) - !insertmacro MUI_DESCRIPTION_TEXT ${Section2} $(DESC_Section2) - !insertmacro MUI_DESCRIPTION_TEXT ${Section3} $(DESC_Section3) - !insertmacro MUI_DESCRIPTION_TEXT ${Section4} $(DESC_Section4) -!insertmacro MUI_FUNCTION_DESCRIPTION_END diff --git a/release/windows/installer/00.checked.bmp b/release/windows/installer/00.checked.bmp deleted file mode 100644 index 6c2e98d361c..00000000000 Binary files a/release/windows/installer/00.checked.bmp and /dev/null differ diff --git a/release/windows/installer/00.header.bmp b/release/windows/installer/00.header.bmp deleted file mode 100644 index b631ba73933..00000000000 Binary files a/release/windows/installer/00.header.bmp and /dev/null differ diff --git a/release/windows/installer/00.installer.adx b/release/windows/installer/00.installer.adx deleted file mode 100644 index af1b432e3c4..00000000000 --- a/release/windows/installer/00.installer.adx +++ /dev/null @@ -1,314 +0,0 @@ -[ADX] -ADXVersion=1.00.00 -<=>2240 -CCM^8603:<;8=2 -CCM^8603:>;8=6 -CCM^8603:?;8=3 -CCM^8603:?;9=2 -CCM^8603:8;8=2 -CCM^8603:8;9=2 -CCM^8603::;8=2 -CCM^8603::;9=2 -CCM^8603::;:=2 -CCM^8603:;;8=2 -CCM^8603:4;:=2 -CCM^8603:4;<=2 -CCM^8603:5;8=$HM -CCM^8603:5;9=$Dgokcl -CCM^8603:5;:=$Naogte -CCM^8603:5;;=$^cr -CCM^8603:5;<=$Ii -CCM^8603:5;=$Etnue -CCM^8603:5;>=[bu!\i %K`g -CCM^8603:5;?=$Ucuz -CCM^8603:5;0=Qbjdkr %K`g -CCM^8603:5;1=G!~uzgcw*Emf&x' -CCM^8603:5:8=$Ciom -CCM^8603:5:9=Lbrvgtk-$" -CCM^8603:5::=$Fdnzr -CCM^8603;<;8=2 -CCM^8604:<;8=3 -CCM^8604:<;9=@kcolcr#',Ymz{n}v -CCM^8604:<;:=Rkc`{c pzihamw+zjb&qirh#~c+cghf"nrdeu tc`g(ik+kzst`kreg$,+Qd{+cc~&`duo#z~n{x.fg'Dsgqsf*n~|ae.vh&rmje`~,jf+ksgqsooo&pb~d%(+^jzjt&l}ut#cbhd~jn.c'bsape#fi|n|+ap'dd(g VDO+fjcn -CCM^8604:<:9=67?7 -CCM^8604:;8=3 -CCM^8604:;9=@kcolcr#',Ymz{n}v -CCM^8604:;:=Voc!nolf*eelbmjzgc&cmjot*mgznoow"b~h{rs-*,[zn}x. ^cr*&ie*ud}+yj`v'rn(ivfx{yak+zjb&gaje-*,[zn}x. Ii#(of#sc~(oae)v'q`fr we,d~n|||ksc!|ne#legm%.+^pbur($Cbdond).bh"~it(qam~,g+}ar'cy|ta`~eeo+.bzgju/ -CCM^8604::9=4625 -CCM^8604:>;8=3 -CCM^8604:>;9=@kcolcr#',Ymz{n}v -CCM^8604:>;:=Voc!nolf*eelbmjzgc&cmjot*mgznoow"b~h{rs#kbo(b}+\gfb,Ghlz$,+Xykx}"%_d{$ jl,rg~.|ols&ug&ouo~|zbzn.voc!nolf$,+Xykx}"%Hn*&ie*ud}+jd`%s&viht#~c+g}kyypnrd(rhf*jbdn +.Rucr{&"@kbhmg,+gd'n}&wbdx+|d.xzmw&dprrbixbfl.+gvbkr& -CCM^8604:>:9=4625 -CCM^8604:?;8=3 -CCM^8604:?;9=@kcolcr#',Ymz{n}v -CCM^8604:?;:=Voc!nolf*eelbmjzgc&cmjot*dj{+oe.gftmacr#|iy{bae.lrkcmt lx,oik+zjfh!|ne#ebn(jbykcc!gh zeyy(xwxzgj(!(Vrfy+*Rkx,"n`!qiu#}me|+zd.pbvmiee#~dn(mggk,'&Qzcsp*.Eg).bh"~it(bom-x+j`.vh&smvlbii+|ck+hkkc/(&Pqox()Mj`abj#(of#sc~(|oez"si!{ros*is|yohzkia!(otfg% -CCM^8604:?:9=4625 -CCM^8604:8;8=3 -CCM^8604:8;9=@kcolcr#',Ymz{n}v -CCM^8604:8;:=Rkc`{c fdxnz+zck"wgr{qoqn$x!+`nkfbb!|i frxyihz+zjb&h|cmp$,+Xykx}"%IJ*&tl*odfge{g'is($Cbdond).a"trnx&e{~~jkgei"nrdeu. -CCM^8604:8:9=7641 -CCM^8604:9;8=3 -CCM^8604:9;9=@kcolcr#',Np|jmvnio(Vrlm~n{x -CCM^8604:9;:=Voc!{raw+jnbdy"tnnu tbm({kymgir`oc ll,`n.bzgju!`gs#hinf+kszpfeumb. -CCM^8604:9:9=15170 -CCM^8604::;8=3 -CCM^8604::;9=@kcolcr#',Np|jmvnio(Vrlm~n{x -CCM^8604::;:=Voc!{raw+jnbdy"tnnu tbm({kymgir`oc ll,`n.bzgju!`gs#hinf+kszpfeumb.#*\ymx}+,Afhbmj"#~c+{a{.grsietjdk+akf}, -CCM^8604:::9=15170 -CCM^8604:;;8=3 -CCM^8604:;;9=@kcolcr#',Nzyay -CCM^8604:;;:=Voc!xgtk*eelbmjzgc&cmjot*od}gj+`ms&cm&cqommo.d|"cid{&nl~,jdykjj{'cyaut-*,_zr.x~gdogqond*m+lbhmkpbhu(vawb" -CCM^8604:;:9=4625 -CCM^8604:4;8=3 -CCM^8604:4;9=@kcolcr#',Nzyay -CCM^8604:4;:=Voc!nolf*eelbmjzgc&cmjot*od}gj+`ms&cm&ouo~|zbzkl) -CCM^8604:4:9=4625 -CCM^8604:5;8=3 -CCM^8604:5;9=@kcolcr#',Nzyay -CCM^8604:5;:=Voc!nolf*eelbmjzgc&cmjot*ex(j.Ykcc+Nfjy#legm+oej"ditdb mex+jn.dxguqsartfd" -CCM^8604:5:9=4625 -CCM^8604;<;8=3 -CCM^8604;<;9=@kcolcr#',Nzyay -CCM^8604;<;:=Voc!xgsp}cyl+wd{"tvdkofjoh+j}+gldiszccw$,+Xykx}"%E`feeo(,g+}ar'cy|ta`~eeo+gkot(!(Vrfy+*Bieapb$!|i pae{(dxn|"snd(vapy{dzo#{|mscb|cd#cxne% -CCM^8604;<:9=2 -CCM^8604;;8=3 -CCM^8604;;9=@kcolcr#',Nzyay -CCM^8604;;:=Mic!gt ne~n(dh+zjb&qzigqkax(fjz"pcsm&svz|d{n.a"uso(eovfh+fdz+lg'`n}hd-*,[dnoxk"dio|gcw*ud}y.xadsq`zc sxc}aoky.dht!`cls$ -CCM^8604;:9=2 -CCM^8604;>;8=3 -CCM^8604;>;9=@kcolcr#',Nzyay -CCM^8604;>;:=Onurahg#imiaek.dnjd u)- -CCM^8604;>:9=2 -CCM^8604;?;8=3 -CCM^8604;?;9=@kcolcr#',Nzyay -CCM^8604;?;:=Voc!ksswea+znib}vu!ahflxaj|bae.dnjd(rhb~,|ix.x{rwirmb we,im+cn|ebb!otk*xcm+}r}vbk!zcgjyxyq+md{nc&ogr ao,mg~`o "'Vmmgsf*odfohz"~itz&sllx|iyk+~phphlcr#lcy(ckg~, -CCM^8604;?:9=2 -CCM^8604;8;8=3 -CCM^8604;8;9=@kcolcr#',Nzyay -CCM^8604;8;:=Voc!aren*eelbmjzgc&hf&tko,manbo.`bjn&cl`o(ea.`b&smaip~iymo +.Rkc`{c `ebihz+wmrt!{ifw}mym+~yatnbdz&flx,cmg~% -CCM^8604;8:9=4625 -CCM^8604;9;8=3 -CCM^8604;9;9=@kcolcr#',Nzyay -CCM^8604;9;:=Voc!mhd#ej+|ck+]gk`,M~tqkoaei+tkw&gaje#}mx(ykjmjbb!jcflxi+igb+ad'rim&iwoax(ha~bf'dd(vrlziydr.nvvugb|cd-*,_`b}+]gk`,M~tqkoaei+tkw&gaje#gmr(ik+jcjgfmb.#*\gmj}n.mer`ah b*jymxf+mmw!ihd#~~r(jijgl) -CCM^8604;9:9=2 -CCM^8604;:;8=3 -CCM^8604;:;9=@kcolcr#',Nzyay -CCM^8604;:;:=Voc!m~tqkoad`+~phed{u gch+fdz+mmjvmmre#yyhkn}xhwkjx&& Wbex(for.jfpd(defd,hi~}nj"e!ih lziyiay.Afhbmj lx,d|cky.gutnz( #Z`nixk+mmir`kr zeyy(xamzuftd(vrl|eomy.map'nddv. -CCM^8604;::9=2 -CCM^8604;;;8=3 -CCM^8604;;;9=@kcolcr#',Nzyay -CCM^8604;;;:=[hss(uyp~if(oan}"iiu(nauo,nfd{lf"fp`ajaafi+encd|{'rn(uu`iix{m{gb{'cy|ta`~,`n.bzgju!nton*xcax.Xkna+Dprrbixbfl.qgr'`hdc.#*\gmj}n.ahhuiet#sc~z+}dhvpgsm&pqezbln|+hmu&imjp- -CCM^8604;;:9=2 -CCM^8604;4;8=0 -CCM^8604;4;9=@kcolcr#',Nzyay -CCM^8604;4;:=Voc!m~tqkoad`+~phed{u tk+kj`hknkce(deee~n(jbg.ma&u`c j~if{+yn|g'cy|ta`~io&+.Raw'k`q&nfoh+|d.y{l'rim&e{~~jkgd`"wtnkcsp*mlib`% -CCM^8604;4:9=2 -CCM^8604;5;8=3 -CCM^8604;5;9=@kcolcr#',Nzyay -CCM^8604;5;:=Voc!nolf*eelbmjzgc&cmjot*od}gj+`ms&cm&e{~~jkko "'Ou(kaz*mgznoow"ec!ah vyi+jr.fg'ux{ren*cy(gahegc&cq&amexcmy.j~rkobirild"+A.|gnk&cm&shc|{mo -CCM^8604;5:9=4625 -CCM^86048<;8=3 -CCM^86048<;9=@kcolcr#',Nzyay -CCM^86048<;:=Ci&dztoq*chk~|ykf'btzond*xcm+kszpfeuain#z~dkn}x "'Rim&aqidb~n.mgnb.r!&mbs,im+jjcc`ce&& Sfij{n.dlvfoo(g exix`+md~{'gol&tqs,jojge -CCM^86048<:9=2 -CCM^86048;8=3 -CCM^86048;9=@kcolcr#',Nzyay -CCM^86048;:=Uoomm&e{~~jkgei"nrdeu b*hj|j.n|pht!`gs#eoh}y|nj,'Riau Po`m%Nv|cdrhfa yc|+nbbn.of!jc gkajonj%."Wjdiue#enib`+o"atd{n `e|r(j`o.vu!iaajd" -CCM^86048:9=4625 -CCM^86048>;8=3 -CCM^86048>;9=@kcolcr#',Nzyay -CCM^86048>;:=Uoomm&e{~~jkgei"nrdeu wbiym+yj}l r!mhovmd+zdaf.mi&u`c goaeogmi&ezovf$,+Qd{+cc~&omcd#~c+zncdxg'unec ec`n{+lnhmuc!qiu#ime(nv|cdr!ijl#ej+|ck+gvbkr& -CCM^86048>:9=2 -CCM^86048?;8=0 -CCM^86048?;9=@kcolcr#',\iy`b`e -CCM^86048?;:=Uoomm&e{~~jkgei"nrdeu excf(fn.Qbjg%Cxwxmh|b`l.xnv!nolf*den.bzgju!crf*`a{~nj, -CCM^86048?:9=2 -CCM^860488;8=0 -CCM^860488;9=@kcolcr#',Bfmayccsonf -CCM^860488;:=Ckj!areny,|myk+}wded{ufvf`r(nv|cdrdl( -CCM^860488:9=2 -CCM^860489;8=3 -CCM^860489;9=Kiouagljpi -CCM^860489;:=Rucqitimm,mgy.Nvvugb|oom$,+Xgkj}g'Q`ar. -CCM^860489:9=2 -CCM^86048:;8=3 -CCM^86048:;9=@kcolcr#',Nzyay -CCM^86048:;:=Ci&dztoq*{j{+kemmrhumteg*{cagk+~pbv`zond*jdz+kszpfeuain-*,[dnoxk"dio|gcw*ud}y.xadsq`zc sxc}aoky.dht!`cls$ -CCM^86048::9=2 -CCM^860484;8=3 -CCM^860484;9=@kcolcr#',H`daxk"Aimlcr#Fchigd` -CCM^860484:9=2 -CCM^86048498=Fntdkroqcix -CCM^86048499=Fuowmu -CCM^860485;8=3 -CCM^860485;9=@kcolcr#',Xmgkhz"@tn}v ee~+[cayzarrr -CCM^860485:9=2 -CCM^86048598=Girdz&oq*ndnm.c'asgsp#dmfm+hd|"nhr|glocbl(xfd|vdsu{( -CCM^86049<;8=3 -CCM^86049<;9=@kcolcr#',Nzyay -CCM^86049<;:=Ci&dztoq*chk~|ykf'qiaje#kxmf~gl`&ug&imyxjdg.xfmurb}rs- -CCM^86049<:9=2 -CCM^86049;8=3 -CCM^86049;9=@kcolcr#',Ymz{n}v -CCM^86049;:=Mic!gt ne~n(mggkq'qdzc jdigbnj"sn`|&rf{ybzn.rawu&rqutfg,g+ln.pbuuittfn" -CCM^86049:9=2 -CCM^8604998=Pbuuitt#,Bd -CCM^8604999=Pbuuitt#,@j|n| -CCM^86049>;8=3 -CCM^86049>;9=@kcolcr#',Ymz{n}v -CCM^86049>;:=Rkc`{c jdnz.]anrkd(Hunhiy(.j+glsi!|ne#xifg}oibg'bsape- -CCM^86049>:9=67?7 -CCM^86049?;8=3 -CCM^86049?;9=@kcolcr#',Nzyay -CCM^86049?;:=[hs!`gvf*ee{n|kf'rim&wqebl(]ag{ob(!(Vlfkn(hfnmi'rim&mfnej(j`o.vu!iaajd" -CCM^86049?:9=2 -CCM^860498;8=3 -CCM^860498;9=@kcolcr#',Nzyay -CCM^860498;:=Voc!losh*ex(ea.pbgeq&flx,jkhkx},'&Qdcapo,h`nm`.vh&lime#yyym+zcov'rim&mfnej(b}+ypnrd(cnbh`nl+oej"wtnxcros,bfxkyzgc&hfro#~dn(o|bxg) -CCM^860498:9=2 -CCM^860::?31=Ahhgatm -CCM^860::?28='t&iiu mex+jnke.qbrtx( Bxi+qd{+}wuc!qiu#}me|+zd.gou7 -CCM^860::>31=Gutnz -CCM^860::>28=Qbrtx&hby,bfky`ck&dztoq$,[dnoxk"dio|gcw*ud}y.xadsq`zc sxc}aoky.dht!`cls$ -CCM^860::<;8=1 -CCM^8603:;9=^[udzpeqVdden}Wa`mZcdcngo~&kykjzmu+3&~x.}eeldyx gc -CCM^8603:;8=AZEGEUNOr:Tm|j`i[JNKGLPtW\nc{Rqa~7K0.yc| -CCM^8603:4;8=2 -CCM^8603:9;8=2 -CCM^8603:9;9=2 -CCM^8603:9;:=2 -CCM^8603:;;=^[udzpeqVdden}Wjgqcmgv\qo`nixkWykibnu\jdigbn|^76/ahswk`gmy bmm<6 -CCM^860334;8=2 -CCM^860334;9=2 -CCM^860339;8=@kcolcr8: -CCM^8603:8;;=2 -CCM^860::>=3 -CCM^860::38=3 -CCM^860::<;=>Nhr|gloLcgln|5RWioo{raof"npn -CCM^860::<;?=3 -CCM^860::<;1=3 -CCM^860::<9=JLCXWELBY_N[T\DAV[(cdcng1$Ommo~bv.zICCY\I@J[XKXQPHIUTdlfdhmagk0&Fb``}jt*vD@MRQHBCTUD[YRLEXWjgkejdnjdTuhff`Wg{keRahklihd8"Hnnj{gz+{NJM__@FMX[N]T\MHR]jjemnjbdnROkdfsm|Ocld7#Lnhj{ns/}@MEZU@DKJBTCCDNHFC\Pejj|nROnesguoe~P\aejdyq[Etztem~Znzxgd`^Rhhfutbf`WJgkejguEaupokuEifkwFIB_^DICBFSFIHFB@G[UnnrwbxiWEbmyaqh`uTQimnc|{WM~|pbhu^crpcceT^`b`qsgmdZBoobomy5^`kiuuijlP~~bflr -CCM^860::<;0=>Nhr|gloLcgln|5R@kcolcr-otnt7Ge}vfjmNilgo~5THa{wpnai|(t{~p7Ae}onk@ndbeq4PYmjjfk,s~ut:ImyxjdgHdbfbt?TNeoz"~zg505~;Oo{raofJddoky0^wu`in1:"odg505~ -CCM^860::>;=3 -CCM^860::8=3502:455 -CCM^860::?= -CCM^860::?>= -CCM^860::?0=2 -CCM^860::>:=3 -CCM^860::?=1 -CCM^860::0=3 -CCM^860::>3=2 -CCM^860::=>WtnotanLegmx0WLnbhemt -CCM^860::>=@kcolcr-otn37Ge}vfjmNilgo~5TIbn`fbt/m~e8:7;3;505~Diqqtidbx%|sz02KiuuijlEe`omy0WMmwsaahw$xs|0>0>97:3zRfkhfm%zsz9;Oo{raofJddoky0^Uc`lke-~t3;5;52<:tNeoz"~zg57Gltr`djFlfhnz5RCknw(tzj;31<08050rr~righ23$hgd02B`qsgmd@ooniy6W~rzjhh38(dof7;3;5;593>=3 -CCM^860::>3?=2 -CCM^860::<8=3 -CCM^860::>?8=2 -CCM^860::<9=3 -CCM^860::>?9=2 -CCM^860::<:=3 -CCM^860::>?:=2 -CCM^860::<;=3 -CCM^860::>?;=2 -CCM^860::<<=3 -CCM^860::>?<=2 -CCM^860::<=2 -CCM^860::>?=2 -CCM^860::<>=3 -CCM^860::>?>=2 -CCM^860::9=Lhr!i&Nvgnnz -CCM^860:::= -CCM^860::;=upq/jjemniy&eb -CCM^860::<= -CCM^860::>1=@kcolcr#I~niay -CCM^860::8=0)40k -CCM^860::9>9=2 -CCM^860::9>:=3 -CCM^860::9><=3 -CCM^860::9>=3 -CCM^860::5<<=2 -CCM^860::9>?= -CCM^860::<8;=2 -CCM^860::<8<= -CCM^860::<8=>Nhr|gloLcgln|5RJbjq&sro -CCM^860::<8>= -CCM^860::831=2 -CCM^860::59=^[udzpeqVdden}Wjgqcmgv\qo`nixkWykibnu\jdigbn|^77/ahswk`gmy icr -CCM^860::5:= -CCM^860::5;=2 -CCM^860::<9>=3 -CCM^860::<9?=3 -CCM^860::5<=2 -CCM^860::5=2 -CCM^860::5>=2 -CCM^860::5<=2 -CCM^860::5<>=2 -CCM^860::5=3 -CCM^860::52?=>Nhr|gloLcgln|5R@FEJ]V -CCM^860::520=2 -CCM^860::>>=2 -CCM^860::>?=2 -CCM^8603:?;:=3 -CCM^8603:?;;=2 -CCM^8603:>;:=>FBUmkp -CCM^8603:;;>=2 -CCM^860::9>;=JLCXWELBY_N[T\DAV[(cdcng1$Ommo~bv.cdcnglegm0]|kia}@MEZUOGIX]N]]UIN\Zboobonbbn5*Ccgislw#7Idn`okp'@hdc;P~~bflrCEG^YBDGSPO_TZDA_R`kcol`iooPx`nbgRmwcoTeongmel0&Okdfsm|/;!6Ee{ogbDhjemt>_H`nfoky gc#($%2(7X|ygei~OMDQYCOK_XMXQYAMSZcdcnglegmWJnhcrjuAeom1$Ommo~bv.#4Onp~mgdMagjgu8]Jjemniy&nvn,.6R|timmpCCNWTBMDGMWKA@BEEMW]dhvpgsmZMji~d{dhRUnhegqs_Iyyzn`Xguuhgh\Vdee{ogb^Ejdfbeq1Hb{{bjwLfkd3Dlfdhnz0]|kia}@MEZU@DKJBTCCDNHFC\Pejj|nROnesguoe~P\aejdyq[Etztem~Znzxgd`^Rhhfutbf`WJgkejguTfonp~mgdXzygl`Ahswk`gNdbokp9ZTfonp~mgd%ksk9Trsahg -CCM^860::28=Ubjbgke -CCM^860::>:8=^[udzpeqVdden}Wjgqcmgv\qo`nixkWykibnu\jdigbn|^77/cl`ean&yzm -CCM^860::>8=2 -CCM^860::521=[bu -CCM^860:;<;8=Lh -CCM^860::829=Rkc`{c qomo(fn.dhjmgqimm,Gahke}g'Gfzcenob&+.^}g'rim&s`xcgd+lj|"si!~oet*xcm+|n}v'ig(rhf*hdk~cn`v) -CCM^860::9:9=Fh&xgs bionx.jbn'rim&tfxax(dh+zjb&qzccfneeo+Bbmgiud(Ggqoifmez4."N`!qiu#iddgxk+@m+&rmrus*{bdg.hbmtc/(&Tl*ee{ogb"snd(vrlm~je'.raw'kt{r bionx.fkt&`otefgie|% -CCM^860::29=Nnedfue#Kkymncn`v -CCM^860::>:9=^[udzpeqVdden}Wjgqcmgv\qo`nixkWykibnu\jdigbn|^74/kipzxel` vv -CCM^860::>9=3 -CCM^860::2:=Ceit|&Boobomy.H|gfrnz -CCM^860::>::=^[udzpeqVdden}Wjgqcmgv\qo`nixkWykibnu\jdigbn|^75/zcaggi%|sz -CCM^860::>:=2 -CCM^860::82;=Kiuuijlb~edf+Hdbfbt -CCM^860::9:;=Wtc!|ne#lendo.iknhq!|i pzihamw+zjb&ggjdfx,|`n|n.{hs!gnw*xcm+o{~nne`|oom*jbdn}+zm'dd(eoscio(a%.Vh&rxccjlu+i+jbhdbtdfr ee`omy"+z{wc!i&nf},eifk'.mu&t{c wbi+Ti.I|mpudTd0#*n~|ae.vh&rmje`~,jf+ksgqsooo&flfhnz%.+^pbur(Zb#Dis|Wl;."si!kinwcb~m% -CCM^860::2;=Aoin{c Pox~x+Hdbfbt -CCM^860::>:;=^[udzpeqVdden}Wjgqcmgv\qo`nixkWykibnu\jdigbn|^72/nilgo~%zh -CCM^860::>;=2 -CCM^860::82<=Uhtjahg -CCM^860::9:<=Rkc`{c tke(|fbbg'#r(os#yi}{.d`"~itz&clg|~|n|% -CCM^860::2<=Qbrtx&Pqekymx} -CCM^860::>:<=^[udzpeqVdden}Wjgqcmgv\qo`nixkWykibnu\jdigbn|^73/xtodxix{%|h -CCM^860::><=2 -CCM^860::82>=Qbrtx&wby,x}hmn}qasm -CCM^860::9:>='t&viu pohmx}m{nk!{ctvz,df+wd{p'enevuwo~%(+^ykqt&]j&Fjdex`Wl;."si!m~iw*n|~~% -CCM^860::98>=Qsgs|&Boobomy -CCM^860::>3;=>Nhr|gloLcgln|5R`kcolcr-otn -CCM^860::>3<=2 -CCM^860::>39=3 -CCM^860::2>=Qbrtx&Clg|gmk -CCM^860::>:>=^[udzpeqVdden}Wjgqcmgv\qo`nixkWykibnu\jdigbn|^70/kimsfim%|h -CCM^860::>>=2 -CCM^860::<:8=Wioo{raofiy -CCM^860::<:9=Voc!}himyxjdg.{|m`t`e&wjf`+zncdxg'`hdcs#kbo(magjguu-(uhlxxh}}'.cib!zcgjyxyq+kezpncr(`rlg,`n.ogql(!(Grf*ud}+}~|g'n}&wbdx+|d.~`kiuuijl< -CCM^860::<::=Mic!g` `ea{gekezq'or(gcwczn&+.Nvks&u`c sxclzjc+lgaism&swk~aei+[lnhr|glo$ -CCM^860::<:;=Wioo{raof,x}hmn}qasmd! -CCM^860::<:<=Ci&dztoq*chk~|ykf'qiaje#~~raei+zm'soahswk`g(fn.ruifzgm-*,^fb`xzckj!`gs#hinf+mj`abjdl( -CCM^860::><=Qbrtx -CCM^860::<9;=Lhr!i&Nvgnnzwrwr~{Dmmhdfx,Hznoap{4/:7c -CCM^860::<;:=Giamauh#',^fbznj"Tr`|cs -CCM^860::<;9=3752 -CCM^86033:;8=>DAsgsp10BfxzjbnAimlcrVNgmejn|,b~d3Boobomy5059<6 -CCM^86033:;9=>DAsgsp10BfxzjbnAimlcrVYeae}onk(dpc;8_bbfxzjbn'Dmmhdfx70305; -CCM^86033:;:=>DAsgsp10BfxzjbnAimlcrV^niocn vr:3Tebnan305052 -CCM^86033:;;=>DAsgsp10BfxzjbnAimlcrVOdxr|bijs(upr;8Ic{qyglfv<:30 -CCM^86033:;<=>DAsgsp10BfxzjbnAimlcrVDnd{ ~|n<Imjp81703; -CCM^86033:;=>Ccrcros477Ae}onk@ndbeq4PIdn`okp)cym;Afieln|059<1 -CCM^860:;<;9=^[udzpeqVdden}Wa`mZcdcngo~&b`oautZ+&, \ No newline at end of file diff --git a/release/windows/installer/00.installer.ico b/release/windows/installer/00.installer.ico deleted file mode 100644 index 922c9d472d9..00000000000 Binary files a/release/windows/installer/00.installer.ico and /dev/null differ diff --git a/release/windows/installer/00.sconsblender.nsi b/release/windows/installer/00.sconsblender.nsi deleted file mode 100644 index 1cb159050fe..00000000000 --- a/release/windows/installer/00.sconsblender.nsi +++ /dev/null @@ -1,425 +0,0 @@ -; -; $Id$ -; -; Blender Self-Installer for Windows (NSIS - http://nsis.sourceforge.net) -; -; Requires the MoreInfo plugin - http://nsis.sourceforge.net/MoreInfo_plug-in -; - -!include "MUI.nsh" -!include "WinVer.nsh" -!include "FileFunc.nsh" -!include "WordFunc.nsh" -!include "nsDialogs.nsh" - -SetCompressor /SOLID lzma - -Name "Blender VERSION" - -!define MUI_ABORTWARNING - -!define MUI_WELCOMEPAGE_TEXT "This wizard will guide you through the installation of Blender.\r\n\r\nIt is recommended that you close all other applications before starting Setup.\r\n\r\nNote to Win2k/XP users: You may require administrator privileges to install Blender successfully." -!define MUI_WELCOMEFINISHPAGE_BITMAP "RELDIR\01.installer.bmp" -!define MUI_HEADERIMAGE -!define MUI_HEADERIMAGE_BITMAP "RELDIR\00.header.bmp" -!define MUI_COMPONENTSPAGE_SMALLDESC -!define MUI_FINISHPAGE_RUN "$INSTDIR\blender.exe" -!define MUI_CHECKBITMAP "RELDIR\00.checked.bmp" - -!insertmacro MUI_PAGE_WELCOME -!insertmacro MUI_PAGE_LICENSE "DISTDIR\Copyright.txt" -!insertmacro MUI_PAGE_COMPONENTS - -!insertmacro MUI_PAGE_DIRECTORY -Page custom DataLocation DataLocationOnLeave -;Page custom AppDataChoice AppDataChoiceOnLeave -Page custom PreMigrateUserSettings MigrateUserSettings -!insertmacro MUI_PAGE_INSTFILES -!insertmacro MUI_PAGE_FINISH - -!insertmacro MUI_UNPAGE_WELCOME -!insertmacro MUI_UNPAGE_CONFIRM -!insertmacro MUI_UNPAGE_INSTFILES -!insertmacro MUI_UNPAGE_FINISH - -!insertmacro Locate -!insertmacro VersionCompare - - -Icon "RELDIR\00.installer.ico" -UninstallIcon "RELDIR\00.installer.ico" - -;-------------------------------- -;Languages - - !insertmacro MUI_LANGUAGE "English" - -;-------------------------------- -;Language Strings - - ;Description - LangString DESC_SecCopyUI ${LANG_ENGLISH} "Copy all required files to the application folder." - LangString DESC_Section2 ${LANG_ENGLISH} "Add shortcut items to the Start Menu. (Recommended)" - LangString DESC_Section3 ${LANG_ENGLISH} "Add a shortcut to Blender on your desktop." - LangString DESC_Section4 ${LANG_ENGLISH} "Blender can register itself with .blend files to allow double-clicking from Windows Explorer, etc." - LangString TEXT_IO_TITLE ${LANG_ENGLISH} "Specify User Data Location" -;-------------------------------- -;Data - -Caption "Blender VERSION Installer" -OutFile "DISTDIR\..\blender-VERSION-windows.exe" -InstallDir "$PROGRAMFILES\Blender Foundation\Blender" - -BrandingText "http://www.blender.org" -ComponentText "This will install Blender VERSION on your computer." - -DirText "Use the field below to specify the folder where you want Blender to be copied to. To specify a different folder, type a new name or use the Browse button to select an existing folder." - -SilentUnInstall normal - -# Uses $0 -Function openLinkNewWindow - Push $3 - Push $2 - Push $1 - Push $0 - ReadRegStr $0 HKCR "http\shell\open\command" "" -# Get browser path - DetailPrint $0 - StrCpy $2 '"' - StrCpy $1 $0 1 - StrCmp $1 $2 +2 # if path is not enclosed in " look for space as final char - StrCpy $2 ' ' - StrCpy $3 1 - loop: - StrCpy $1 $0 1 $3 - DetailPrint $1 - StrCmp $1 $2 found - StrCmp $1 "" found - IntOp $3 $3 + 1 - Goto loop - - found: - StrCpy $1 $0 $3 - StrCmp $2 " " +2 - StrCpy $1 '$1"' - - Pop $0 - Exec '$1 $0' - Pop $1 - Pop $2 - Pop $3 -FunctionEnd - -Var BLENDERHOME -Var DLL_found -Var PREVHOME - -Function SetWinXPPathCurrentUser - SetShellVarContext current - StrCpy $BLENDERHOME "$APPDATA\Blender Foundation\Blender" -FunctionEnd - -Function SetWinXPPathAllUsers - SetShellVarContext all - StrCpy $BLENDERHOME "$APPDATA\Blender Foundation\Blender" -FunctionEnd - -Function SetWin9xPath - StrCpy $BLENDERHOME $INSTDIR -FunctionEnd - -; custom controls -Var HWND - -Var HWND_APPDATA -Var HWND_INSTDIR -Var HWND_HOMEDIR - -Var HWND_BUTTON_YES -Var HWND_BUTTON_NO - -Var SETUSERCONTEXT - -Function PreMigrateUserSettings - StrCpy $PREVHOME "$PROFILE\Application Data\Blender Foundation\Blender" - StrCpy $0 "$PROFILE\Application Data\Blender Foundation\Blender\.blender" - - IfFileExists $0 0 nochange - - StrCmp $BLENDERHOME $PREVHOME nochange - - nsDialogs::Create /NOUNLOAD 1018 - Pop $HWND - - ${If} $HWND == error - Abort - ${EndIf} - - ${NSD_CreateLabel} 0 0 100% 12u "You have existing settings at:" - ${NSD_CreateLabel} 0 20 100% 12u $PREVHOME - ${NSD_CreateLabel} 0 40 100% 12u "Do you wish to migrate this data to:" - ${NSD_CreateLabel} 0 60 100% 12u $BLENDERHOME - ${NSD_CreateLabel} 0 80 100% 12u "Please note: If you choose no, Blender will not be able to use these files!" - ${NSD_CreateRadioButton} 0 100 100% 12u "Yes" - Pop $HWND_BUTTON_YES - ${NSD_CreateRadioButton} 0 120 100% 12u "No" - Pop $HWND_BUTTON_NO - - SendMessage $HWND_BUTTON_YES ${BM_SETCHECK} 1 0 - - nsDialogs::Show - nochange: - -FunctionEnd - -Function MigrateUserSettings - ${NSD_GetState} $HWND_BUTTON_YES $R0 - ${If} $R0 == "1" - CreateDirectory $BLENDERHOME - CopyFiles $PREVHOME\*.* $BLENDERHOME - ;RMDir /r $PREVHOME - ${EndIf} -FunctionEnd - -!define DLL_VER "9.00.21022.8" - -Function LocateCallback_90 - MoreInfo::GetProductVersion "$R9" - Pop $0 - - ${VersionCompare} "$0" "${DLL_VER}" $R1 - - StrCmp $R1 0 0 new - new: - StrCmp $R1 1 0 old - old: - StrCmp $R1 2 0 end - ; Found DLL is older - Call DownloadDLL - - end: - StrCpy "$0" StopLocate - StrCpy $DLL_found "true" - Push "$0" - -FunctionEnd - -Function DownloadDLL - MessageBox MB_OK "You will need to download the Microsoft Visual C++ 2008 Redistributable Package in order to run Blender. Pressing OK will take you to the download page, please follow the instructions on the page that appears." - StrCpy $0 "http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&DisplayLang=en" - Call openLinkNewWindow -FunctionEnd - -Function PythonInstall - MessageBox MB_OK "You will need to install python 2.5.2 in order to run blender. Pressing OK will take you to the python.org website." - StrCpy $0 "http://www.python.org" - Call openLinkNewWindow -FunctionEnd - -Function DataLocation - nsDialogs::Create /NOUNLOAD 1018 - Pop $HWND - - ${If} $HWND == error - Abort - ${EndIf} - - ${NSD_CreateLabel} 0 0 100% 12u "Please specify where you wish to install Blender's user data files." - ${NSD_CreateRadioButton} 0 20 100% 12u "Use the Application Data directory (Requires Windows 2000 or better)" - Pop $HWND_APPDATA - ${NSD_CreateRadioButton} 0 50 100% 12u "Use the installation directory (ie. location chosen to install blender.exe)." - Pop $HWND_INSTDIR - ${NSD_CreateRadioButton} 0 80 100% 12u "I have defined a %HOME% variable, please install files here." - Pop $HWND_HOMEDIR - - ${If} ${AtMostWinME} - GetDlgItem $0 $HWND $HWND_APPDATA - EnableWindow $0 0 - SendMessage $HWND_INSTDIR ${BM_SETCHECK} 1 0 - ${Else} - SendMessage $HWND_APPDATA ${BM_SETCHECK} 1 0 - ${EndIf} - - nsDialogs::Show - -FunctionEnd - -Function DataLocationOnLeave - StrCpy $SETUSERCONTEXT "false" - ${NSD_GetState} $HWND_APPDATA $R0 - ${If} $R0 == "1" - ; FIXME: disabled 'all users' until fully multi-user compatible - ;StrCpy $SETUSERCONTEXT "true" - Call SetWinXPPathCurrentUser - ${Else} - ${NSD_GetState} $HWND_INSTDIR $R0 - ${If} $R0 == "1" - Call SetWin9xPath - ${Else} - ${NSD_GetState} $HWND_HOMEDIR $R0 - ${If} $R0 == "1" - ReadEnvStr $BLENDERHOME "HOME" - ${EndIf} - ${EndIf} - ${EndIf} -FunctionEnd - -Var HWND_APPDATA_CURRENT -Var HWND_APPDATA_ALLUSERS - -Function AppDataChoice - StrCmp $SETUSERCONTEXT "false" skip - - nsDialogs::Create /NOUNLOAD 1018 - Pop $HWND - - ${NSD_CreateLabel} 0 0 100% 12u "Please choose which Application Data directory to use." - ${NSD_CreateRadioButton} 0 40 100% 12u "Current User" - Pop $HWND_APPDATA_CURRENT - ${NSD_CreateRadioButton} 0 70 100% 12u "All Users" - Pop $HWND_APPDATA_ALLUSERS - - SendMessage $HWND_APPDATA_CURRENT ${BM_SETCHECK} 1 0 - - StrCmp $SETUSERCONTEXT "true" 0 skip ; show dialog if we need to set context, otherwise skip it - nsDialogs::Show - -skip: - -FunctionEnd - -Function AppDataChoiceOnLeave - StrCmp $SETUSERCONTEXT "false" skip - ${NSD_GetState} $HWND_APPDATA_CURRENT $R0 - ${If} $R0 == "1" - Call SetWinXPPathCurrentUser - ${Else} - Call SetWinXPPathAllUsers - ${EndIf} -skip: - -FunctionEnd - -Section "Blender-VERSION (required)" SecCopyUI - SectionIn RO - - ; Set output path to the installation directory. - SetOutPath $INSTDIR - ; Put file there - [ROOTDIRCONTS] - - SetOutPath $BLENDERHOME\.blender - [DOTBLENDERCONTS] - - SetOutPath $BLENDERHOME\.blender\scripts - [SCRIPTCONTS] - SetOutPath $BLENDERHOME\.blender\scripts\bpymodules - [SCRIPTMODCONTS] - SetOutPath $BLENDERHOME\.blender\scripts\bpymodules\colladaImEx - [SCRIPTMODCOLLADACONT] - SetOutPath $BLENDERHOME\.blender\scripts\bpydata - [SCRIPTDATACONTS] - SetOutPath $BLENDERHOME\.blender\scripts\bpydata\config - [SCRIPTDATACFGCONTS] - SetOutPath $BLENDERHOME\plugins\include - [PLUGINCONTS] - - ; Language files - [LANGUAGECONTS] - - SetOutPath $INSTDIR - ; Write the installation path into the registry - WriteRegStr HKLM SOFTWARE\BlenderFoundation "Install_Dir" "$INSTDIR" - WriteRegStr HKLM SOFTWARE\BlenderFoundation "Home_Dir" "$BLENDERHOME" - ; Write the uninstall keys for Windows - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Blender" "DisplayName" "Blender (remove only)" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Blender" "UninstallString" '"$INSTDIR\uninstall.exe"' - WriteUninstaller "uninstall.exe" - - IfSilent 0 +2 - Goto silentdone - ; Check for msvcr80.dll - give notice to download if not found - MessageBox MB_OK "The installer will now check your system for the required system dlls." - StrCpy $1 $WINDIR - StrCpy $DLL_found "false" - ${Locate} "$1" "/L=F /M=MSVCR90.DLL /S=0B" "LocateCallback_90" - StrCmp $DLL_found "false" 0 +2 - Call DownloadDLL - ReadRegStr $0 HKLM SOFTWARE\Python\PythonCore\2.5\InstallPath "" - StrCmp $0 "" 0 +2 - Call PythonInstall -silentdone: -SectionEnd - -Section "Add Start Menu shortcuts" Section2 - SetOutPath $INSTDIR - CreateDirectory "$SMPROGRAMS\Blender Foundation\Blender\" - CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0 - CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\Blender.lnk" "$INSTDIR\Blender.exe" "" "$INSTDIR\blender.exe" 0 - CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\Readme.lnk" "$INSTDIR\Blender.html" "" "" 0 - CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\Copyright.lnk" "$INSTDIR\Copyright.txt" "" "$INSTDIR\copyright.txt" 0 - CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\GPL-license.lnk" "$INSTDIR\GPL-license.txt" "" "$INSTDIR\GPL-license.txt" 0 - CreateShortCut "$SMPROGRAMS\Blender Foundation\Blender\Help.lnk" "$INSTDIR\Help.url" -SectionEnd - -Section "Add Desktop Blender-VERSION shortcut" Section3 - SetOutPath $INSTDIR - CreateShortCut "$DESKTOP\Blender.lnk" "$INSTDIR\blender.exe" "" "$INSTDIR\blender.exe" 0 -SectionEnd - -Section "Open .blend files with Blender-VERSION" Section4 - SetOutPath $INSTDIR - ;ExecShell "open" '"$INSTDIR\blender.exe"' "-R -b" - ;do it the manual way! ;) - - WriteRegStr HKCR ".blend" "" "blendfile" - WriteRegStr HKCR "blendfile" "" "Blender .blend File" - WriteRegStr HKCR "blendfile\shell" "" "open" - WriteRegStr HKCR "blendfile\DefaultIcon" "" $INSTDIR\blender.exe,1 - WriteRegStr HKCR "blendfile\shell\open\command" "" \ - '"$INSTDIR\blender.exe" "%1"' - -SectionEnd - -UninstallText "This will uninstall Blender VERSION. Hit next to continue." - -Section "Uninstall" - Delete $INSTDIR\uninstall.exe - - ReadRegStr $BLENDERHOME HKLM "SOFTWARE\BlenderFoundation" "Home_Dir" - - ; remove registry keys - DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Blender" - DeleteRegKey HKLM SOFTWARE\BlenderFoundation - ; remove files - [DELROOTDIRCONTS] - - Delete $BLENDERHOME\.blender\.bfont.ttf - Delete $BLENDERHOME\.blender\.Blanguages - ; remove shortcuts, if any. - Delete "$SMPROGRAMS\Blender Foundation\Blender\*.*" - Delete "$DESKTOP\Blender.lnk" - ; remove directories used. - RMDir /r $BLENDERHOME\.blender\locale - MessageBox MB_YESNO "Erase .blender\scripts folder? (ALL contents will be erased!)" /SD IDYES IDNO Next - RMDir /r $BLENDERHOME\.blender\scripts - RMDir /r $BLENDERHOME\.blender\scripts\bpymodules - RMDir /r $BLENDERHOME\.blender\scripts\bpydata - RMDir /r $BLENDERHOME\.blender\scripts\bpydata\config -Next: - RMDir /r $BLENDERHOME\plugins\include - RMDir /r $BLENDERHOME\plugins - RMDir $BLENDERHOME\.blender - RMDir "$SMPROGRAMS\Blender Foundation\Blender" - RMDir "$SMPROGRAMS\Blender Foundation" - RMDir "$INSTDIR" - RMDir "$INSTDIR\.." -SectionEnd - -!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN - !insertmacro MUI_DESCRIPTION_TEXT ${SecCopyUI} $(DESC_SecCopyUI) - !insertmacro MUI_DESCRIPTION_TEXT ${Section2} $(DESC_Section2) - !insertmacro MUI_DESCRIPTION_TEXT ${Section3} $(DESC_Section3) - !insertmacro MUI_DESCRIPTION_TEXT ${Section4} $(DESC_Section4) -!insertmacro MUI_FUNCTION_DESCRIPTION_END diff --git a/release/windows/installer/00.unchecked.bmp b/release/windows/installer/00.unchecked.bmp deleted file mode 100644 index 6d3ff5cc58c..00000000000 Binary files a/release/windows/installer/00.unchecked.bmp and /dev/null differ diff --git a/release/windows/installer/01.installer.bmp b/release/windows/installer/01.installer.bmp deleted file mode 100644 index 10fb01454a4..00000000000 Binary files a/release/windows/installer/01.installer.bmp and /dev/null differ diff --git a/release/windows/installer/01.welcome.rtf b/release/windows/installer/01.welcome.rtf deleted file mode 100644 index 3235e65acc6..00000000000 Binary files a/release/windows/installer/01.welcome.rtf and /dev/null differ diff --git a/release/windows/installer/02.copyright.txt b/release/windows/installer/02.copyright.txt deleted file mode 100644 index 4e67c2561d3..00000000000 --- a/release/windows/installer/02.copyright.txt +++ /dev/null @@ -1,56 +0,0 @@ -BLENDER CREATOR LICENSE AGREEMENT - -IMPORTANT: PLEASE READ CAREFULLY BEFORE USING THE BLENDER CREATOR SOFTWARE. - -This License Agreement for the Blender Creator software ("License Agreement") is an agreement between NaN Technologies B.V., Meerenakkerplein 11, 5652 BJ Eindhoven, the Netherlands ("NaN") and you (either an individual or a legal entity) ("You") with respect to the software product which this License Agreement accompanies (the "Software"). - -By installing, copying or otherwise using the Software, You agree to be bound by the terms of this License Agreement. If You do not agree to the terms of this License Agreement do not install or use the Software. - - -1. Grant of License - -Subject to the provisions of this License Agreement, NaN grants You a limited, non-exclusive, personal, non-sublicenseable, non-transferable, revocable license to use the Software at any computer You own or use. - -2. License Restrictions - -Except as expressly provided under this License Agreement, or without prior written consent from NaN, or without permission by law, You may not: (a) remove or alter any proprietary, copyright or trademark notices in or on the Software; (b) modify, decompile, disassemble or reverse-engineer the Software; (c) sublicense, rent, lease, lend, assign or otherwise transfer rights to the Software. - -3. Permitted copying and electronic distribution of Software - -You are hereby granted permission to copy and distribute the Software without written agreement from NaN, only for non-commercial purposes. Distributing the Software within a restricted non-public environment, such as using a local network in a company or a local network of a university, is considered a 'non-commercial purpose'. This entire License Agreement must appear in and/or accompany all copies of the Software. -Distributing the Software 'bundled' in with ANY product is considered to be a 'commercial purpose'. - -4. Intellectual Property Rights and Ownership - -Title and ownership to all rights, including intellectual property rights, in and to the Software shall at all times solely and exclusively remain with NaN. The Software is protected by national and international (copyright) laws and treaties. All rights not expressly granted herein are reserved to NaN. - -5. Disclaimer of Warranties - -NaN provides you with the Software "as is" and with all faults. NaN explicitly disclaims all warranties and guarantees and does not make any representations with respect to the Software, whether express, implied, or statutory, including, but not limited to any (if any) warranties of or related to: fitness for a particular purpose, title, non-infringement, lack of viruses, accuracy or completeness of responses, results, lack of negligence or lack of workmanlike effort, and correspondence to description. The entire risk arising out of use or performance of the Software remains with You. - -6. Limitation of Liability - -In no event shall NaN or its employees, agents or suppliers be liable for any direct, indirect, consequential, incidental, special, punitive, or other damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, claims of third parties, damages as a result of injury to any person, or any other loss) arising out of or in connection with the license granted under this License Agreement or the use of or inability to use the Software, even if NaN has been advised of the possibility of such damages. - -7. User warning and indemnification - -WARNING: use of the Software and use of any works that are (partially) created with the Software (the "Works") may cause physical or psychological reactions from You or from third parties, which may result in damages, injuries, losses and/or other negative consequences. You acknowledge that NaN can not be held liable for any such damages, injuries, losses and/or other negative consequences. You acknowledge that it is your obligation to investigate, prevent and/or minimize such reactions prior to having third parties use the Works. - -You shall indemnify and hold harmless NaN from and against all actions, claims, demands, proceedings, losses, damages, costs, charges and expenses, including but not limited to legal fees and expenses, arising out of or in connection with (i) the use of the Software by You and (ii) the use of any Works created with the Software by You or any third parties. - -8. Term and Termination - -This License Agreement and the license granted hereunder is effective until terminated. This License Agreement shall terminate automatically and forthwith if You fail to comply with the terms of this License Agreement. Upon termination, You shall cease the use of the Software, remove the Software from (the memory of) your computer and destroy all copies of the Software. - -9. Entire Agreement - -This License Agreement is the entire agreement between NaN and You in respect of the subject matter of the License Agreement. This License Agreement supersedes all prior written or oral agreements, proposals or understandings, and any other communications between NaN and You relating to the subject matter of this License Agreement. - -10. Enforceability - -If any provision of this License Agreement is held to be unenforceable by a court of competent jurisdiction for any reason, such provision shall be adapted or amended only to the extent necessary to make it enforceable, and the remainder of the License Agreement shall remain in effect. - -11. Governing law and disputes - -This License Agreement and all disputes arising from it will be governed by the laws of The Netherlands. All disputes arising in connection with this Agreement that cannot be settled amicably shall be brought before the competent court in Amsterdam, the Netherlands, to which jurisdiction NaN and You hereby irrevocably consent. - diff --git a/release/windows/installer/03.readme.txt b/release/windows/installer/03.readme.txt deleted file mode 100644 index 9cfcc8378c1..00000000000 --- a/release/windows/installer/03.readme.txt +++ /dev/null @@ -1,54 +0,0 @@ - Blender V2.2 - - NaN Technologies B.V., the Netherlands - - ----- GENERAL INFORMATION ----- - -Blender Creator is a free and fully functional 3D modeling, rendering, animation and game creation package for Unix and Windows. Blender Creator is distributed without sources, it is exclusively developed and maintained by the Dutch company NaN Technologies B.V. - -This software is free to be applied for any purpose, excluding commercial distribution. For more about this, read the copyright notice included in the download file. - -The best resource for getting to know Blender Creator is of course 'The official Blender 2.0 guide'. This wonderfully designed 250 pages book contains tutorials, examples and a complete description of every aspect of the interface. - -You can visit the shop page of the Blender site for more about this: - - http://www.blender.nl/shop/ - -More information about Blender can be found at: - -- The website - - http://www.blender.nl - -- The beginners page - - http://www.blender.nl/support/beginners.php - -- The Support Pages - - http://www.blender.nl/support/ - -- The frequently asked questions - - http://www.blender.nl/support/faq/index.php - -- Tutorials - - Good tutorials to start with are 'User Interface' and - 'Navigating in 3D Space' and 'The Blender Windows' - - http://www.blender.nl/search_item.php?part=tutorial - -- The Blender news-server: to post questions and contact other users - - http://www.blender.nl/discussion/index.php - - -Thank you for getting Blender Creator, I hope you will enjoy using it. - -Ton Roosendaal -NaN Technologies B.V. - -http://www.blender.nl -support@blender.nl - diff --git a/release/windows/installer/04.folder.rtf b/release/windows/installer/04.folder.rtf deleted file mode 100644 index 1929843d994..00000000000 Binary files a/release/windows/installer/04.folder.rtf and /dev/null differ diff --git a/release/windows/installer/05.progress.rtf b/release/windows/installer/05.progress.rtf deleted file mode 100644 index 5cf4ca96ef6..00000000000 Binary files a/release/windows/installer/05.progress.rtf and /dev/null differ diff --git a/release/windows/installer/06.complete.rtf b/release/windows/installer/06.complete.rtf deleted file mode 100644 index 1d2917de9fc..00000000000 Binary files a/release/windows/installer/06.complete.rtf and /dev/null differ diff --git a/release/windows/installer/input/24bits-image.bmp b/release/windows/installer/input/24bits-image.bmp deleted file mode 100644 index 5c7fd0698a0..00000000000 Binary files a/release/windows/installer/input/24bits-image.bmp and /dev/null differ diff --git a/release/windows/publ_installer/00.installer.adx b/release/windows/publ_installer/00.installer.adx deleted file mode 100644 index d0ecf549ae8..00000000000 --- a/release/windows/publ_installer/00.installer.adx +++ /dev/null @@ -1,308 +0,0 @@ -[ADX] -ADXVersion=1.00.00 -<=>2240 -CCM^8603:<;8=2 -CCM^8603:>;8=6 -CCM^8603:?;8=3 -CCM^8603:?;9=2 -CCM^8603:8;8=2 -CCM^8603:8;9=2 -CCM^8603::;8=2 -CCM^8603::;9=2 -CCM^8603::;:=2 -CCM^8603:;;8=2 -CCM^8603:4;:=2 -CCM^8603:4;<=2 -CCM^8603:5;8=$HM -CCM^8603:5;9=$Dgokcl -CCM^8603:5;:=$Naogte -CCM^8603:5;;=$^cr -CCM^8603:5;<=$Ii -CCM^8603:5;=$Etnue -CCM^8603:5;>=[bu!\i %K`g -CCM^8603:5;?=$Ucuz -CCM^8603:5;0=Qbjdkr %K`g -CCM^8603:5;1=G!~uzgcw*Emf&x' -CCM^8603:5:8=$Ciom -CCM^8603:5:9=Lbrvgtk-$" -CCM^8603:5::=$Fdnzr -CCM^8603;<;8=2 -CCM^8604:<;8=3 -CCM^8604:<;9=@kcolcr#',Ymz{n}v -CCM^8604:<;:=Rkc`{c pzihamw+zjb&qirh#~c+cghf"nrdeu tc`g(ik+kzst`kreg$,+Qd{+cc~&`duo#z~n{x.fg'Dsgqsf*n~|ae.vh&rmje`~,jf+ksgqsooo&pb~d%(+^jzjt&l}ut#cbhd~jn.c'bsape#fi|n|+ap'dd(g VDO+fjcn -CCM^8604:<:9=67?7 -CCM^8604:;8=3 -CCM^8604:;9=@kcolcr#',Ymz{n}v -CCM^8604:;:=Voc!nolf*eelbmjzgc&cmjot*mgznoow"b~h{rs-*,[zn}x. ^cr*&ie*ud}+yj`v'rn(ivfx{yak+zjb&gaje-*,[zn}x. Ii#(of#sc~(oae)v'q`fr we,d~n|||ksc!|ne#legm%.+^pbur($Cbdond).bh"~it(qam~,g+}ar'cy|ta`~eeo+.bzgju/ -CCM^8604::9=4625 -CCM^8604:>;8=3 -CCM^8604:>;9=@kcolcr#',Ymz{n}v -CCM^8604:>;:=Voc!nolf*eelbmjzgc&cmjot*mgznoow"b~h{rs#kbo(b}+\gfb,Ghlz$,+Xykx}"%_d{$ jl,rg~.|ols&ug&ouo~|zbzn.voc!nolf$,+Xykx}"%Hn*&ie*ud}+jd`%s&viht#~c+g}kyypnrd(rhf*jbdn +.Rucr{&"@kbhmg,+gd'n}&wbdx+|d.xzmw&dprrbixbfl.+gvbkr& -CCM^8604:>:9=4625 -CCM^8604:?;8=3 -CCM^8604:?;9=@kcolcr#',Ymz{n}v -CCM^8604:?;:=Voc!nolf*eelbmjzgc&cmjot*dj{+oe.gftmacr#|iy{bae.lrkcmt lx,oik+zjfh!|ne#ebn(jbykcc!gh zeyy(xwxzgj(!(Vrfy+*Rkx,"n`!qiu#}me|+zd.pbvmiee#~dn(mggk,'&Qzcsp*.Eg).bh"~it(bom-x+j`.vh&smvlbii+|ck+hkkc/(&Pqox()Mj`abj#(of#sc~(|oez"si!{ros*is|yohzkia!(otfg% -CCM^8604:?:9=4625 -CCM^8604:8;8=3 -CCM^8604:8;9=@kcolcr#',Ymz{n}v -CCM^8604:8;:=Rkc`{c fdxnz+zck"wgr{qoqn$x!+`nkfbb!|i frxyihz+zjb&h|cmp$,+Xykx}"%IJ*&tl*odfge{g'is($Cbdond).a"trnx&e{~~jkgei"nrdeu. -CCM^8604:8:9=7641 -CCM^8604:9;8=3 -CCM^8604:9;9=@kcolcr#',Np|jmvnio(Vrlm~n{x -CCM^8604:9;:=Voc!{raw+jnbdy"tnnu tbm({kymgir`oc ll,`n.bzgju!`gs#hinf+kszpfeumb. -CCM^8604:9:9=15170 -CCM^8604::;8=3 -CCM^8604::;9=@kcolcr#',Np|jmvnio(Vrlm~n{x -CCM^8604::;:=Voc!{raw+jnbdy"tnnu tbm({kymgir`oc ll,`n.bzgju!`gs#hinf+kszpfeumb.#*\ymx}+,Afhbmj"#~c+{a{.grsietjdk+akf}, -CCM^8604:::9=15170 -CCM^8604:;;8=3 -CCM^8604:;;9=@kcolcr#',Nzyay -CCM^8604:;;:=Voc!xgtk*eelbmjzgc&cmjot*od}gj+`ms&cm&cqommo.d|"cid{&nl~,jdykjj{'cyaut-*,_zr.x~gdogqond*m+lbhmkpbhu(vawb" -CCM^8604:;:9=4625 -CCM^8604:4;8=3 -CCM^8604:4;9=@kcolcr#',Nzyay -CCM^8604:4;:=Voc!nolf*eelbmjzgc&cmjot*od}gj+`ms&cm&ouo~|zbzkl) -CCM^8604:4:9=4625 -CCM^8604:5;8=3 -CCM^8604:5;9=@kcolcr#',Nzyay -CCM^8604:5;:=Voc!nolf*eelbmjzgc&cmjot*ex(j.Ykcc+Nfjy#legm+oej"ditdb mex+jn.dxguqsartfd" -CCM^8604:5:9=4625 -CCM^8604;<;8=3 -CCM^8604;<;9=@kcolcr#',Nzyay -CCM^8604;<;:=Voc!xgsp}cyl+wd{"tvdkofjoh+j}+gldiszccw$,+Xykx}"%E`feeo(,g+}ar'cy|ta`~eeo+gkot(!(Vrfy+*Bieapb$!|i pae{(dxn|"snd(vapy{dzo#{|mscb|cd#cxne% -CCM^8604;<:9=2 -CCM^8604;;8=3 -CCM^8604;;9=@kcolcr#',Nzyay -CCM^8604;;:=Mic!gt ne~n(dh+zjb&qzigqkax(fjz"pcsm&svz|d{n.a"uso(eovfh+fdz+lg'`n}hd-*,[dnoxk"dio|gcw*ud}y.xadsq`zc sxc}aoky.dht!`cls$ -CCM^8604;:9=2 -CCM^8604;>;8=3 -CCM^8604;>;9=@kcolcr#',Nzyay -CCM^8604;>;:=Onurahg#imiaek.dnjd u)- -CCM^8604;>:9=2 -CCM^8604;?;8=3 -CCM^8604;?;9=@kcolcr#',Nzyay -CCM^8604;?;:=Voc!ksswea+znib}vu!ahflxaj|bae.dnjd(rhb~,|ix.x{rwirmb we,im+cn|ebb!otk*xcm+}r}vbk!zcgjyxyq+md{nc&ogr ao,mg~`o "'Vmmgsf*odfohz"~itz&sllx|iyk+~phphlcr#lcy(ckg~, -CCM^8604;?:9=2 -CCM^8604;8;8=3 -CCM^8604;8;9=@kcolcr#',Nzyay -CCM^8604;8;:=Voc!aren*eelbmjzgc&hf&tko,manbo.`bjn&cl`o(ea.`b&smaip~iymo +.Rkc`{c `ebihz+wmrt!{ifw}mym+~yatnbdz&flx,cmg~% -CCM^8604;8:9=4625 -CCM^8604;9;8=3 -CCM^8604;9;9=@kcolcr#',Nzyay -CCM^8604;9;:=Voc!mhd#ej+|ck+]gk`,M~tqkoaei+tkw&gaje#}mx(ykjmjbb!jcflxi+igb+ad'rim&iwoax(ha~bf'dd(vrlziydr.nvvugb|cd-*,_`b}+]gk`,M~tqkoaei+tkw&gaje#gmr(ik+jcjgfmb.#*\gmj}n.mer`ah b*jymxf+mmw!ihd#~~r(jijgl) -CCM^8604;9:9=2 -CCM^8604;:;8=3 -CCM^8604;:;9=@kcolcr#',Nzyay -CCM^8604;:;:=Voc!m~tqkoad`+~phed{u gch+fdz+mmjvmmre#yyhkn}xhwkjx&& Wbex(for.jfpd(defd,hi~}nj"e!ih lziyiay.Afhbmj lx,d|cky.gutnz( #Z`nixk+mmir`kr zeyy(xamzuftd(vrl|eomy.map'nddv. -CCM^8604;::9=2 -CCM^8604;;;8=3 -CCM^8604;;;9=@kcolcr#',Nzyay -CCM^8604;;;:=[hss(uyp~if(oan}"iiu(nauo,nfd{lf"fp`ajaafi+encd|{'rn(uu`iix{m{gb{'cy|ta`~,`n.bzgju!nton*xcax.Xkna+Dprrbixbfl.qgr'`hdc.#*\gmj}n.ahhuiet#sc~z+}dhvpgsm&pqezbln|+hmu&imjp- -CCM^8604;;:9=2 -CCM^8604;4;8=0 -CCM^8604;4;9=@kcolcr#',Nzyay -CCM^8604;4;:=Voc!m~tqkoad`+~phed{u tk+kj`hknkce(deee~n(jbg.ma&u`c j~if{+yn|g'cy|ta`~io&+.Raw'k`q&nfoh+|d.y{l'rim&e{~~jkgd`"wtnkcsp*mlib`% -CCM^8604;4:9=2 -CCM^8604;5;8=3 -CCM^8604;5;9=@kcolcr#',Nzyay -CCM^8604;5;:=Voc!nolf*eelbmjzgc&cmjot*od}gj+`ms&cm&e{~~jkko "'Ou(kaz*mgznoow"ec!ah vyi+jr.fg'ux{ren*cy(gahegc&cq&amexcmy.j~rkobirild"+A.|gnk&cm&shc|{mo -CCM^8604;5:9=4625 -CCM^86048<;8=3 -CCM^86048<;9=@kcolcr#',Nzyay -CCM^86048<;:=Ci&dztoq*chk~|ykf'btzond*xcm+kszpfeuain#z~dkn}x "'Rim&aqidb~n.mgnb.r!&mbs,im+jjcc`ce&& Sfij{n.dlvfoo(g exix`+md~{'gol&tqs,jojge -CCM^86048<:9=2 -CCM^86048;8=3 -CCM^86048;9=@kcolcr#',Nzyay -CCM^86048;:=Uoomm&e{~~jkgei"nrdeu b*hj|j.n|pht!`gs#eoh}y|nj,'Riau Po`m%Nv|cdrhfa yc|+nbbn.of!jc gkajonj%."Wjdiue#enib`+o"atd{n `e|r(j`o.vu!iaajd" -CCM^86048:9=4625 -CCM^86048>;8=3 -CCM^86048>;9=@kcolcr#',Nzyay -CCM^86048>;:=Uoomm&e{~~jkgei"nrdeu wbiym+yj}l r!mhovmd+zdaf.mi&u`c goaeogmi&ezovf$,+Qd{+cc~&omcd#~c+zncdxg'unec ec`n{+lnhmuc!qiu#ime(nv|cdr!ijl#ej+|ck+gvbkr& -CCM^86048>:9=2 -CCM^86048?;8=0 -CCM^86048?;9=@kcolcr#',\iy`b`e -CCM^86048?;:=Uoomm&e{~~jkgei"nrdeu excf(fn.Qbjg%Cxwxmh|b`l.xnv!nolf*den.bzgju!crf*`a{~nj, -CCM^86048?:9=2 -CCM^860488;8=0 -CCM^860488;9=@kcolcr#',Bfmayccsonf -CCM^860488;:=Ckj!areny,|myk+}wded{ufvf`r(nv|cdrdl( -CCM^860488:9=2 -CCM^860489;8=3 -CCM^860489;9=Kiouagljpi -CCM^860489;:=Rucqitimm,mgy.Nvvugb|oom$,+Xgkj}g'Q`ar. -CCM^860489:9=2 -CCM^86048:;8=3 -CCM^86048:;9=@kcolcr#',Nzyay -CCM^86048:;:=Ci&dztoq*{j{+kemmrhumteg*{cagk+~pbv`zond*jdz+kszpfeuain-*,[dnoxk"dio|gcw*ud}y.xadsq`zc sxc}aoky.dht!`cls$ -CCM^86048::9=2 -CCM^860484;8=3 -CCM^860484;9=@kcolcr#',H`daxk"Aimlcr#Fchigd` -CCM^860484:9=2 -CCM^86048498=Fntdkroqcix -CCM^86048499=Fuowmu -CCM^860485;8=3 -CCM^860485;9=@kcolcr#',Xmgkhz"@tn}v ee~+[cayzarrr -CCM^860485:9=2 -CCM^86048598=Girdz&oq*ndnm.c'asgsp#dmfm+hd|"nhr|glocbl(xfd|vdsu{( -CCM^86049<;8=3 -CCM^86049<;9=@kcolcr#',Nzyay -CCM^86049<;:=Ci&dztoq*chk~|ykf'qiaje#kxmf~gl`&ug&imyxjdg.xfmurb}rs- -CCM^86049<:9=2 -CCM^86049;8=3 -CCM^86049;9=@kcolcr#',Ymz{n}v -CCM^86049;:=Mic!gt ne~n(mggkq'qdzc jdigbnj"sn`|&rf{ybzn.rawu&rqutfg,g+ln.pbuuittfn" -CCM^86049:9=2 -CCM^8604998=Pbuuitt#,Bd -CCM^8604999=Pbuuitt#,@j|n| -CCM^86049>;8=3 -CCM^86049>;9=@kcolcr#',Ymz{n}v -CCM^86049>;:=Rkc`{c jdnz.]anrkd(Hunhiy(.j+glsi!|ne#xifg}oibg'bsape- -CCM^86049>:9=67?7 -CCM^86049?;8=3 -CCM^86049?;9=@kcolcr#',Nzyay -CCM^86049?;:=[hs!`gvf*ee{n|kf'rim&wqebl(]ag{ob(!(Vlfkn(hfnmi'rim&mfnej(j`o.vu!iaajd" -CCM^86049?:9=2 -CCM^860498;8=3 -CCM^860498;9=@kcolcr#',Nzyay -CCM^860498;:=Voc!losh*ex(ea.pbgeq&flx,jkhkx},'&Qdcapo,h`nm`.vh&lime#yyym+zcov'rim&mfnej(b}+ypnrd(cnbh`nl+oej"wtnxcros,bfxkyzgc&hfro#~dn(o|bxg) -CCM^860498:9=2 -CCM^860::?31=Ahhgatm -CCM^860::?28='t&iiu mex+jnke.qbrtx( Bxi+qd{+}wuc!qiu#}me|+zd.gou7 -CCM^860::>31=Gutnz -CCM^860::>28=Qbrtx&hby,bfky`ck&dztoq$,[dnoxk"dio|gcw*ud}y.xadsq`zc sxc}aoky.dht!`cls$ -CCM^860::<;8=1 -CCM^8603:;9=^[udzpeqVdden}Wa`mZcdcngo~&kykjzmu+3&~x.}eeldyx gc -CCM^8603:;8=AZEGEUNOr:Tm|j`i[JNKGLPtW\nc{Rqa~EN(zjz -CCM^8603:4;8=2 -CCM^8603:9;8=2 -CCM^8603:9;9=2 -CCM^8603:9;:=2 -CCM^8603:;;=^[udzpeqVdden}Wjgqcmgv\qo`nixkWykibnu\jdigbn|^76/ahswk`gmy bmm<6 -CCM^860334;8=2 -CCM^860334;9=2 -CCM^860339;8= -CCM^8603:8;;=2 -CCM^860::>=3 -CCM^860::38=3 -CCM^860::<;=>Nhr|gloLcgln|5RWioo{raof"npn -CCM^860::<;?=3 -CCM^860::<;1=3 -CCM^860::<9=JLCXWELBY_N[T\DAV[(cdcng1$Ommo~bv.zICCY\I@J[XKXQPHIUTdlfdhmagk0&Fb``}jt*vD@MRQHBCTUD[YRLEXWjgkejdnjdTuhff`Wg{keRahklihd8"Hnnj{gz+{NJM__@FMX[N]T\MHR]jjemnjbdnROkdfsm|Ocld7#Lnhj{ns/}@MEZU@DKJBTCCDNHFC\Pejj|nROnesguoe~P\aejdyq[Etztem~Znzxgd`^Rhhfutbf`WJgkejguEaupokuEifkwFIB_^DICBFSFIHFB@G[UnnrwbxiWEbmyaqh`uTQimnc|{WM~|pbhu^crpcceT^`b`qsgmdZBoobomy5^`kiuuijlP~~bflr -CCM^860::<;0=>Nhr|gloLcgln|5R@kcolcr-otnt7Ge}vfjmNilgo~5THa{wpnai|(t{~p7Ae}onk@ndbeq4PYmjjfk,s~ut:ImyxjdgHdbfbt?TNeoz"~zg505~;Oo{raofJddoky0^wu`in1:"odg505~ -CCM^860::>;=3 -CCM^860::8=3502:455 -CCM^860::?= -CCM^860::?>= -CCM^860::?0=2 -CCM^860::>:=3 -CCM^860::?=1 -CCM^860::0=3 -CCM^860::>3=2 -CCM^860::=>WtnotanLegmx0WLnbhemt -CCM^860::>=@kcolcr-otn37Ge}vfjmNilgo~5TIbn`fbt/m~e8:7;3;505~Diqqtidbx%|sz02KiuuijlEe`omy0WMmwsaahw$xs|0>0>97:3zRfkhfm%zsz9;Oo{raofJddoky0^Uc`lke-~t3;5;52<:tNeoz"~zg57Gltr`djFlfhnz5RCknw(tzj;31<08050rr~righ23$hgd02B`qsgmd@ooniy6W~rzjhh38(dof7;3;5;593>=3 -CCM^860::>3?=2 -CCM^860::<8=3 -CCM^860::>?8=2 -CCM^860::<9=3 -CCM^860::>?9=2 -CCM^860::<:=3 -CCM^860::>?:=2 -CCM^860::<;=3 -CCM^860::>?;=2 -CCM^860::<<=3 -CCM^860::>?<=2 -CCM^860::<=2 -CCM^860::>?=2 -CCM^860::<>=3 -CCM^860::>?>=2 -CCM^860::9=Lhr!i&Nvgnnz -CCM^860:::= -CCM^860::;=upq/jjemniy&eb -CCM^860::<= -CCM^860::>1=@kcolcr#Zyidb}ckp -CCM^860::8=0)43 -CCM^860::9>9=2 -CCM^860::9>:=3 -CCM^860::9><=3 -CCM^860::9>=3 -CCM^860::5<<=2 -CCM^860::9>?= -CCM^860::<8;=2 -CCM^860::<8<= -CCM^860::<8=>Nhr|gloLcgln|5RJbjq&sro -CCM^860::<8>= -CCM^860::831=2 -CCM^860::59=^[udzpeqVdden}Wjgqcmgv\qo`nixkWykibnu\sngWb`xzckjdzZ02$ee{ogbgu(cev -CCM^860::5:= -CCM^860::5;=2 -CCM^860::<9>=3 -CCM^860::<9?=3 -CCM^860::5<=2 -CCM^860::5=2 -CCM^860::5>=3 -CCM^860::5<=2 -CCM^860::5<>=2 -CCM^860::5=3 -CCM^860::52?=>Nhr|gloLcgln|5R@FEJ]V -CCM^860::520=2 -CCM^860::>>=2 -CCM^860::>?=2 -CCM^8603:?;:=3 -CCM^8603:?;;=2 -CCM^8603:>;:=>FBUmkp -CCM^8603:;;>=2 -CCM^860::9>;=JLCXWELBY_N[T\DAV[(cdcng1$Ommo~bv.cdcnglegm0]|kia}@MEZUOGIX]N]]UIN\Zboobonbbn5*Ccgislw#7Idn`okp'@hdc;P~~bflrCEG^YBDGSPO_TZDA_R`kcol`iooPx`nbgRmwcoTeongmel0&Okdfsm|/;!6Ee{ogbDhjemt>_H`nfoky gc#($%2(7X|ygei~OMDQYCOK_XMXQYAMSZcdcnglegmWJnhcrjuAeom1$Ommo~bv.#4Onp~mgdMagjgu8]Jjemniy&nvn,.6R|timmpCCNWTBMDGMWKA@BEEMW]dhvpgsmZMji~d{dhRUnhegqs_Iyyzn`Xguuhgh\Vdee{ogb^Ejdfbeq1Hb{{bjwLfkd3Dlfdhnz0]|kia}@MEZU@DKJBTCCDNHFC\Pejj|nROnesguoe~P\aejdyq[Etztem~Znzxgd`^Rhhfutbf`WJgkejguTfonp~mgdXzygl`Ahswk`gNdbokp9ZTfonp~mgd%ksk9Trsahg -CCM^860::28=Ubjbgke -CCM^860::>:8=^[udzpeqVdden}Wjgqcmgv\qo`nixkWykibnu\sngWb`xzckjdzZ02${ndhafk,urg -CCM^860::>8=2 -CCM^860::521=[bu -CCM^860:;<;8=Lh -CCM^860::829=Rkc`{c qomo(fn.dhjmgqimm,Gahke}g'Gfzcenob&+.^}g'rim&s`xcgd+lj|"si!~oet*xcm+|n}v'ig(rhf*hdk~cn`v) -CCM^860::9:9=Fh&xgs bionx.jbn'rim&tfxax(dh+zjb&qzccfneeo+Bbmgiud(Ggqoifmez4."N`!qiu#iddgxk+@m+&rmrus*{bdg.hbmtc/(&Tl*ee{ogb"snd(vrlm~je'.raw'kt{r bionx.fkt&`otefgie|% -CCM^860::29=Nnedfue#Kkymncn`v -CCM^860::>:9=^[udzpeqVdden}Wjgqcmgv\qo`nixkWykibnu\sngWb`xzckjdzZ01$odxr|bijs(upr -CCM^860::>9=3 -CCM^860::2:=Ceit|&Boobomy.H|gfrnz -CCM^860::>::=^[udzpeqVdden}Wjgqcmgv\qo`nixkWykibnu\sngWb`xzckjdzZ00$~niocn vr -CCM^860::>:=2 -CCM^860::82;=Kiuuijlb~edf+Hdbfbt -CCM^860::9:;=Wtc!|ne#lendo.iknhq!|i pzihamw+zjb&ggjdfx,|`n|n.{hs!gnw*xcm+o{~nne`|oom*jbdn}+zm'dd(eoscio(a%.Vh&rxccjlu+i+jbhdbtdfr ee`omy"+z{wc!i&nf},eifk'.mu&t{c wbi+Ti.I|mpudTd0#*n~|ae.vh&rmje`~,jf+ksgqsooo&flfhnz%.+^pbur(Zb#Dis|Wl;."si!kinwcb~m% -CCM^860::2;=Aoin{c Pox~x+Hdbfbt -CCM^860::>:;=^[udzpeqVdden}Wjgqcmgv\qo`nixkWykibnu\sngWb`xzckjdzZ07$jddoky ps` -CCM^860::>;=2 -CCM^860::82<=Uhtjahg -CCM^860::9:<=Rkc`{c tke(|fbbg'#r(os#yi}{.d`"~itz&clg|~|n|% -CCM^860::2<=Qbrtx&Pqekymx} -CCM^860::>:<=^[udzpeqVdden}Wjgqcmgv\qo`nixkWykibnu\sngWb`xzckjdzZ06$|ygl|n}q)tun -CCM^860::><=2 -CCM^860::82>=Qbrtx&wby,x}hmn}qasm -CCM^860::9:>='t&viu pohmx}m{nk!{ctvz,df+wd{p'enevuwo~%(+^ykqt&]j&Fjdex`Wl;."si!m~iw*n|~~% -CCM^860::98>=Qsgs|&Boobomy.[{`kor`cr -CCM^860::>3;=>Nhr|gloLcgln|5R`kcolcr-otn -CCM^860::>3<=2 -CCM^860::>39=3 -CCM^860::2>=Qbrtx&Clg|gmk -CCM^860::>:>=^[udzpeqVdden}Wjgqcmgv\qo`nixkWykibnu\sngWb`xzckjdzZ05$ode{bnzg)tun -CCM^860::>>=2 -CCM^860::<:8=Wioo{raofiy -CCM^860::<:9=Voc!}himyxjdg.{|m`t`e&wjf`+zncdxg'`hdcs#kbo(magjguu-(uhlxxh}}'.cib!zcgjyxyq+kezpncr(`rlg,`n.ogql(!(Grf*ud}+}~|g'n}&wbdx+|d.~`kiuuijl< -CCM^860::<::=Mic!g` `ea{gekezq'or(gcwczn&+.Nvks&u`c sxclzjc+lgaism&swk~aei+[lnhr|glo$ -CCM^860::<:;=Wioo{raof,x}hmn}qasmd! -CCM^860::<:<=Ci&dztoq*chk~|ykf'qiaje#~~raei+zm'soahswk`g(fn.ruifzgm-*,^fb`xzckj!`gs#hinf+mj`abjdl( -CCM^860::><=Qbrtx -CCM^860::<9;=Lhr!i&Nvgnnzwrwr~{Dmmhdfx,[}ibb}jbt}:(21v -CCM^860::<;:=Giamauh#',^fbznj"Tr`|cs -CCM^860::<;9=3752 -CCM^860:;<;9=^[udzpeqVdden}Wa`mZcdcngo~&b`oautZ+&, \ No newline at end of file diff --git a/release/windows/publ_installer/00.installer.ico b/release/windows/publ_installer/00.installer.ico deleted file mode 100644 index 4daf11eb821..00000000000 Binary files a/release/windows/publ_installer/00.installer.ico and /dev/null differ diff --git a/release/windows/publ_installer/01.installer.bmp b/release/windows/publ_installer/01.installer.bmp deleted file mode 100644 index d62832c0101..00000000000 Binary files a/release/windows/publ_installer/01.installer.bmp and /dev/null differ diff --git a/release/windows/publ_installer/01.welcome.rtf b/release/windows/publ_installer/01.welcome.rtf deleted file mode 100644 index b7ff8c2910b..00000000000 Binary files a/release/windows/publ_installer/01.welcome.rtf and /dev/null differ diff --git a/release/windows/publ_installer/02.copyright.txt b/release/windows/publ_installer/02.copyright.txt deleted file mode 100644 index 4e67c2561d3..00000000000 --- a/release/windows/publ_installer/02.copyright.txt +++ /dev/null @@ -1,56 +0,0 @@ -BLENDER CREATOR LICENSE AGREEMENT - -IMPORTANT: PLEASE READ CAREFULLY BEFORE USING THE BLENDER CREATOR SOFTWARE. - -This License Agreement for the Blender Creator software ("License Agreement") is an agreement between NaN Technologies B.V., Meerenakkerplein 11, 5652 BJ Eindhoven, the Netherlands ("NaN") and you (either an individual or a legal entity) ("You") with respect to the software product which this License Agreement accompanies (the "Software"). - -By installing, copying or otherwise using the Software, You agree to be bound by the terms of this License Agreement. If You do not agree to the terms of this License Agreement do not install or use the Software. - - -1. Grant of License - -Subject to the provisions of this License Agreement, NaN grants You a limited, non-exclusive, personal, non-sublicenseable, non-transferable, revocable license to use the Software at any computer You own or use. - -2. License Restrictions - -Except as expressly provided under this License Agreement, or without prior written consent from NaN, or without permission by law, You may not: (a) remove or alter any proprietary, copyright or trademark notices in or on the Software; (b) modify, decompile, disassemble or reverse-engineer the Software; (c) sublicense, rent, lease, lend, assign or otherwise transfer rights to the Software. - -3. Permitted copying and electronic distribution of Software - -You are hereby granted permission to copy and distribute the Software without written agreement from NaN, only for non-commercial purposes. Distributing the Software within a restricted non-public environment, such as using a local network in a company or a local network of a university, is considered a 'non-commercial purpose'. This entire License Agreement must appear in and/or accompany all copies of the Software. -Distributing the Software 'bundled' in with ANY product is considered to be a 'commercial purpose'. - -4. Intellectual Property Rights and Ownership - -Title and ownership to all rights, including intellectual property rights, in and to the Software shall at all times solely and exclusively remain with NaN. The Software is protected by national and international (copyright) laws and treaties. All rights not expressly granted herein are reserved to NaN. - -5. Disclaimer of Warranties - -NaN provides you with the Software "as is" and with all faults. NaN explicitly disclaims all warranties and guarantees and does not make any representations with respect to the Software, whether express, implied, or statutory, including, but not limited to any (if any) warranties of or related to: fitness for a particular purpose, title, non-infringement, lack of viruses, accuracy or completeness of responses, results, lack of negligence or lack of workmanlike effort, and correspondence to description. The entire risk arising out of use or performance of the Software remains with You. - -6. Limitation of Liability - -In no event shall NaN or its employees, agents or suppliers be liable for any direct, indirect, consequential, incidental, special, punitive, or other damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, claims of third parties, damages as a result of injury to any person, or any other loss) arising out of or in connection with the license granted under this License Agreement or the use of or inability to use the Software, even if NaN has been advised of the possibility of such damages. - -7. User warning and indemnification - -WARNING: use of the Software and use of any works that are (partially) created with the Software (the "Works") may cause physical or psychological reactions from You or from third parties, which may result in damages, injuries, losses and/or other negative consequences. You acknowledge that NaN can not be held liable for any such damages, injuries, losses and/or other negative consequences. You acknowledge that it is your obligation to investigate, prevent and/or minimize such reactions prior to having third parties use the Works. - -You shall indemnify and hold harmless NaN from and against all actions, claims, demands, proceedings, losses, damages, costs, charges and expenses, including but not limited to legal fees and expenses, arising out of or in connection with (i) the use of the Software by You and (ii) the use of any Works created with the Software by You or any third parties. - -8. Term and Termination - -This License Agreement and the license granted hereunder is effective until terminated. This License Agreement shall terminate automatically and forthwith if You fail to comply with the terms of this License Agreement. Upon termination, You shall cease the use of the Software, remove the Software from (the memory of) your computer and destroy all copies of the Software. - -9. Entire Agreement - -This License Agreement is the entire agreement between NaN and You in respect of the subject matter of the License Agreement. This License Agreement supersedes all prior written or oral agreements, proposals or understandings, and any other communications between NaN and You relating to the subject matter of this License Agreement. - -10. Enforceability - -If any provision of this License Agreement is held to be unenforceable by a court of competent jurisdiction for any reason, such provision shall be adapted or amended only to the extent necessary to make it enforceable, and the remainder of the License Agreement shall remain in effect. - -11. Governing law and disputes - -This License Agreement and all disputes arising from it will be governed by the laws of The Netherlands. All disputes arising in connection with this Agreement that cannot be settled amicably shall be brought before the competent court in Amsterdam, the Netherlands, to which jurisdiction NaN and You hereby irrevocably consent. - diff --git a/release/windows/publ_installer/03.readme.txt b/release/windows/publ_installer/03.readme.txt deleted file mode 100644 index 9cfcc8378c1..00000000000 --- a/release/windows/publ_installer/03.readme.txt +++ /dev/null @@ -1,54 +0,0 @@ - Blender V2.2 - - NaN Technologies B.V., the Netherlands - - ----- GENERAL INFORMATION ----- - -Blender Creator is a free and fully functional 3D modeling, rendering, animation and game creation package for Unix and Windows. Blender Creator is distributed without sources, it is exclusively developed and maintained by the Dutch company NaN Technologies B.V. - -This software is free to be applied for any purpose, excluding commercial distribution. For more about this, read the copyright notice included in the download file. - -The best resource for getting to know Blender Creator is of course 'The official Blender 2.0 guide'. This wonderfully designed 250 pages book contains tutorials, examples and a complete description of every aspect of the interface. - -You can visit the shop page of the Blender site for more about this: - - http://www.blender.nl/shop/ - -More information about Blender can be found at: - -- The website - - http://www.blender.nl - -- The beginners page - - http://www.blender.nl/support/beginners.php - -- The Support Pages - - http://www.blender.nl/support/ - -- The frequently asked questions - - http://www.blender.nl/support/faq/index.php - -- Tutorials - - Good tutorials to start with are 'User Interface' and - 'Navigating in 3D Space' and 'The Blender Windows' - - http://www.blender.nl/search_item.php?part=tutorial - -- The Blender news-server: to post questions and contact other users - - http://www.blender.nl/discussion/index.php - - -Thank you for getting Blender Creator, I hope you will enjoy using it. - -Ton Roosendaal -NaN Technologies B.V. - -http://www.blender.nl -support@blender.nl - diff --git a/release/windows/publ_installer/04.folder.rtf b/release/windows/publ_installer/04.folder.rtf deleted file mode 100644 index 2e9daee37b7..00000000000 Binary files a/release/windows/publ_installer/04.folder.rtf and /dev/null differ diff --git a/release/windows/publ_installer/05.progress.rtf b/release/windows/publ_installer/05.progress.rtf deleted file mode 100644 index af6b1403045..00000000000 Binary files a/release/windows/publ_installer/05.progress.rtf and /dev/null differ diff --git a/release/windows/publ_installer/06.complete.rtf b/release/windows/publ_installer/06.complete.rtf deleted file mode 100644 index d901313ec1a..00000000000 Binary files a/release/windows/publ_installer/06.complete.rtf and /dev/null differ -- cgit v1.2.3