From c13c7db4ed692deb024a6c7bd6d83b06b4bb7e0f Mon Sep 17 00:00:00 2001 From: Jayant Jain Date: Mon, 14 Jul 2014 08:11:33 +0530 Subject: [PATCH 1/9] Less geometric random borders for the terrain generator --- .../modal/terrain_randomize_modal.coffee | 51 ++++++++++--------- 1 file changed, 27 insertions(+), 24 deletions(-) diff --git a/app/views/editor/level/modal/terrain_randomize_modal.coffee b/app/views/editor/level/modal/terrain_randomize_modal.coffee index 57c5b2158..cf631d54c 100644 --- a/app/views/editor/level/modal/terrain_randomize_modal.coffee +++ b/app/views/editor/level/modal/terrain_randomize_modal.coffee @@ -66,6 +66,7 @@ sizes = { 'borderSize': { 'x':4 'y':4 + 'thickness':2 } } @@ -114,36 +115,38 @@ module.exports = class TerrainRandomizeModal extends ModalView randomizeBorder: (preset, presetSize) -> for i in _.range(0-sizes.floorSize.x/2+sizes.borderSize.x, presetSize.x-sizes.floorSize.x/2, sizes.borderSize.x) - @thangs.push { - 'id': @getRandomThang(preset.borders) - 'pos': { - 'x': i - 'y': 0-sizes.floorSize.x/2 + for j in _.range(sizes.borderSize.thickness) + @thangs.push { + 'id': @getRandomThang(preset.borders) + 'pos': { + 'x': i + _.random(-sizes.borderSize.x/2, sizes.borderSize.x/2) + 'y': 0 - sizes.floorSize.x/2 + _.random(-sizes.borderSize.x/2, sizes.borderSize.x/2) + } } - } - @thangs.push { - 'id': @getRandomThang(preset.borders) - 'pos': { - 'x': i - 'y': presetSize.y - sizes.borderSize.y + @thangs.push { + 'id': @getRandomThang(preset.borders) + 'pos': { + 'x': i + _.random(-sizes.borderSize.x/2, sizes.borderSize.x/2) + 'y': presetSize.y - sizes.borderSize.y + _.random(-sizes.borderSize.x/2, sizes.borderSize.x/2) + } } - } for i in _.range(0-sizes.floorSize.y/2, presetSize.y-sizes.borderSize.y, sizes.borderSize.y) - @thangs.push { - 'id': @getRandomThang(preset.borders) - 'pos': { - 'x': 0-sizes.floorSize.x/2+sizes.borderSize.x - 'y': i + for j in _.range(3) + @thangs.push { + 'id': @getRandomThang(preset.borders) + 'pos': { + 'x': 0-sizes.floorSize.x/2+sizes.borderSize.x + _.random(-sizes.borderSize.y/2, sizes.borderSize.y/2) + 'y': i + _.random(-sizes.borderSize.y/2, sizes.borderSize.y/2) + } } - } - @thangs.push { - 'id': @getRandomThang(preset.borders) - 'pos': { - 'x': presetSize.x - sizes.borderSize.x - sizes.floorSize.x/2 - 'y': i + @thangs.push { + 'id': @getRandomThang(preset.borders) + 'pos': { + 'x': presetSize.x - sizes.borderSize.x - sizes.floorSize.x/2 + _.random(-sizes.borderSize.y/2, sizes.borderSize.y/2) + 'y': i + _.random(-sizes.borderSize.y/2, sizes.borderSize.y/2) + } } - } randomizeDecorations: (preset, presetSize)-> for name, decoration of preset.decorations From ca3a2b620babc27cc1656f22988ba744166e8936 Mon Sep 17 00:00:00 2001 From: Inez KEMENES Date: Mon, 14 Jul 2014 07:22:19 +0200 Subject: [PATCH 2/9] Update hu.coffee I must have made a mistake again. I have deleted a star instead of a double cross and some lines disappeared. Sorry! Please correct. --- app/locale/hu.coffee | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/locale/hu.coffee b/app/locale/hu.coffee index 3a7889e63..673b3ec90 100644 --- a/app/locale/hu.coffee +++ b/app/locale/hu.coffee @@ -173,8 +173,8 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t email_announcements: "Bejelentések" email_announcements_description: "Szeretnél levelet kapni a legújabb fejlesztéseinkről?" email_notifications: "Értesítések" -# email_notifications_summary: "Controls for personalized, automatic email notifications related to your CodeCombat activity." - email_any_notes: "Bármely értesítés" + email_notifications_summary: CodeCombat tevékenységedre vonatkozó személyre szóló, automatikus értesítések beállításai." + email_any_notes: "Bármely megjegyzés" email_any_notes_description: "Minden tevékenységgel kapcsolatos e-mail értesítés letiltása." email_recruit_notes: "Álláslehetőségek" email_recruit_notes_description: "Ha igazán jól játszol lehet, hogy felveszzük veled a kapcsolatot és megbeszéljük, hogy szerezzünk-e neked egy (jobb) állást." From 0f4a7df9825fdd9b849d303d8e414d4809a4b75f Mon Sep 17 00:00:00 2001 From: Tery Lim Date: Mon, 14 Jul 2014 13:56:27 +0800 Subject: [PATCH 3/9] Use spl instead of trailing space for spacing --- app/templates/community.jade | 62 ++++++++++++++++++------------------ 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/app/templates/community.jade b/app/templates/community.jade index 05abba019..396a5a416 100644 --- a/app/templates/community.jade +++ b/app/templates/community.jade @@ -1,7 +1,7 @@ extends /templates/base block content - + h1(data-i18n="community.main_title") CodeCombat Community p There are dozens of ways you can get involved with CodeCombat. Check out the resources we've built, decide what sounds the most fun, and we look forward to working with you! @@ -15,13 +15,13 @@ block content p We have built several tools that enable users to get not only edit, but also build new game content! ul - li + li a(href="/editor/level", data-i18n="community.level_editor") | : fork, edit, or build your own CodeCombat levels. New levels can be kept private or published to the community. - li + li a(href="/editor/thang", data-i18n="editor.thang_title") | : modify or import new art assets for the game using our powerful editor. - li + li a(href="/editor/article", data-i18n="editor.article_title") | : edit or create documentation used in CodeCombat levels. @@ -35,51 +35,51 @@ block content ul - li We write about our progress and current projects on our - a(href="http://blog.codecombat.com", data-i18n="nav.blog") + li We write about our progress and current projects on our + a.spl(href="http://blog.codecombat.com", data-i18n="nav.blog") | . - li Participate in our active user community by checking out our - a(href="http://discourse.codecombat.com", data-i18n="nav.forum") + li Participate in our active user community by checking out our + a.spl(href="http://discourse.codecombat.com", data-i18n="nav.forum") | . - li For regular news about learning to code, games, and education, check out our - a(href="https://www.facebook.com/codecombat", data-i18n="community.facebook") + li For regular news about learning to code, games, and education, check out our + a.spl(href="https://www.facebook.com/codecombat", data-i18n="community.facebook") | . - li For realtime status or to have a quick chat, follow us on - a(href="https://twitter.com/CodeCombat", data-i18n="community.twitter") + li For realtime status or to have a quick chat, follow us on + a.spl(href="https://twitter.com/CodeCombat", data-i18n="community.twitter") | . - li Don't like Facebook? We're on - a(href="https://plus.google.com/115285980638641924488/posts", data-i18n="community.gplus") + li Don't like Facebook? We're on + a.spl(href="https://plus.google.com/115285980638641924488/posts", data-i18n="community.gplus") | . - li You can also find us in our - a(href="http://www.hipchat.com/g3plnOKqa", data-i18n="editor.hipchat_url") + li You can also find us in our + a.spl(href="http://www.hipchat.com/g3plnOKqa", data-i18n="editor.hipchat_url") .community_columns h2 Contribute - p Put your skills to use helping us teach the world to code. We have a lot of roles you can consider, and if we don't have a role for you, let us know: + p Put your skills to use helping us teach the world to code. We have a lot of roles you can consider, and if we don't have a role for you, let us know: ul - li - a(href="/contribute#archmage", data-i18n="classes.archmage_title") + li + a(href="/contribute#archmage", data-i18n="classes.archmage_title") | : contribute by writing code. - li - a(href="/contribute#artisan", data-i18n="classes.artisan_title") + li + a(href="/contribute#artisan", data-i18n="classes.artisan_title") | : build new game levels. - li - a(href="/contribute#adventurer", data-i18n="classes.adventurer_title") + li + a(href="/contribute#adventurer", data-i18n="classes.adventurer_title") | : test new game levels. - li - a(href="/contribute#scribe", data-i18n="classes.scribe_title") + li + a(href="/contribute#scribe", data-i18n="classes.scribe_title") | : write educational documentation. - li - a(href="/contribute#diplomat", data-i18n="classes.diplomat_title") + li + a(href="/contribute#diplomat", data-i18n="classes.diplomat_title") | : translate site content. - li - a(href="/contribute#ambassador", data-i18n="classes.ambassador_title") + li + a(href="/contribute#ambassador", data-i18n="classes.ambassador_title") | : support our community of educators and coders. - | Check out the - a(href="/contribute", data-i18n="nav.contribute") + | Check out the + a.spl(href="/contribute", data-i18n="nav.contribute") | page to find out more about the roles and how you can get started. From 42cf0b5cce3fd6cc6ab19d26ec636af183395426 Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Mon, 14 Jul 2014 07:30:18 -0700 Subject: [PATCH 4/9] Added missing starting quote. --- app/locale/hu.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/locale/hu.coffee b/app/locale/hu.coffee index 673b3ec90..1eafea9df 100644 --- a/app/locale/hu.coffee +++ b/app/locale/hu.coffee @@ -173,7 +173,7 @@ module.exports = nativeDescription: "magyar", englishDescription: "Hungarian", t email_announcements: "Bejelentések" email_announcements_description: "Szeretnél levelet kapni a legújabb fejlesztéseinkről?" email_notifications: "Értesítések" - email_notifications_summary: CodeCombat tevékenységedre vonatkozó személyre szóló, automatikus értesítések beállításai." + email_notifications_summary: "CodeCombat tevékenységedre vonatkozó személyre szóló, automatikus értesítések beállításai." email_any_notes: "Bármely megjegyzés" email_any_notes_description: "Minden tevékenységgel kapcsolatos e-mail értesítés letiltása." email_recruit_notes: "Álláslehetőségek" From f1c8983de2bfb73f424e9d0ff5a783767fe6ed16 Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Mon, 14 Jul 2014 08:40:36 -0700 Subject: [PATCH 5/9] Don't ask for team again if we already have a child window. --- app/templates/editor/level/edit.jade | 2 +- app/views/editor/level/edit.coffee | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/templates/editor/level/edit.jade b/app/templates/editor/level/edit.jade index d8e806903..c1f372e29 100644 --- a/app/templates/editor/level/edit.jade +++ b/app/templates/editor/level/edit.jade @@ -49,7 +49,7 @@ block header if level.get('type') === 'ladder' li.dropdown - a(data-toggle='dropdown') + a(data-toggle='dropdown').play-with-team-parent span.glyphicon-play.glyphicon ul.dropdown-menu li.dropdown-header Play As Which Team? diff --git a/app/views/editor/level/edit.coffee b/app/views/editor/level/edit.coffee index eb9e879c0..18bc8edf5 100644 --- a/app/views/editor/level/edit.coffee +++ b/app/views/editor/level/edit.coffee @@ -26,6 +26,7 @@ module.exports = class EditorLevelView extends View events: 'click #play-button': 'onPlayLevel' 'click .play-with-team-button': 'onPlayLevel' + 'click .play-with-team-parent': 'onPlayLevelTeamSelect' 'click #commit-level-start-button': 'startCommittingLevel' 'click #fork-level-start-button': 'startForkingLevel' 'click #level-history-button': 'showVersionHistory' @@ -77,6 +78,12 @@ module.exports = class EditorLevelView extends View @listenTo @patchesView, 'accepted-patch', -> location.reload() @$el.find('#level-watch-button').find('> span').toggleClass('secret') if @level.watching() + onPlayLevelTeamSelect: (e) -> + if @childWindow and not @childWindow.closed + # We already have a child window open, so we don't need to ask for a team; we'll use its existing team. + e.stopImmediatePropagation() + @onPlayLevel e + onPlayLevel: (e) -> team = $(e.target).data('team') sendLevel = => From 7446c9ee08398ac97ddb025561379bf4bd9f5092 Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Mon, 14 Jul 2014 09:38:55 -0700 Subject: [PATCH 6/9] Don't break as badly on long method names and small windows. Make sure we can always see the spell tool buttons. --- .../play/level/tome/spell_list_entry.sass | 17 +++++++++----- .../play/level/tome/spell_list_tab_entry.jade | 22 +++++++++---------- 2 files changed, 23 insertions(+), 16 deletions(-) diff --git a/app/styles/play/level/tome/spell_list_entry.sass b/app/styles/play/level/tome/spell_list_entry.sass index 8f8683c41..565330c7c 100644 --- a/app/styles/play/level/tome/spell_list_entry.sass +++ b/app/styles/play/level/tome/spell_list_entry.sass @@ -13,13 +13,14 @@ $childMargin: 2px $childSize: $height - 2 * $childMargin height: $height - width: 80% - width: -webkit-calc(100% - 100px) - width: calc(100% - 100px) + width: 90% + width: -webkit-calc(100% - 50px) + width: calc(100% - 50px) padding: 0px 8px border-width: 3px border-image: url(/images/level/code_editor_tab_background.png) 4 fill repeat - text-align: center + white-space: nowrap + position: relative &.read-only background: linear-gradient(to bottom, rgba(0,0,0,0.2) 0%,rgba(0,0,0,0.2) 100%), url(/images/level/code_editor_tab_background.png) @@ -34,6 +35,11 @@ .spell-list-button, .thang-avatar-wrapper float: left + .spell-tool-buttons + position: absolute + right: 0px + top: 0px + .reload-code float: right display: none @@ -66,6 +72,7 @@ code margin-top: 7px + font-size: 1vw .spell-list-entry-view:not(.spell-tab) cursor: pointer @@ -110,4 +117,4 @@ html.no-borderimage border-width: 0 border-image: none background: transparent url(/images/level/code_editor_tab_background.png) no-repeat - background-size: 100% 100% \ No newline at end of file + background-size: 100% 100% diff --git a/app/templates/play/level/tome/spell_list_tab_entry.jade b/app/templates/play/level/tome/spell_list_tab_entry.jade index 9199b8a48..d896baa5c 100644 --- a/app/templates/play/level/tome/spell_list_tab_entry.jade +++ b/app/templates/play/level/tome/spell_list_tab_entry.jade @@ -4,15 +4,15 @@ code #{methodSignature} -.btn.btn-small.fullscreen-code(title="Expand code editor") - i.icon-fullscreen - i.icon-resize-small - -.btn.btn-small.reload-code(title="Reload original code for " + spell.name) - i.icon-repeat +.spell-tool-buttons + .btn.btn-small.fullscreen-code(title="Expand code editor") + i.icon-fullscreen + i.icon-resize-small + + .btn.btn-small.reload-code(title="Reload original code for " + spell.name) + i.icon-repeat + + .btn.btn-small.beautify-code(title="Ctrl+Shift+B: Beautify code for " + spell.name) + i.icon-magnet -.btn.btn-small.beautify-code(title="Ctrl+Shift+B: Beautify code for " + spell.name) - i.icon-magnet - - -.clearfix \ No newline at end of file + .clearfix \ No newline at end of file From ae4a5eb4607ac02f5d5fa57385700d2970334353 Mon Sep 17 00:00:00 2001 From: Ruben Vereecken Date: Mon, 14 Jul 2014 18:52:23 +0200 Subject: [PATCH 7/9] Deduplicated bootstrap include --- app/styles/bootstrap.scss | 1 - config.coffee | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) delete mode 100644 app/styles/bootstrap.scss diff --git a/app/styles/bootstrap.scss b/app/styles/bootstrap.scss deleted file mode 100644 index 457a7ab36..000000000 --- a/app/styles/bootstrap.scss +++ /dev/null @@ -1 +0,0 @@ -@import "bootstrap/bootstrap"; \ No newline at end of file diff --git a/config.coffee b/config.coffee index 940a8e688..26c7687ca 100644 --- a/config.coffee +++ b/config.coffee @@ -64,7 +64,7 @@ exports.config = 'stylesheets/app.css': /^(app|vendor|bower_components)/ order: before: [ - 'app/styles/bootstrap.scss' + 'app/styles/bootstrap/*' 'vendor/styles/nanoscroller.scss' ] templates: From d7586025d9492c77e1cece1798394146427a67a6 Mon Sep 17 00:00:00 2001 From: Nick Winter Date: Mon, 14 Jul 2014 11:05:51 -0700 Subject: [PATCH 8/9] Improved behavior of lint/runtime/transpilation problem error alert showing when not in JS mode. --- app/lib/world/thang_state.coffee | 3 ++- app/views/play/level/tome/spell_view.coffee | 7 +++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/lib/world/thang_state.coffee b/app/lib/world/thang_state.coffee index c4a1a540b..330e75892 100644 --- a/app/lib/world/thang_state.coffee +++ b/app/lib/world/thang_state.coffee @@ -30,6 +30,7 @@ module.exports = class ThangState if type is 'Vector' @props.push value?.copy() # could try storing [x, y, z] or {x, y, z} here instead if this is expensive else if type is 'object' or type is 'array' + console.log 'storing', prop, 'as', value if prop is 'myTiles' @props.push clone(value, true) else @props.push value @@ -144,7 +145,7 @@ module.exports = class ThangState # We make sure the array keys won't collide with any string keys by using some unprintable characters. stringPieces = ['\x1D'] # Group Separator for element in value - if element and element.isThang + if element and element.id # Was checking element.isThang, but we can't store non-strings anyway element = element.id stringPieces.push element, '\x1E' # Record Separator(s) value = stringPieces.join('') diff --git a/app/views/play/level/tome/spell_view.coffee b/app/views/play/level/tome/spell_view.coffee index 745e3c9fe..f9f43da33 100644 --- a/app/views/play/level/tome/spell_view.coffee +++ b/app/views/play/level/tome/spell_view.coffee @@ -368,7 +368,7 @@ module.exports = class SpellView extends View # Now that that's figured out, perform the update. # The web worker Aether won't track state, so don't have to worry about updating it finishUpdatingAether = (aether) => - @displayAether aether + @displayAether aether, codeIsAsCast @lastUpdatedAetherSpellThang = @spellThang @guessWhetherFinished aether if fromCodeChange @@ -396,10 +396,9 @@ module.exports = class SpellView extends View @aceSession.setAnnotations [] @highlightCurrentLine {} # This'll remove all highlights - displayAether: (aether) -> + displayAether: (aether, isCast=false) -> @displayedAether = aether - isCast = not _.isEmpty(aether.metrics) or _.some aether.problems.errors, {type: 'runtime'} - isCast = isCast or @spell.language isnt 'javascript' # Since we don't have linting for other languages + isCast = isCast or not _.isEmpty(aether.metrics) or _.some aether.problems.errors, {type: 'runtime'} problem.destroy() for problem in @problems # Just in case another problem was added since clearAetherDisplay() ran. @problems = [] annotations = [] From 787920edc63b46d7cf32d4fd2bd08d468fe42231 Mon Sep 17 00:00:00 2001 From: Michael Schmatz Date: Mon, 14 Jul 2014 11:10:14 -0700 Subject: [PATCH 9/9] Update bower to fix tmp module issue --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index cba6e383e..cb317a6f4 100644 --- a/package.json +++ b/package.json @@ -84,7 +84,7 @@ "nodemon": "0.7.5", "marked": "0.2.x", "telepath-brunch": "https://github.com/nwinter/telepath-brunch/tarball/master", - "bower": "~1.2.8", + "bower": "~1.3.8", "bless-brunch": "~1.6.1", "karma-script-launcher": "~0.1.0", "karma-chrome-launcher": "~0.1.2",