From: <js...@us...> - 2011-06-12 20:57:21
|
Revision: 6964 http://exult.svn.sourceforge.net/exult/?rev=6964&view=rev Author: jsf Date: 2011-06-12 20:57:15 +0000 (Sun, 12 Jun 2011) Log Message: ----------- Working on zoom. Modified Paths: -------------- ExultAndroid/src/com/exult/android/Conversation.java ExultAndroid/src/com/exult/android/DraggingInfo.java ExultAndroid/src/com/exult/android/ExultActivity.java ExultAndroid/src/com/exult/android/GameWindow.java ExultAndroid/src/com/exult/android/Shortcuts.java ExultAndroid/src/com/exult/android/UsecodeIntrinsics.java Modified: ExultAndroid/src/com/exult/android/Conversation.java =================================================================== --- ExultAndroid/src/com/exult/android/Conversation.java 2011-06-12 02:57:15 UTC (rev 6963) +++ ExultAndroid/src/com/exult/android/Conversation.java 2011-06-12 20:57:15 UTC (rev 6964) @@ -152,6 +152,7 @@ Palette pal = gwin.getPal(); // Watch for weirdness (lightning). if (pal.getBrightness() >= 300) pal.set(-1, 100, null); + Shortcuts.clearZoom(); // Get screen dims. int screenw = gwin.getWidth(), screenh = gwin.getHeight(); NpcFaceInfo info = null; Modified: ExultAndroid/src/com/exult/android/DraggingInfo.java =================================================================== --- ExultAndroid/src/com/exult/android/DraggingInfo.java 2011-06-12 02:57:15 UTC (rev 6963) +++ ExultAndroid/src/com/exult/android/DraggingInfo.java 2011-06-12 20:57:15 UTC (rev 6964) @@ -542,7 +542,7 @@ // On an egg? chunk.activateEggs(to_drop, tx, ty, lift, tx, ty, false); if (to_drop == gwin.getMainActor()) { - gwin.centerView(to_drop.getTileX(), to_drop.getTileY()); + gwin.centerView(to_drop.getTileX(), to_drop.getTileY(), to_drop.getLift()); gwin.paint(); } return (1); Modified: ExultAndroid/src/com/exult/android/ExultActivity.java =================================================================== --- ExultAndroid/src/com/exult/android/ExultActivity.java 2011-06-12 02:57:15 UTC (rev 6963) +++ ExultAndroid/src/com/exult/android/ExultActivity.java 2011-06-12 20:57:15 UTC (rev 6964) @@ -164,6 +164,10 @@ button.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Shortcuts.feed();} }); + button = (Button) findViewById(R.id.zoom_button); + button.setOnClickListener(new View.OnClickListener() { + public void onClick(View v) { Shortcuts.zoom();} + }); } public static void quit() { instance.finish(); Modified: ExultAndroid/src/com/exult/android/GameWindow.java =================================================================== --- ExultAndroid/src/com/exult/android/GameWindow.java 2011-06-12 02:57:15 UTC (rev 6963) +++ ExultAndroid/src/com/exult/android/GameWindow.java 2011-06-12 20:57:15 UTC (rev 6964) @@ -624,9 +624,10 @@ } public final void centerView(Tile t) { // OFFSET HERE + int zoff = t.tz/2; int tw = getWidth()/EConst.c_tilesize, th = (getHeight())/EConst.c_tilesize; - setScrolls(EConst.DECR_TILE(t.tx, tw/2), EConst.DECR_TILE(t.ty, th/2)); + setScrolls(EConst.DECR_TILE(t.tx, tw/2 + zoff), EConst.DECR_TILE(t.ty, th/2 + zoff)); setAllDirty(); } public boolean scrollIfNeeded(Tile t) { @@ -656,9 +657,9 @@ return scrollIfNeeded(t); } // Center around given tile pos. - public void centerView(int tx, int ty) { + public void centerView(int tx, int ty, int tz) { int tw = win.getWidth()/EConst.c_tilesize, th = (win.getHeight())/EConst.c_tilesize; - setScrolls(EConst.DECR_TILE(tx, tw/2), EConst.DECR_TILE(ty, th/2)); + setScrolls(EConst.DECR_TILE(tx, tw/2 + tz/2), EConst.DECR_TILE(ty, th/2 + tz/2)); setAllDirty(); } /* @@ -764,7 +765,7 @@ } // Re-center around camera actor. public void setCenter() { - centerView(cameraActor.getTileX(), cameraActor.getTileY()); + centerView(cameraActor.getTileX(), cameraActor.getTileY(), cameraActor.getLift()); setAllDirty(); } /* @@ -1433,7 +1434,7 @@ if (bodies != null) bodies.setSize(numNpcs); int i; - centerView(mainActor.getTileX(), mainActor.getTileY()); + centerView(mainActor.getTileX(), mainActor.getTileY(), mainActor.getLift()); for (i = 1; i < numNpcs; i++) { // Create the rest. Actor actor = new NpcActor("", 0); npcs.set(i, actor); @@ -1475,7 +1476,7 @@ setMovingBarge(b); } readSchedules(); // Now get their schedules. - centerView(mainActor.getTileX(), mainActor.getTileY()); + centerView(mainActor.getTileX(), mainActor.getTileY(), mainActor.getLift()); } /* * Read in offsets. When done, file is set to start of script names (if Modified: ExultAndroid/src/com/exult/android/Shortcuts.java =================================================================== --- ExultAndroid/src/com/exult/android/Shortcuts.java 2011-06-12 02:57:15 UTC (rev 6963) +++ ExultAndroid/src/com/exult/android/Shortcuts.java 2011-06-12 20:57:15 UTC (rev 6964) @@ -80,15 +80,23 @@ } private static int zoomCount = 0; public static void zoom() { - ImageBuf win = gwin.getWin(); - if (zoomCount == 2) { // Cycle back to full size. + synchronized(win) { + if (zoomCount == 2) { // Cycle back to full size. + zoomCount = 0; + win.setSize(EConst.c_game_w, EConst.c_game_h); + } else { + ++zoomCount; + win.setSize(win.getWidth()/2, win.getHeight()/2); + } + } + gwin.setCenter(); + } + public static void clearZoom() { + if (zoomCount > 0) { zoomCount = 0; win.setSize(EConst.c_game_w, EConst.c_game_h); - } else { - ++zoomCount; - win.setSize(win.getWidth()/2, win.getHeight()/2); + gwin.setCenter(); } - gwin.setCenter(); } public static void save() { new NewFileGump(); Modified: ExultAndroid/src/com/exult/android/UsecodeIntrinsics.java =================================================================== --- ExultAndroid/src/com/exult/android/UsecodeIntrinsics.java 2011-06-12 02:57:15 UTC (rev 6963) +++ ExultAndroid/src/com/exult/android/UsecodeIntrinsics.java 2011-06-12 20:57:15 UTC (rev 6964) @@ -1121,7 +1121,7 @@ // Make new loc. visible, test eggs. if (map != -1) gwin.setMap(map); - gwin.centerView(tile.tx, tile.ty); + gwin.centerView(tile.tx, tile.ty, tile.tz); MapChunk.tryAllEggs(ava, tile.tx, tile.ty, tile.tz, oldX, oldY); // Close? Add to 'nearby' list. @@ -1353,7 +1353,7 @@ gwin.setInDungeon(save_dungeon); // BG orrery viewer needs this because it also calls UI_view_tile: Actor a = gwin.getMainActor(); - gwin.centerView(a.getTileX(), a.getTileY()); + gwin.centerView(a.getTileX(), a.getTileY(), a.getLift()); if ((newmap != -1) && (newmap != oldmap)) gwin.setMap(oldmap); gwin.paint(); // Repaint normal area. @@ -1370,7 +1370,7 @@ gwin.wizardEye = false; synchronized (gwin.getWin()) { Actor a = gwin.getMainActor(); - gwin.centerView(a.getTileX(), a.getTileY()); + gwin.centerView(a.getTileX(), a.getTileY(), a.getLift()); } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |