Skip to content

Commit

Permalink
CT: Further improvements to depth rendering code, though still ultima…
Browse files Browse the repository at this point in the history
…tely incomplete. Misc. additional fixes.
  • Loading branch information
DDR0 committed Jul 2, 2012
1 parent 10a1640 commit 983010a
Show file tree
Hide file tree
Showing 11 changed files with 30 additions and 21 deletions.
4 changes: 2 additions & 2 deletions modules/cube_trains/data/object_prototypes/ct-3d.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,12 @@ properties: {

#/Pos/ is the relative z-location from the cursor, and /vm/ is a boolean indicating if we're in volumetric mode. In volumetric mode, we tweak alpha so that we can see the active layer fully, and the ghost of the layer above it; as opposed to non-volumetric mode where we just show the base active layer. Volumetric mode is activated when we are placing a piece which is volumetric and we ourselves are volumetric.#
set_depth_effect: "def(pos, vm)
set(self.alpha, 256+256*(pos+render_offset(vm)))",
set(self.alpha, 256+256*(pos+render_offset(vm)-(encloses)*0.5))",
render_offset: "def(vm) 0",

set_alpha: "def(val) map(objs, 'obj', set(obj.alpha, val)) where objs = vars.overlays + [self]",

set_bright: "def(val) map(objs, 'obj', [set(obj.green, val),
set_bright: "def(val) map(objs, 'obj', [set(obj.green, val), //incriments of 40 seem best
set(obj.red, val),
set(obj.blue, val)]) where objs = vars.overlays + [self]",

Expand Down
32 changes: 21 additions & 11 deletions modules/cube_trains/data/object_prototypes/ct-cursor.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,12 @@ properties: {
set(self.vars.piece_selected, newIndex),
#dXebug(str(pieces[newIndex].type) + ' now selected.'),#
preview.safeAnimation(pieces[newIndex].type),
fire_event(self, 'render_depth'),
] where newIndex = if(rangefive < 0, size(pieces)-1, rangefive)
where rangefive = (piece_selected+delta)%size(pieces),
[set(self.vars.piece_selected, newIndex),
preview.safeAnimation(pieces[newIndex].type),
fire_event(self, 'render_depth'),
] where newIndex = _findStringIndex(0, delta),
)",

Expand Down Expand Up @@ -49,7 +51,7 @@ properties: {
map(play_objs, 'pob', [ /*We'll apply alpha above and darken below for sense of depth.*/
pob.set_depth_effect(new_loc[2] - pob.vars.location[2], is_volumetric_piece(pob) and is_volumetric_piece(pieces[piece_selected])),
])) where new_loc = [new_loc_[0], new_loc_[1], ((new_loc_[2] * 1.0) * (step) + (vars.location[2] * 1.0) * (steps - step))/steps]
) where play_objs = filter(level.chars, 'ch', ch.vars.location and ch != context.self)",
) where play_objs = filter(level.chars, 'ch', ch.vars.location and not ch in [context.self, context.self.vars.preview])",

applyRotate: "def(delta) [
setToGrid(dest),
Expand All @@ -58,7 +60,11 @@ properties: {
set(tmp.camOffset, [level.camera_position[0]-self.x, level.camera_position[1]-self.y])
] where dest = self.getRotateZ(self.vars.location, delta)",

is_volumetric_piece: "def(piece) piece.type in ['ct-block-5', 'ct-bridge-tiny-19', 'ct-bridge-tiny-37', 'ct-legs-5', 'ct-tunnel-1', 'ct-tunnel-3', 'ct-tunnel-7', 'ct-tunnel-9', 'ct-windows-large-5', ]",
is_volumetric_piece: "def(piece) piece.type in ['ct-block-5', 'ct-bridge-tiny-19', 'ct-bridge-tiny-37', 'ct-legs-5', 'ct-tunnel-1', 'ct-tunnel-3', 'ct-tunnel-7', 'ct-tunnel-9', 'ct-windows-large-5', 'ct-edge-hedge-1', 'ct-edge-hedge-3', 'ct-edge-hedge-7', 'ct-edge-hedge-9',
'ct-raise-1', 'ct-raise-3', 'ct-raise-7', 'ct-raise-9',
'ct-ground-raise-1', 'ct-ground-raise-3', 'ct-ground-raise-7', 'ct-ground-raise-9',
'ct-metaraise-1', 'ct-metaraise-3', 'ct-metaraise-7', 'ct-metaraise-9',
]",

block_value: "def(objs, value) 0",

Expand Down Expand Up @@ -283,7 +289,7 @@ vars: {
"azerty": { "block alt": "d", "block value down": "q", "block value up": "s", "debug2": 283, "help": 282, "high": ":", "load": 285, "low": "1", "next branch": "314", /*"place": "2",*/ "print": 284, "redo": "r", "rotate ccw": "=", "rotate cw": ")", "select left": "<", "select right": "w", "trains": " ", "undo": "u", "unplace": "x", "copy": "c", "paste": "v", },
},
pieces: ["ct-block-5"],
piece_selected: 0,
piece_selected: 5,
groups: ["ground","support","track"],

target_value: "normal",
Expand Down Expand Up @@ -325,6 +331,7 @@ on_first_cycle: "[//debug('HI THERE'), //By Gregory Clark. Good book. Do recomme
] where text_ctrl = object('text_controller', x, y, 0, {'centered'->0}),
[ set(vars.preview, pre),
add_object(pre),
set(pre.animation, pieces[piece_selected].type)
] where pre = object('ct-preview'),
fire_event('render_depth'),
Expand Down Expand Up @@ -422,29 +429,29 @@ on_first_cycle: "[//debug('HI THERE'), //By Gregory Clark. Good book. Do recomme
add_object(button.return),
set(button.return.vars.action, fire_event(self, 'exit_level')),
set(button.return.vars.offset, -margin+1),
set(button.return.vars.offset, -margin),
add_object(button.reset),
set(button.reset.vars.action, [[set(self.vars.toLoad, self.vars.toRevert), fire_event(self, 'quick_load')]]),
set(button.reset.vars.reference_anchor, button.return.getAnchor(4, list_add(button.return.getCameraAnchor(7), [button.return.img_w, 0]))),
set(button.reset.vars.reference_anchor, button.return.getAnchor(4, list_add(button.return.getCameraAnchor(7), [button.return.img_w - margin, 0]))),
set(button.reset.vars.offset, -margin),
add_object(button.undo),
set(button.undo.vars.action, fire_event(self, 'undo')),
set(button.undo.vars.reference_anchor, button.return.getAnchor(4, list_add(button.return.getCameraAnchor(7), [button.return.img_w - margin + button.undo.img_w, 0]))),
set(button.undo.vars.reference_anchor, button.return.getAnchor(4, list_add(button.return.getCameraAnchor(7), [button.return.img_w - margin*2 + button.undo.img_w, 0]))),
set(button.undo.vars.offset, -margin),
set(self.vars.undoButton, button.undo),
add_object(button.redo),
set(button.redo.vars.action, fire_event(self, 'redo')),
set(button.redo.vars.reference_anchor, button.return.getAnchor(4, list_add(button.return.getCameraAnchor(7), [button.return.img_w + button.undo.img_w + button.redo.img_w - margin*2, 0]))),
set(button.redo.vars.reference_anchor, button.return.getAnchor(4, list_add(button.return.getCameraAnchor(7), [button.return.img_w + button.undo.img_w + button.redo.img_w - margin*3, 0]))),
set(button.redo.vars.offset, -margin),
set(self.vars.redoButton, button.redo),
if(self.vars.displayCopyButtons, [
add_object(button.copy),
set(button.copy.vars.action, fire_event(self, 'map_to_clipboard')),
set(button.copy.vars.reference_anchor, button.return.getAnchor(4, list_add(button.return.getCameraAnchor(7), [button.return.img_w + button.undo.img_w + button.redo.img_w + button.copy.img_w - margin*3, 0]))),
set(button.copy.vars.reference_anchor, button.return.getAnchor(4, list_add(button.return.getCameraAnchor(7), [button.return.img_w + button.undo.img_w + button.redo.img_w + button.copy.img_w - margin*4, 0]))),
set(button.copy.vars.offset, -margin),
add_object(button.paste),
set(button.paste.vars.action, fire_event(self, 'map_from_clipboard')),
set(button.paste.vars.reference_anchor, button.return.getAnchor(4, list_add(button.return.getCameraAnchor(7), [button.return.img_w + button.undo.img_w + button.redo.img_w + button.copy.img_w + button.paste.img_w - margin*4, 0]))),
set(button.paste.vars.reference_anchor, button.return.getAnchor(4, list_add(button.return.getCameraAnchor(7), [button.return.img_w + button.undo.img_w + button.redo.img_w + button.copy.img_w + button.paste.img_w - margin*5, 0]))),
set(button.paste.vars.offset, -margin),
]),
Expand Down Expand Up @@ -534,6 +541,8 @@ on_quick_load: "[
]",

on_render_depth: "render_depth(vars.location, 1)",
on_render_depth_slowly: "render_depth(vars.location, 10)",

on_disable_undo_and_redo_buttons: "[set(self.vars.undoButton.animation, 'disabled'), set(self.vars.redoButton.animation, 'disabled')]",

on_place: "place_piece(self.vars.location)",
Expand Down Expand Up @@ -652,7 +661,7 @@ on_process: "[
where end_drag = [set(tmp.dragging, null), set(tmp.monitor_for_drag, null)]
where end_scroll = [set(tmp.scrolling, null), if(tmp.scroll_marker, remove_object(tmp.scroll_marker))])",

"on_mouse_move*": "
"on_mouse_move*": "[
if(not tmp.dragging or tmp.scrolling,
if((not handled) and vars.preview.setToGrid, [
vars.preview.setToGrid(
Expand All @@ -669,7 +678,8 @@ on_process: "[
set(tmp.dragging, abs_mouse_xy(mouse_index))],
set(tmp.scroll_magnitude, list_subtract(abs_mouse_xy(mouse_index), tmp.scrolling)),
)
)",
),
set(vars.last_mouse_coords, [mouse_x, mouse_y])]",

on_snap_cursor: "[set(level.camera_position, [self.x*100+tmp.camOffset[0]*100,self.y*100+tmp.camOffset[1]*100])]",

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
id: "ct-edge-hedge",
prototype: ["ct-block"],
properties: {
set_alpha: "def(val) map(objs, 'obj', set(obj.alpha, val+200 #Sort of nudge the alpha down a level so it matches the blocks below it, since it looks kind of funny otherwise.#)) where objs = vars.overlays + [self]",
additionalPlacementRequirementsMet: "def(chars) if('ground' in groups, {'ok' -> 1}, {'ok' -> 0, 'error' -> 'There was no ground in which to plant this hedge.'}) where groups = groups_at(list_add(location, [0,0,-1]), chars)",
render_offset: "def(vm) 0.5",
},
vars: {
bonus: ["plant"],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ vars: {
editable: 1,
},
properties: {
set_alpha: "def(val) map(objs, 'obj', set(obj.alpha, val+200 #Copied from track.cfg#)) where objs = vars.overlays + [self]",
additionalPlacementRequirementsMet: "def(chars)
if(self.vars.parent in transform(potentially_at_coord(self.vars.location, chars), v.type),
{'ok' -> 1}, {'error' -> 'Entrance tunnel gone.'})",
Expand Down
2 changes: 2 additions & 0 deletions modules/cube_trains/data/object_prototypes/ct-entrance.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ properties: {

additionalBlocks: "def(chars)
[{'id' -> '${self.type}.track', 'pos' -> [0,0,0]}]",

render_offset: "def(vm) 0.5",
},

vars: {
Expand Down
1 change: 1 addition & 0 deletions modules/cube_trains/data/object_prototypes/ct-support.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ id: "ct-support",
prototype: ["ct-block"],
properties: {
additionalPlacementRequirementsMet: "def(chars) if('ground' in groups or 'support' in groups, {'ok' -> 1}, {'ok' -> 0, 'error' -> 'There was nothing on which to build this support.'}) where groups = groups_at(list_add(location, [0,0,-1]), chars)",
render_offset: "def(vm) if(vm, 0, -0.5)",
},
vars: {
group: ["support","brace"],
Expand Down
1 change: 1 addition & 0 deletions modules/cube_trains/data/object_prototypes/ct-tips.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ properties: {
{'ok' -> 1},
{'ok' -> 0, 'error' -> 'There was no raise piece below.'}
)",
render_offset: "def(vm) 1",
},

# [consts]
Expand Down
1 change: 0 additions & 1 deletion modules/cube_trains/data/object_prototypes/ct-track.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ id: "ct-track",
prototype: ["ct-block"],
zsub_order: 1,
properties: {
set_alpha: "def(val) map(objs, 'obj', set(obj.alpha, val+200 #Sort of nudge the alpha down a level so it matches the blocks below it, since it looks kind of funny otherwise.#)) where objs = vars.overlays + [self]",
set_branch: "def(val) [
set(me.vars.branch, val),
if(val in available_animations, set(me.animation, val) #,debug('Error: ct-track missing colour data for this branch.')#),
Expand Down
2 changes: 1 addition & 1 deletion modules/cube_trains/data/object_prototypes/ct-tree-tip.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ vars: {
cost: 0,
},
properties: {
set_alpha: "def(val) map(objs, 'obj', set(obj.alpha, val+200 #Sort of nudge the alpha down a level so it matches the blocks below it, since it looks kind of funny otherwise.#)) where objs = vars.overlays + [self]",
setToGrid: "def(crd) [ #This varient lowers the y drawing location as if by one z (tall), so as to render the top of the tree on the top of the trunk even though we raised it one z so it's z-level and selecting behaviour would be correct.#
set(self.x, lpfc[0]),
set(self.y, lpfc[1]+tall),
Expand All @@ -21,5 +20,6 @@ properties: {
additionalPlacementRequirementsMet: "def(chars)
if(self.vars.parent in transform(potentially_at_coord(list_add(self.vars.location, [0,0,-1]), chars), v.type),
{'ok' -> 1}, {'error' -> 'Missing trunk. Timber!'})",
render_offset: "def(vm) 1",
},
}
4 changes: 0 additions & 4 deletions modules/cube_trains/data/objects/ct-legs-5.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,6 @@
id: "ct-legs-5",
prototype: ["ct-support"],
properties: {

#set_alpha = "def(val) map(objs, 'obj', set(obj.alpha, val+200
#Sort of nudge the alpha down a level so it matches the blocks below it, since it looks kind of funny otherwise.
#)) where objs = vars.overlays + [self]"
additionalBlocks: "def(chars)
if(location[2] > level.player.limits.min[2]
and (not ('ground' in groups or 'support' in groups) where groups = groups_at(list_add(location, [0,0,-1]), chars)),
Expand Down
1 change: 1 addition & 0 deletions modules/cube_trains/data/objects/ct-square-shadow-5.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ properties: {
),
{'ok' -> 0, 'error' -> 'There is no object to cast this shadow.'}
)",
//set_depth_effect: "def(a,b) set_depth_effect(a,b)",
},

animation: [
Expand Down

0 comments on commit 983010a

Please sign in to comment.