Commit graph

538 commits

Author SHA1 Message Date
Scott Erickson
1b1bc4e95a Fixed adding thangs in the level editor, and moving them around. 2014-10-01 15:02:14 -07:00
Scott Erickson
e9222f34bd Merge branch 'master' of https://github.com/codecombat/codecombat 2014-10-01 13:26:45 -07:00
Scott Erickson
3205821ee9 Got the level editor mostly working again. 2014-10-01 13:26:38 -07:00
Nick Winter
0290db9cd4 Starting to try to get iPad to work during real-time playback. 2014-10-01 12:08:14 -07:00
Scott Erickson
bab7598ce0 Fixed an error wizard sprites were having. 2014-09-30 14:01:29 -07:00
Scott Erickson
ffdb2ef6b4 Fixed position updating for indie sprites. 2014-09-30 14:01:20 -07:00
Scott Erickson
c05cc1c0ad Fixed text box pointers being cut off from caching. 2014-09-30 14:00:47 -07:00
Scott Erickson
528383c0dc Undid the attempted optimization of having the normal stage update half as often. 2014-09-30 13:45:15 -07:00
Scott Erickson
90e21c6085 Did some more missed refactorings from sprite -> lank. 2014-09-30 13:44:03 -07:00
Scott Erickson
34cf6240c1 Refactored heroSprite -> heroLank, replaced a call to LankBoss.spriteFor with LankBoss.lankFor. 2014-09-30 13:41:42 -07:00
Scott Erickson
4a6e8018e4 Fixed choosing the first frame for segmented sprites. 2014-09-30 13:34:55 -07:00
Scott Erickson
b06cd12c5c Some more optimizations, this time in LankBoss update operations. 2014-09-29 11:47:12 -07:00
Scott Erickson
ce9a7e2ed4 Improved performance of the non-webgl stage. 2014-09-29 10:18:27 -07:00
Scott Erickson
326057a816 Fixed another bug from the refactoring. 2014-09-28 14:16:56 -07:00
Scott Erickson
b65b553f2d Fixed some tests broken from the refactoring. 2014-09-28 14:04:01 -07:00
Scott Erickson
f081d9ed4b Refactored CocoSprite -> Lank, lank.imageObject -> lank.sprite, SpriteBoss -> LankBoss, spriteLayers -> layerAdapters, sprite -> lank in general. Also got the ThangTypeEditView working again. 2014-09-28 14:00:48 -07:00
Scott Erickson
8adbd87401 Merge branch 'master' into feature/webgl 2014-09-28 10:38:19 -07:00
Scott Erickson
024cd9c955 Fixed a bunch of tests, and a child animations bug from the MovieClip pooling optimization. 2014-09-28 10:33:24 -07:00
Scott Erickson
6d595705f2 Made the placeholder color and shape different for each layer. 2014-09-26 16:15:44 -07:00
Scott Erickson
8234db333e Reenabled text events. 2014-09-26 15:57:24 -07:00
Scott Erickson
b89a6c41a7 Fixed the surface to not restore state until it's done dropping frames. 2014-09-26 15:23:27 -07:00
Scott Erickson
332f4700f6 Fixed the mark toggle equivalency check. This bug was causing the target mark to be turned on repeatedly. 2014-09-26 15:22:46 -07:00
Scott Erickson
f0e879295c Set back up debug marks. 2014-09-26 14:09:44 -07:00
Scott Erickson
f21083acf5 Set back up highlight mark. 2014-09-26 13:58:35 -07:00
Scott Erickson
2505f50eec Set back up selection and target marks. 2014-09-26 13:45:11 -07:00
Scott Erickson
5b9c7dc8a7 Removed layer's cache function (wasn't used before webgl factoring anyway?). Removed TRANSFORM_CHILD layer transform setting. 2014-09-26 13:02:01 -07:00
Scott Erickson
37e9d7bb2d Enabled the Surface's normalStage and all its layers. 2014-09-26 12:45:27 -07:00
Scott Erickson
c1e7423a64 Fixed sprite coloring and the thangtype-not-yet-loaded placeholder. 2014-09-26 12:17:46 -07:00
Scott Erickson
6f45eee81d Fixed registration points for scaled raster image thang types. 2014-09-26 11:33:07 -07:00
Scott Erickson
be805ff3c1 Update scale and rotation after playing a new action, since with segmented sprites that often means a new image object. 2014-09-26 11:25:36 -07:00
Scott Erickson
627c56dbb5 Fixed mouse scrolling. Fixed SpriteStage scaling (scale the layers instead). Added spriteType to the ThangType schema. 2014-09-26 11:07:01 -07:00
Nick Winter
b7d2bcd222 Decreased severity of camera jerkiness during real-time playback. 2014-09-25 15:01:06 -07:00
Scott Erickson
8aeb6555ec Added MovieClip pooling, improving WebGL performance. 2014-09-25 14:48:17 -07:00
Scott Erickson
14f3fb6486 Fixed one last instance of cocoSprite using its resolutionFactor value. 2014-09-25 14:03:44 -07:00
Scott Erickson
4b87607599 Fixed animations where the frame stays the same for periods of time. 2014-09-25 13:26:05 -07:00
Scott Erickson
d77b87ed22 Fixed raster thang types, and level destruction. 2014-09-25 13:12:47 -07:00
Scott Erickson
10314b8bfa Fixed sprites often disappearing when idle. 2014-09-25 12:43:51 -07:00
Scott Erickson
d4b1849eaf Fixed one other little thing. 2014-09-25 12:22:33 -07:00
Scott Erickson
8fe2ed4438 Resolved conflicts. 2014-09-25 10:52:36 -07:00
Scott Erickson
06b106f42b Merged from master. 2014-09-25 10:52:27 -07:00
Scott Erickson
c7e7066aef Migrating surface to webgl. It sorta works! 2014-09-25 10:47:53 -07:00
Nick Winter
9fc7fca528 Hooked up real-time playback music. 2014-09-25 10:30:43 -07:00
Nick Winter
9ea24f4c74 Added a workaround for Surface resize failure on realtime playback end that Maksym had seen. 2014-09-25 09:48:14 -07:00
Nick Winter
2aa274cb2d Fixed bugs with Surface fast-forwarding too fast on short levels and rewinding non-instantaneously when rerunning. 2014-09-24 22:07:55 -07:00
Nick Winter
b2592aad8c Fixed more off-by-one errors in playback ratios. Fixed some clickability problems with the scrubber handle. 2014-09-24 21:01:58 -07:00
Nick Winter
b8d59cb179 Fixed a bug with playback never quite getting to the end. 2014-09-24 20:25:30 -07:00
Scott Erickson
358b36c1bf Set up custom graphics to be copied from old spritesheets when possible as well. 2014-09-24 18:47:10 -07:00
Scott Erickson
fb30f07f2e Re-enabled effect marks. 2014-09-24 18:42:04 -07:00
Scott Erickson
91f33e49dc Re-enabled shadows. 2014-09-24 17:52:44 -07:00
Scott Erickson
7f90ed18cc Bunch more work on scaling for everything and hit testing for segmented sprites. Also got health bars working again. 2014-09-24 16:53:38 -07:00
Scott Erickson
6669a01c14 Got rid of some cache functions. Set up area of effect animations in the new spriteSheet system. 2014-09-24 12:08:55 -07:00
Scott Erickson
c49f894ef2 Refactored SPRITE_PLACEHOLDER_RADIUS to SPRITE_PLACEHOLDER_WIDTH. 2014-09-24 10:55:33 -07:00
Scott Erickson
2cbe498f9a Fixed scaling for singular sprites for all cases. 2014-09-24 09:37:49 -07:00
Nick Winter
8d6b23274b Zoom in on hero during real-time playback. 2014-09-23 22:10:18 -07:00
Nick Winter
5397c51819 Fixed world-threatening typo. 2014-09-23 18:59:08 -07:00
Nick Winter
019f634d9f Respecting coordinates setting. 2014-09-23 18:39:52 -07:00
Scott Erickson
16cb596a12 Set up scaling and mouse events for segmented sprites with container actions. 2014-09-23 12:08:50 -07:00
Scott Erickson
5de5d5658e Working on SegmentedSprite mouse events, hit tests and scaling. 2014-09-23 11:37:05 -07:00
Nick Winter
8640369b26 Improved solidity of victory modal. Fixed error with empty sound groups in Thang editor. 2014-09-22 21:50:48 -07:00
Nick Winter
42b52f5593 No more ThangListView for hero levels. Fixed pluralization of level loading goals when there's only one goal. Fixed default playback state to paused. Started playing ambient dungeon/grass sounds. Fixed bug with goals not showing up at first. Refactored how goals, gold, and flags hide themselves initially. Ignored InventoryView ThangTypes when sorting Components during level serialization. 2014-09-21 22:10:52 -07:00
Nick Winter
6cb8a2a019 Hero always centered in camera in new hero levels when playing and not panning to drag. 2014-09-21 20:49:45 -07:00
Nick Winter
949f4594af Showing goals on level loading view. 2014-09-21 15:52:49 -07:00
Nick Winter
0d495ba36e Press Start to begin playing levels. Fixed #1574. 2014-09-21 14:35:59 -07:00
Scott Erickson
39b6b9ef84 Couple remaining refactoring tidbits for the new LayerAdapter. 2014-09-19 15:46:37 -07:00
Scott Erickson
3b7ce76d7d Refactored WebGLLayer and SpriteContainerLayer/ContainerLayer into a single LayerAdapter class that has a Container or SpriteContainer. 2014-09-19 15:46:02 -07:00
Scott Erickson
cc7c65115c Renamed WebGLLayer to LayerAdapter. 2014-09-19 14:59:29 -07:00
Scott Erickson
fbbfb6c0cc Refactored WebGLSprite to SegmentedSprite and SingularSprite, and refactored renderStrategy (container/spriteSheet) to spriteType (segmented/singular). 2014-09-19 14:56:40 -07:00
Scott Erickson
3c9b40e8f4 Set up placeholders for when WebGLSprites don't have their raw data built yet. Not finished yet because of scaling, but will come back to it... Got some refactoring to do first. 2014-09-19 13:50:14 -07:00
Scott Erickson
a99cdfb957 WebGLLayer now recycles previous sprite sheets, speeding up rendering additional thang types or animations. 2014-09-18 14:36:05 -07:00
Scott Erickson
cc76458942 Normalized the container renderStrategy resolution so that both renderStrategies are the same. 2014-09-18 13:18:44 -07:00
Scott Erickson
c7279e68a8 The whole WebGL system now dynamically renders needed frames when actions it doesn't support get activated. 2014-09-18 12:19:52 -07:00
Scott Erickson
0404b94e5e WebGLSprites of all types no longer display anything at all if their required data hasn't been rendered. 2014-09-18 11:56:49 -07:00
Scott Erickson
b1784a1207 Had apparently switched the SpriteBoss tests to use a regular Stage instead of a SpriteStage. Switched it back, and fixed a subsequent bug with the Layer responding to Camera events (apparently SpriteStage does not take regX/Y or scaleX/Y into account). 2014-09-18 11:12:18 -07:00
Scott Erickson
0b948d4a1e Got the SpriteBoss to handle removing sprites again. 2014-09-18 10:03:13 -07:00
Scott Erickson
f77f229b09 Fixed rotation not being updated after a new SpriteSheet is built. 2014-09-18 09:03:33 -07:00
Scott Erickson
5fe9a02c06 WebGLLayer now re-renders itself at a lower resolution if it's too big. 2014-09-17 17:08:24 -07:00
Scott Erickson
61a25c5693 Merged conflicts. 2014-09-17 16:53:12 -07:00
Scott Erickson
5af1741333 Merged conflicts. 2014-09-17 16:53:08 -07:00
Scott Erickson
dd81d1d5bc Container renderings are now dependent on resolution. 2014-09-17 16:49:31 -07:00
Scott Erickson
dbfbddeb5d Added a test to make sure the WebGLLayer ended up with the right number of children after multiple renderings. Fixed something that was breaking WebGLLayer and WebGLSprite tests. 2014-09-17 16:06:23 -07:00
Scott Erickson
7387248ffd Initial integration of SpriteBoss with the WebGLLayer and all else. 2014-09-17 15:47:25 -07:00
Nick Winter
d96d0d65f3 Thang config edits are saved while the edit view is up. Dead Thangs don't display their names. Enter now finalizes Thang name/type edits. 2014-09-16 21:43:03 -07:00
Nick Winter
1f71a1eaf9 Fixes for loading level previews early, creating new Components, and showing names of ShowsNames Thangs. 2014-09-16 20:19:52 -07:00
Nick Winter
687da38667 Made some performance optimizations that all relate to messing with walls in the level editor. 2014-09-16 17:31:00 -07:00
Scott Erickson
1ef3d150a8 Integrated WebGLLayer and WebGLSprite with CocoSprite.
Disabled some features in CocoSprite that'll have to be added back later.
Moved more logic from CocoSprite, like determining registration points for a given animation, to WebGLSprite.
WebGLSprite can now display either rendering containers or SpriteSheets.
2014-09-16 15:36:59 -07:00
Nick Winter
89aa930803 Fixed WorldSelectModal scale; added an easy way to restrict flexible regions to a fixed ratio. 2014-09-15 15:38:07 -07:00
Scott Erickson
9ba11e2354 Got the WebGLSprite to work with nested MovieClips. 2014-09-15 15:08:02 -07:00
Scott Erickson
a633f6f82f Built most of the WebGLSprite. 2014-09-15 13:53:20 -07:00
Scott Erickson
c96f5d7bcf Merge branch 'master' into feature/webgl 2014-09-12 16:33:39 -07:00
Scott Erickson
08bdcb2cb6 Built the WebGLLayer which creates sprite sheets based on what CocoSprites are given to it. 2014-09-12 16:33:01 -07:00
Nick Winter
e9968b648f Fixed bugs with click coordinates messing up mouse-down targeting. 2014-09-11 13:05:31 -07:00
Nick Winter
68808d0e07 Some fixes for how audio is triggered. 2014-09-11 08:38:30 -07:00
Nick Winter
2f07c3e8d3 Adding communication with iPad app. 2014-09-06 19:50:31 -07:00
Scott Erickson
64ea670ebd Reorganized the Surface into groupings. Changed no logic, just shuffled things around. 2014-09-05 09:21:00 -07:00
Nick Winter
d3eb7a7438 Fixed a few issues with real-time multiplayer flags. 2014-09-04 20:10:04 -07:00
Nick Winter
35f22e0f8c Fixed a few tome / canvas resizing bugs. 2014-09-03 18:35:14 -07:00
Nick Winter
6b6c8dd683 Merged master into feature/realtime-multiplayer; looks good. 2014-09-03 16:14:33 -07:00
Scott Erickson
c70ffbeef5 Fixed onBackground for surface:stage-mouse-down events. 2014-09-02 16:42:03 -07:00
Scott Erickson
55bac798ee Cleared out the thangs tab view mobile handling and just made the left and right columns toggleable all the time. The surface now fills the whole width. 2014-09-02 15:33:23 -07:00
Nick Winter
72eb59b7c3 Fixed a few bugs. 2014-09-01 16:14:50 -07:00
Nick Winter
040ac4ff4e Fixed bug with black flashes during script playback. 2014-08-31 16:05:21 -07:00
Nick Winter
1329d31a63 Hot-swapping inventory works now. 2014-08-31 16:05:20 -07:00
Matt Lott
437ab0feb2 PVP waiting screen in real-time view 2014-08-29 21:46:26 -07:00
Nick Winter
5503b3a2bc Fixed #1147. 2014-08-29 17:03:02 -07:00
Nick Winter
0fa5d264f4 Fixed #1072 by raising selection state so that we can see it if we're selecting an obstacle. 2014-08-28 14:25:37 -07:00
Nick Winter
f79a2848fd Fixed #1038. Focus should now remain on code editor when after clicking on Surface. 2014-08-28 14:00:54 -07:00
Nick Winter
1094d09aa5 Fixed #1226. Fixed #1156. Fixed two other issues with spectate mode. 2014-08-28 11:23:52 -07:00
Nick Winter
ec6b3d7e5f Fixed #1481. More Mediator schema fixes. 2014-08-28 09:27:42 -07:00
Nick Winter
cd3bf4d0db Fixed a few bugs. 2014-08-27 18:05:18 -07:00
Nick Winter
92b29915e2 Finished fixing #841. 2014-08-27 17:26:56 -07:00
Nick Winter
ee9e453896 Fixed #828. Added many other minor refactorings. 2014-08-27 12:24:11 -07:00
Nick Winter
a5c18a4140 Fixed #453. 2014-08-26 15:22:13 -07:00
Nick Winter
7300c4b3b8 Finished removing grid from playback options menu. 2014-08-26 14:00:03 -07:00
Nick Winter
35b107cf58 Refactored grid. Fixed #158. 2014-08-26 13:56:57 -07:00
Nick Winter
3e9adf6b1a Fixed issue with IndieSprites no longer coloring properly. 2014-08-26 12:39:30 -07:00
Nick Winter
898bb69477 Added missing Countdown Screen file. 2014-08-26 08:18:06 -07:00
Nick Winter
e666ee1dac Added stop playback button and real-time countdown screen. 2014-08-25 22:05:30 -07:00
Nick Winter
6fb0073eae Fixed harmless Wizard startup animation error. 2014-08-25 16:15:34 -07:00
Nick Winter
e48b218533 Projected models can now update their projections and re-fetch. Hero ThangTypes now do this. 2014-08-25 15:39:47 -07:00
Nick Winter
9df0cfb93f A few changes to flags UX. 2014-08-25 14:02:23 -07:00
Nick Winter
718d586f07 A ton of misc bug fixes and performance improvements, getting ready to merge world streaming and flags back in. 2014-08-24 21:39:34 -07:00
Nick Winter
1a7e4554f0 Fixed a few minor bugs. 2014-08-24 16:48:59 -07:00
Nick Winter
3125c2b129 Add flag cursor and pending flags. 2014-08-24 16:09:06 -07:00
Nick Winter
f44d802934 Fixed a couple bugs. Flags are now colored. 2014-08-24 12:33:46 -07:00
Nick Winter
be07f9cfb9 Many improvements to real-time streaming and flags. 2014-08-23 22:24:00 -07:00
Nick Winter
2dca4d72fc Rudimentary flag buttons are in. 2014-08-23 19:00:35 -07:00
Nick Winter
f59084e651 Sending flag history to the World for to make flag Thangs during simulation. 2014-08-23 17:26:56 -07:00
Nick Winter
c79541f669 Full-screen playback during real-time mode. 2014-08-23 13:54:52 -07:00
Nick Winter
0431f70954 Improved Surface playback fast-forwarding. 2014-08-23 09:52:05 -07:00
Nick Winter
9c0869e566 Press Ctrl+Shift+Enter to cast in real-time, and click on the ground to use your wizard as a flag. OMG, it not only works, but it is really fun! 2014-08-22 21:35:08 -07:00
Nick Winter
6fee881efd Fixed a few more issues with playback. 2014-08-22 17:11:40 -07:00
Nick Winter
ee41796b73 Fixed some wonkiness with the playback scrubbing while streaming worlds. 2014-08-22 15:32:23 -07:00
Nick Winter
92f0a68dd1 World streaming is getting there! 2014-08-22 14:59:32 -07:00
Nick Winter
611ecbf470 Fixed many issues with world streaming. 2014-08-22 12:39:29 -07:00
Nick Winter
9b31e28536 More improvements to world streaming. 2014-08-21 21:23:45 -07:00
Nick Winter
bd380e4a09 World streaming is starting to work! 2014-08-21 17:30:46 -07:00
Nick Winter
d55afa77b7 Began streaming a mighty stream. 2014-08-21 16:27:52 -07:00
Nick Winter
3755cb9d66 Fixed some bugs with sprite layer ordering. 2014-08-20 18:57:33 -07:00
Nick Winter
df7f1b2b9b Now have 'free' rotationType, equivalent to previous default of undefined. 2014-08-19 22:33:33 -07:00
Nick Winter
def4d01c8e Starting to let us control the size of the achievements popup, although much more Sass math is needed. 2014-08-19 19:21:36 -07:00
Nick Winter
8ca9374de0 Zoom-aware, ratio-based edge avoidance (polish for #1448). 2014-08-18 14:08:54 -07:00
Pete DiSalvo
a011f118e3 Added CoordinateDisplay edge detection. Doesn't account for camera zoom. 2014-08-16 18:51:47 -04:00
Pete DiSalvo
eed68c0a1c Working orientation. Doesn't account for camera zoom 2014-08-16 18:30:41 -04:00
Pete DiSalvo
31e609c0c8 Added edge detection to camera, and worked on orientations 2014-08-16 18:30:41 -04:00
Pete DiSalvo
dc7529344c Working on orientation 2014-08-16 18:30:41 -04:00
Pete DiSalvo
8f6d162542 Beginning work on edge detection 2014-08-16 18:30:41 -04:00
Nick Winter
9a5cd22069 Can now equip items added from inventory on the Surface side. Sorted out ThangTypes' Components schema defaults and ordering when serializing Levels. 2014-08-11 16:15:46 -07:00
Nick Winter
31d7e641e6 Fixes for equipping items and adding them to the World. 2014-08-11 11:04:38 -07:00
Nick Winter
706ab7a251 Trying to get item ThangType nodes and inventory loading working. 2014-08-10 22:09:13 -07:00
Nick Winter
852dabc17a Fixes for item equipping, Component saving, and terrain randomization wall snapping/overlap avoidance. 2014-08-06 07:43:56 -07:00