summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Appert <dappert>2010-11-07 01:35:27 +0000
committerDamien Appert <dappert>2010-11-07 01:35:27 +0000
commit06742f5f2cc4eed2f3ad3ae44c2544fbf8215e8e (patch)
tree5b6bb8378cf5306af69d19c28e219e59fb87dc32
parentbb8d3f0f67234d333dcce265dbc3b1f844c8f4bc (diff)
download2010-netlemmings-06742f5f2cc4eed2f3ad3ae44c2544fbf8215e8e.tar.gz
2010-netlemmings-06742f5f2cc4eed2f3ad3ae44c2544fbf8215e8e.tar.bz2
2010-netlemmings-06742f5f2cc4eed2f3ad3ae44c2544fbf8215e8e.zip
modif lemmini + FNI.c
git-svn-id: file:///var/svn/2010-netlemmings/trunk@142 077b3477-7977-48bd-8428-443f22f7bfda
-rw-r--r--jeu-test/Lemmini/.metadata/.log277
-rw-r--r--jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.resources/.projects/0.84/.markersbin1253 -> 698 bytes
-rw-r--r--jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.resources/.projects/0.84/org.eclipse.jdt.core/state.datbin47114 -> 47408 bytes
-rw-r--r--jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.indexbin151 -> 151 bytes
-rw-r--r--jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resourcesbin752 -> 1115 bytes
-rw-r--r--jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs3
-rw-r--r--jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs10
-rw-r--r--jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.launching.prefs4
-rw-r--r--jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs25
-rw-r--r--jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs4
-rw-r--r--jeu-test/Lemmini/.metadata/.plugins/org.eclipse.debug.ui/dialog_settings.xml13
-rw-r--r--jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.core/1902154957.indexbin74744 -> 74863 bytes
-rw-r--r--jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStampsbin580 -> 580 bytes
-rw-r--r--jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCachebin508 -> 508 bytes
-rw-r--r--jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt20
-rw-r--r--jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.datbin1155 -> 1180 bytes
-rw-r--r--jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.launching/libraryInfos.xml60
-rw-r--r--jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml5
-rw-r--r--jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml105
-rw-r--r--jeu-test/Lemmini/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml4
-rw-r--r--jeu-test/Lemmini/.metadata/.plugins/org.eclipse.ui.workbench/workbench.xml418
-rw-r--r--jeu-test/Lemmini/0.84/src/Game/GameController.java11
-rw-r--r--jeu-test/Lemmini/0.84/src/Game/Level.java346
-rw-r--r--jeu-test/Lemmini/0.84/src/Lemmini.java987
-rw-r--r--level/3_test/lvl2009.ini898
-rw-r--r--sdl-test/SDL_tuto/TestParserLemmingsLVL/fonctions_non_integrees.c97
-rw-r--r--sdl-test/SDL_tuto/TestParserLemmingsLVL/parse_ini.yy106
27 files changed, 2186 insertions, 1207 deletions
diff --git a/jeu-test/Lemmini/.metadata/.log b/jeu-test/Lemmini/.metadata/.log
index 494d5ba..7b068f1 100644
--- a/jeu-test/Lemmini/.metadata/.log
+++ b/jeu-test/Lemmini/.metadata/.log
@@ -158,3 +158,280 @@ java.lang.ClassFormatError: Unknown constant tag 116 in class file org/eclipse/e
at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:445)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)
+!SESSION 2010-11-06 20:26:40.339 -----------------------------------------------
+eclipse.buildId=
+java.version=1.6.0_20
+java.vendor=Sun Microsystems Inc.
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=fr_FR
+Framework arguments: -product org.eclipse.epp.package.java.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2010-11-06 20:26:42.354
+!MESSAGE
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+ at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:806)
+ at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
+ at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:352)
+ at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:370)
+ at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1068)
+ at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:557)
+ at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:464)
+ at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:248)
+ at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:445)
+ at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
+ at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)
+Caused by: java.lang.NullPointerException
+ at org.eclipse.equinox.internal.p2.reconciler.dropins.PlatformXmlListener.getMatchingRepo(PlatformXmlListener.java:156)
+ at org.eclipse.equinox.internal.p2.reconciler.dropins.PlatformXmlListener.synchronizeConfiguration(PlatformXmlListener.java:188)
+ at org.eclipse.equinox.internal.p2.reconciler.dropins.PlatformXmlListener.stopPoll(PlatformXmlListener.java:131)
+ at org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryWatcher.stopPoll(DirectoryWatcher.java:172)
+ at org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryWatcher.poll(DirectoryWatcher.java:109)
+ at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchConfiguration(Activator.java:472)
+ at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:169)
+ at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
+ at java.security.AccessController.doPrivileged(Native Method)
+ at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
+ ... 10 more
+Root exception:
+java.lang.NullPointerException
+ at org.eclipse.equinox.internal.p2.reconciler.dropins.PlatformXmlListener.getMatchingRepo(PlatformXmlListener.java:156)
+ at org.eclipse.equinox.internal.p2.reconciler.dropins.PlatformXmlListener.synchronizeConfiguration(PlatformXmlListener.java:188)
+ at org.eclipse.equinox.internal.p2.reconciler.dropins.PlatformXmlListener.stopPoll(PlatformXmlListener.java:131)
+ at org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryWatcher.stopPoll(DirectoryWatcher.java:172)
+ at org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryWatcher.poll(DirectoryWatcher.java:109)
+ at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchConfiguration(Activator.java:472)
+ at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:169)
+ at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
+ at java.security.AccessController.doPrivileged(Native Method)
+ at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
+ at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
+ at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:352)
+ at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:370)
+ at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1068)
+ at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:557)
+ at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:464)
+ at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:248)
+ at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:445)
+ at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
+ at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)
+
+!ENTRY org.eclipse.ui.workbench 2 0 2010-11-06 20:26:54.617
+!MESSAGE A handler conflict occurred. This may disable some commands.
+!SUBENTRY 1 org.eclipse.ui.workbench 2 0 2010-11-06 20:26:54.618
+!MESSAGE Conflict for 'AUTOGEN:::com.soyatec.uml.std.ui.check.diagram/com.soyatec.uml.std.ui.actions.check.diagram':
+HandlerActivation(commandId=AUTOGEN:::com.soyatec.uml.std.ui.check.diagram/com.soyatec.uml.std.ui.actions.check.diagram,
+ handler=ActionDelegateHandlerProxy(null,com.soyatec.uml.std.external.UMLCheckDiagramAction),
+ expression=WorkbenchWindowExpression(org.eclipse.ui.internal.WorkbenchWindow@968e429),sourcePriority=16384)
+HandlerActivation(commandId=AUTOGEN:::com.soyatec.uml.std.ui.check.diagram/com.soyatec.uml.std.ui.actions.check.diagram,
+ handler=ActionDelegateHandlerProxy(null,com.soyatec.uml.std.external.UMLCheckDiagramAction),
+ expression=WorkbenchWindowExpression(org.eclipse.ui.internal.WorkbenchWindow@968e429),sourcePriority=16384)
+!SESSION 2010-11-06 21:11:12.484 -----------------------------------------------
+eclipse.buildId=
+java.version=1.6.0_22
+java.vendor=Sun Microsystems Inc.
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=fr_FR
+Framework arguments: -product org.eclipse.epp.package.java.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2010-11-06 21:11:15.152
+!MESSAGE
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+ at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:806)
+ at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
+ at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:352)
+ at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:370)
+ at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1068)
+ at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:557)
+ at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:464)
+ at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:248)
+ at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:445)
+ at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
+ at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)
+Caused by: java.lang.NullPointerException
+ at org.eclipse.equinox.internal.p2.reconciler.dropins.PlatformXmlListener.getMatchingRepo(PlatformXmlListener.java:156)
+ at org.eclipse.equinox.internal.p2.reconciler.dropins.PlatformXmlListener.synchronizeConfiguration(PlatformXmlListener.java:188)
+ at org.eclipse.equinox.internal.p2.reconciler.dropins.PlatformXmlListener.stopPoll(PlatformXmlListener.java:131)
+ at org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryWatcher.stopPoll(DirectoryWatcher.java:172)
+ at org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryWatcher.poll(DirectoryWatcher.java:109)
+ at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchConfiguration(Activator.java:472)
+ at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:169)
+ at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
+ at java.security.AccessController.doPrivileged(Native Method)
+ at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
+ ... 10 more
+Root exception:
+java.lang.NullPointerException
+ at org.eclipse.equinox.internal.p2.reconciler.dropins.PlatformXmlListener.getMatchingRepo(PlatformXmlListener.java:156)
+ at org.eclipse.equinox.internal.p2.reconciler.dropins.PlatformXmlListener.synchronizeConfiguration(PlatformXmlListener.java:188)
+ at org.eclipse.equinox.internal.p2.reconciler.dropins.PlatformXmlListener.stopPoll(PlatformXmlListener.java:131)
+ at org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryWatcher.stopPoll(DirectoryWatcher.java:172)
+ at org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryWatcher.poll(DirectoryWatcher.java:109)
+ at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchConfiguration(Activator.java:472)
+ at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:169)
+ at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
+ at java.security.AccessController.doPrivileged(Native Method)
+ at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
+ at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
+ at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:352)
+ at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:370)
+ at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1068)
+ at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:557)
+ at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:464)
+ at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:248)
+ at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:445)
+ at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
+ at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)
+
+!ENTRY org.eclipse.ui.workbench 2 0 2010-11-06 21:11:31.236
+!MESSAGE A handler conflict occurred. This may disable some commands.
+!SUBENTRY 1 org.eclipse.ui.workbench 2 0 2010-11-06 21:11:31.237
+!MESSAGE Conflict for 'AUTOGEN:::com.soyatec.uml.std.ui.check.diagram/com.soyatec.uml.std.ui.actions.check.diagram':
+HandlerActivation(commandId=AUTOGEN:::com.soyatec.uml.std.ui.check.diagram/com.soyatec.uml.std.ui.actions.check.diagram,
+ handler=ActionDelegateHandlerProxy(null,com.soyatec.uml.std.external.UMLCheckDiagramAction),
+ expression=WorkbenchWindowExpression(org.eclipse.ui.internal.WorkbenchWindow@246ce26e),sourcePriority=16384)
+HandlerActivation(commandId=AUTOGEN:::com.soyatec.uml.std.ui.check.diagram/com.soyatec.uml.std.ui.actions.check.diagram,
+ handler=ActionDelegateHandlerProxy(null,com.soyatec.uml.std.external.UMLCheckDiagramAction),
+ expression=WorkbenchWindowExpression(org.eclipse.ui.internal.WorkbenchWindow@246ce26e),sourcePriority=16384)
+!SESSION 2010-11-06 21:28:12.065 -----------------------------------------------
+eclipse.buildId=
+java.version=1.6.0_22
+java.vendor=Sun Microsystems Inc.
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=fr_FR
+Framework arguments: -product org.eclipse.epp.package.java.product
+Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.java.product
+
+!ENTRY org.eclipse.equinox.p2.reconciler.dropins 4 0 2010-11-06 21:28:15.318
+!MESSAGE
+!STACK 0
+org.osgi.framework.BundleException: Exception in org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start() of bundle org.eclipse.equinox.p2.reconciler.dropins.
+ at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:806)
+ at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
+ at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:352)
+ at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:370)
+ at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1068)
+ at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:557)
+ at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:464)
+ at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:248)
+ at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:445)
+ at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
+ at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)
+Caused by: java.lang.NullPointerException
+ at org.eclipse.equinox.internal.p2.reconciler.dropins.PlatformXmlListener.getMatchingRepo(PlatformXmlListener.java:156)
+ at org.eclipse.equinox.internal.p2.reconciler.dropins.PlatformXmlListener.synchronizeConfiguration(PlatformXmlListener.java:188)
+ at org.eclipse.equinox.internal.p2.reconciler.dropins.PlatformXmlListener.stopPoll(PlatformXmlListener.java:131)
+ at org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryWatcher.stopPoll(DirectoryWatcher.java:172)
+ at org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryWatcher.poll(DirectoryWatcher.java:109)
+ at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchConfiguration(Activator.java:472)
+ at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:169)
+ at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
+ at java.security.AccessController.doPrivileged(Native Method)
+ at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
+ ... 10 more
+Root exception:
+java.lang.NullPointerException
+ at org.eclipse.equinox.internal.p2.reconciler.dropins.PlatformXmlListener.getMatchingRepo(PlatformXmlListener.java:156)
+ at org.eclipse.equinox.internal.p2.reconciler.dropins.PlatformXmlListener.synchronizeConfiguration(PlatformXmlListener.java:188)
+ at org.eclipse.equinox.internal.p2.reconciler.dropins.PlatformXmlListener.stopPoll(PlatformXmlListener.java:131)
+ at org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryWatcher.stopPoll(DirectoryWatcher.java:172)
+ at org.eclipse.equinox.internal.provisional.p2.directorywatcher.DirectoryWatcher.poll(DirectoryWatcher.java:109)
+ at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.watchConfiguration(Activator.java:472)
+ at org.eclipse.equinox.internal.p2.reconciler.dropins.Activator.start(Activator.java:169)
+ at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)
+ at java.security.AccessController.doPrivileged(Native Method)
+ at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)
+ at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)
+ at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:352)
+ at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:370)
+ at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1068)
+ at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:557)
+ at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:464)
+ at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:248)
+ at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:445)
+ at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
+ at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:337)
+
+!ENTRY org.eclipse.ui.workbench 2 0 2010-11-06 21:28:46.041
+!MESSAGE A handler conflict occurred. This may disable some commands.
+!SUBENTRY 1 org.eclipse.ui.workbench 2 0 2010-11-06 21:28:46.041
+!MESSAGE Conflict for 'AUTOGEN:::com.soyatec.uml.std.ui.check.diagram/com.soyatec.uml.std.ui.actions.check.diagram':
+HandlerActivation(commandId=AUTOGEN:::com.soyatec.uml.std.ui.check.diagram/com.soyatec.uml.std.ui.actions.check.diagram,
+ handler=ActionDelegateHandlerProxy(null,com.soyatec.uml.std.external.UMLCheckDiagramAction),
+ expression=WorkbenchWindowExpression(org.eclipse.ui.internal.WorkbenchWindow@1bae939f),sourcePriority=16384)
+HandlerActivation(commandId=AUTOGEN:::com.soyatec.uml.std.ui.check.diagram/com.soyatec.uml.std.ui.actions.check.diagram,
+ handler=ActionDelegateHandlerProxy(null,com.soyatec.uml.std.external.UMLCheckDiagramAction),
+ expression=WorkbenchWindowExpression(org.eclipse.ui.internal.WorkbenchWindow@1bae939f),sourcePriority=16384)
+
+!ENTRY org.eclipse.jdt.ui 4 10001 2010-11-07 00:48:21.381
+!MESSAGE Internal Error
+!STACK 1
+Java Model Exception: java.net.SocketTimeoutException: Read timed out
+ at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:798)
+ at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1036)
+ at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:558)
+ at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:462)
+ at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:555)
+ at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:512)
+ at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:495)
+ at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129)
+ at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:82)
+ at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166)
+Caused by: java.net.SocketTimeoutException: Read timed out
+ at java.net.SocketInputStream.socketRead0(Native Method)
+ at java.net.SocketInputStream.read(SocketInputStream.java:129)
+ at java.io.BufferedInputStream.read1(BufferedInputStream.java:256)
+ at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
+ at sun.net.www.MeteredStream.read(MeteredStream.java:116)
+ at java.io.FilterInputStream.read(FilterInputStream.java:116)
+ at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:2669)
+ at java.io.BufferedInputStream.read1(BufferedInputStream.java:256)
+ at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
+ at org.eclipse.jdt.internal.compiler.util.Util.getInputStreamAsByteArray(Util.java:345)
+ at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:754)
+ ... 9 more
+Caused by: java.net.SocketTimeoutException: Read timed out
+ at java.net.SocketInputStream.socketRead0(Native Method)
+ at java.net.SocketInputStream.read(SocketInputStream.java:129)
+ at java.io.BufferedInputStream.read1(BufferedInputStream.java:256)
+ at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
+ at sun.net.www.MeteredStream.read(MeteredStream.java:116)
+ at java.io.FilterInputStream.read(FilterInputStream.java:116)
+ at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:2669)
+ at java.io.BufferedInputStream.read1(BufferedInputStream.java:256)
+ at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
+ at org.eclipse.jdt.internal.compiler.util.Util.getInputStreamAsByteArray(Util.java:345)
+ at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:754)
+ at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1036)
+ at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:558)
+ at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:462)
+ at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:555)
+ at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:512)
+ at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:495)
+ at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129)
+ at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:82)
+ at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166)
+!SUBENTRY 1 org.eclipse.jdt.core 4 985 2010-11-07 00:48:21.425
+!MESSAGE Read timed out
+!STACK 0
+java.net.SocketTimeoutException: Read timed out
+ at java.net.SocketInputStream.socketRead0(Native Method)
+ at java.net.SocketInputStream.read(SocketInputStream.java:129)
+ at java.io.BufferedInputStream.read1(BufferedInputStream.java:256)
+ at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
+ at sun.net.www.MeteredStream.read(MeteredStream.java:116)
+ at java.io.FilterInputStream.read(FilterInputStream.java:116)
+ at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(HttpURLConnection.java:2669)
+ at java.io.BufferedInputStream.read1(BufferedInputStream.java:256)
+ at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
+ at org.eclipse.jdt.internal.compiler.util.Util.getInputStreamAsByteArray(Util.java:345)
+ at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:754)
+ at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1036)
+ at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:558)
+ at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:462)
+ at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:555)
+ at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:512)
+ at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:495)
+ at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129)
+ at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:82)
+ at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166)
diff --git a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.resources/.projects/0.84/.markers b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.resources/.projects/0.84/.markers
index 090b1b0..010fa90 100644
--- a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.resources/.projects/0.84/.markers
+++ b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.resources/.projects/0.84/.markers
Binary files differ
diff --git a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.resources/.projects/0.84/org.eclipse.jdt.core/state.dat b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.resources/.projects/0.84/org.eclipse.jdt.core/state.dat
index 0296168..e810cd5 100644
--- a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.resources/.projects/0.84/org.eclipse.jdt.core/state.dat
+++ b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.resources/.projects/0.84/org.eclipse.jdt.core/state.dat
Binary files differ
diff --git a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index
index 37bf957..55a02df 100644
--- a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index
+++ b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index
Binary files differ
diff --git a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources
index 206dcda..72e3c37 100644
--- a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources
+++ b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources
Binary files differ
diff --git a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs
index ff6cee2..daa4437 100644
--- a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs
+++ b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs
@@ -1,4 +1,5 @@
-#Sat Nov 06 20:02:34 CET 2010
+#Sat Nov 06 20:31:56 CET 2010
eclipse.preferences.version=1
+preferredTargets=default\:default|
org.eclipse.debug.ui.PREF_LAUNCH_PERSPECTIVES=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\n<launchPerspectives/>\n
org.eclipse.debug.ui.user_view_bindings=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\n<viewBindings>\n<view id\="org.eclipse.ui.console.ConsoleView">\n<perspective id\="org.eclipse.jdt.ui.JavaPerspective" userAction\="opened"/>\n</view>\n</viewBindings>\n
diff --git a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs
index 3f327f4..e56322c 100644
--- a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs
+++ b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs
@@ -1,8 +1,10 @@
-#Sat Nov 06 20:00:46 CET 2010
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+#Sat Nov 06 21:11:23 CET 2010
+org.eclipse.jdt.core.compiler.compliance=1.6
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.codeComplete.visibilityCheck=enabled
+org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.uad,*.ucd,*.uld,*.upd,*.udd,*.uod,*.usd,*.utd,*.uud,*.odd,*.ead,*.ecd,*.eld,*.epd,*.edd,*.eod,*.esd,*.etd,*.eud,*.urd,*.uml,*.ecore
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.source=1.6
-org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
diff --git a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.launching.prefs b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.launching.prefs
index 9b28e59..c555280 100644
--- a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.launching.prefs
+++ b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.launching.prefs
@@ -1,3 +1,3 @@
-#Sat Nov 06 20:01:07 CET 2010
+#Sat Nov 06 21:26:38 CET 2010
eclipse.preferences.version=1
-org.eclipse.jdt.launching.PREF_VM_XML=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\n<vmSettings defaultVM\="57,org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType13,1289070045944">\n<vmType id\="org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType">\n<vm id\="1289070045944" javadocURL\="http\://java.sun.com/javase/6/docs/api/" name\="java-6-sun-1.6.0.20" path\="/usr/lib/jvm/java-6-sun-1.6.0.20"/>\n</vmType>\n</vmSettings>\n
+org.eclipse.jdt.launching.PREF_VM_XML=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\n<vmSettings defaultVM\="57,org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType13,1289074283194" defaultVMConnector\="">\n<vmType id\="org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType">\n<vm id\="1289074283194" javadocURL\="http\://java.sun.com/javase/6/docs/api/" name\="java-6-sun-1.6.0.22" path\="/usr/lib/jvm/java-6-sun-1.6.0.22"/>\n</vmType>\n</vmSettings>\n
diff --git a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs
index 9ce50fb..dfe39fe 100644
--- a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs
+++ b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs
@@ -1,14 +1,19 @@
-#Sat Nov 06 20:00:22 CET 2010
-useQuickDiffPrefPage=true
-proposalOrderMigrated=true
-tabWidthPropagated=true
-content_assist_proposals_background=255,255,255
-org.eclipse.jdt.ui.javadoclocations.migrated=true
+#Sun Nov 07 02:26:05 CET 2010
+content_assist_proposals_foreground=26,26,26
+spelling_locale_initialized=true
+content_assist_disabled_computers=org.eclipse.jdt.ui.javaAllProposalCategory\u0000org.eclipse.jdt.ui.javaNoTypeProposalCategory\u0000org.eclipse.jdt.ui.textProposalCategory\u0000org.eclipse.jdt.ui.javaTypeProposalCategory\u0000
+org.eclipse.jdt.ui.text.templates_migrated=true
useAnnotationsPrefPage=true
+eclipse.preferences.version=1
org.eclipse.jface.textfont=1|Monospace|10.0|0|GTK|1|;
+tabWidthPropagated=true
org.eclipse.jdt.ui.editor.tab.width=
-org.eclipse.jdt.ui.formatterprofiles.version=11
-spelling_locale_initialized=true
-eclipse.preferences.version=1
-content_assist_proposals_foreground=26,26,26
fontPropagated=true
+org.eclipse.jdt.ui.javadoclocations.migrated=true
+proposalOrderMigrated=true
+org.eclipse.jdt.ui.formatterprofiles.version=11
+content_assist_proposals_background=255,255,255
+content_assist_number_of_computers=17
+useQuickDiffPrefPage=true
+org.eclipse.jdt.ui.text.custom_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
+content_assist_lru_history=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><history maxLHS\="100" maxRHS\="10"/>
diff --git a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs
index 1ed0597..709888f 100644
--- a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs
+++ b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs
@@ -1,5 +1,5 @@
-#Sat Nov 06 20:00:22 CET 2010
+#Sat Nov 06 21:10:41 CET 2010
eclipse.preferences.version=1
tipsAndTricks=true
-platformState=1289063488193
+platformState=1289070773896
PROBLEMS_FILTERS_MIGRATE=true
diff --git a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.debug.ui/dialog_settings.xml b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.debug.ui/dialog_settings.xml
index 1a746de..b7bec70 100644
--- a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.debug.ui/dialog_settings.xml
+++ b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.debug.ui/dialog_settings.xml
@@ -1,20 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<section name="Workbench">
+ <section name="org.eclipse.debug.ui.SCOPED_SAVE_SELECTION_DIALOG">
+ <item value="350" key="DIALOG_WIDTH"/>
+ <item value="190" key="DIALOG_Y_ORIGIN"/>
+ <item value="350" key="DIALOG_HEIGHT"/>
+ <item value="545" key="DIALOG_X_ORIGIN"/>
+ <item value="1|Ubuntu|11.0|0|GTK|1|" key="DIALOG_FONT_NAME"/>
+ </section>
<section name="org.eclipse.debug.ui.LAUNCH_CONFIGURATIONS_DIALOG_SECTION">
<item value="800" key="DIALOG_WIDTH"/>
<item value="0" key="DIALOG_Y_ORIGIN"/>
<item value=", org.eclipse.jdt.launching.localJavaApplication, " key="org.eclipse.debug.ui.EXPANDED_NODES"/>
- <item value="640" key="DIALOG_HEIGHT"/>
<item value="112" key="DIALOG_X_ORIGIN"/>
+ <item value="640" key="DIALOG_HEIGHT"/>
<item value="237" key="org.eclipse.debug.ui.DIALOG_SASH_WEIGHTS_1"/>
- <item value="1|Sans|10.0|0|GTK|1|" key="DIALOG_FONT_NAME"/>
<item value="762" key="org.eclipse.debug.ui.DIALOG_SASH_WEIGHTS_2"/>
+ <item value="1|Sans|10.0|0|GTK|1|" key="DIALOG_FONT_NAME"/>
</section>
<section name="org.eclipse.debug.ui.SELECT_LAUNCH_SHORTCUT_DIALOG">
<item value="350" key="DIALOG_WIDTH"/>
<item value="149" key="DIALOG_Y_ORIGIN"/>
- <item value="350" key="DIALOG_HEIGHT"/>
<item value="337" key="DIALOG_X_ORIGIN"/>
+ <item value="350" key="DIALOG_HEIGHT"/>
<item value="1|Sans|10.0|0|GTK|1|" key="DIALOG_FONT_NAME"/>
</section>
</section>
diff --git a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.core/1902154957.index b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.core/1902154957.index
index b15b26f..5d44139 100644
--- a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.core/1902154957.index
+++ b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.core/1902154957.index
Binary files differ
diff --git a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps
index 6251289..b38a188 100644
--- a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps
+++ b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps
Binary files differ
diff --git a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache
index 7b08a1e..c483758 100644
--- a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache
+++ b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache
Binary files differ
diff --git a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt
index b363649..817316c 100644
--- a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt
+++ b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt
@@ -1,11 +1,11 @@
-INDEX VERSION 1.126+/home/geekplusplus/Bureau/Projet-Lemmings/trunk/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.core
-3955261179.index
+INDEX VERSION 1.126+/home/jazzblue/Bureau/Projet-Lemmings/trunk/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.core
+3856308043.index
+1901393094.index
+2007166458.index
+1640669128.index
+2106039906.index
+1767688219.index
1902154957.index
-2370678678.index
-2587115027.index
-1594113350.index
-3865754283.index
-837158796.index
-47599848.index
-1820894104.index
-274907012.index
+1347787028.index
+29207250.index
+106343698.index
diff --git a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat
index 2f49758..3c5af35 100644
--- a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat
+++ b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat
Binary files differ
diff --git a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.launching/libraryInfos.xml b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.launching/libraryInfos.xml
index c834841..7a88ea5 100644
--- a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.launching/libraryInfos.xml
+++ b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.launching/libraryInfos.xml
@@ -18,6 +18,66 @@
<entry path="/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/endorsed"/>
</endorsedDirs>
</libraryInfo>
+<libraryInfo home="/usr/lib/jvm/java-6-openjdk/jre" version="1.6.0_20">
+<bootpath>
+<entry path="/usr/lib/jvm/java-6-openjdk/jre/lib/resources.jar"/>
+<entry path="/usr/lib/jvm/java-6-openjdk/jre/lib/rt.jar"/>
+<entry path="/usr/lib/jvm/java-6-openjdk/jre/lib/sunrsasign.jar"/>
+<entry path="/usr/lib/jvm/java-6-openjdk/jre/lib/jsse.jar"/>
+<entry path="/usr/lib/jvm/java-6-openjdk/jre/lib/jce.jar"/>
+<entry path="/usr/lib/jvm/java-6-openjdk/jre/lib/charsets.jar"/>
+<entry path="/usr/lib/jvm/java-6-openjdk/jre/lib/netx.jar"/>
+<entry path="/usr/lib/jvm/java-6-openjdk/jre/lib/plugin.jar"/>
+<entry path="/usr/lib/jvm/java-6-openjdk/jre/lib/rhino.jar"/>
+<entry path="/usr/lib/jvm/java-6-openjdk/jre/classes"/>
+</bootpath>
+<extensionDirs>
+<entry path="/usr/lib/jvm/java-6-openjdk/jre/lib/ext"/>
+<entry path="/usr/java/packages/lib/ext"/>
+</extensionDirs>
+<endorsedDirs>
+<entry path="/usr/lib/jvm/java-6-openjdk/jre/lib/endorsed"/>
+</endorsedDirs>
+</libraryInfo>
+<libraryInfo home="/usr/lib/jvm/java-6-openjdk" version="1.6.0_20">
+<bootpath>
+<entry path="/usr/lib/jvm/java-6-openjdk/jre/lib/resources.jar"/>
+<entry path="/usr/lib/jvm/java-6-openjdk/jre/lib/rt.jar"/>
+<entry path="/usr/lib/jvm/java-6-openjdk/jre/lib/sunrsasign.jar"/>
+<entry path="/usr/lib/jvm/java-6-openjdk/jre/lib/jsse.jar"/>
+<entry path="/usr/lib/jvm/java-6-openjdk/jre/lib/jce.jar"/>
+<entry path="/usr/lib/jvm/java-6-openjdk/jre/lib/charsets.jar"/>
+<entry path="/usr/lib/jvm/java-6-openjdk/jre/lib/netx.jar"/>
+<entry path="/usr/lib/jvm/java-6-openjdk/jre/lib/plugin.jar"/>
+<entry path="/usr/lib/jvm/java-6-openjdk/jre/lib/rhino.jar"/>
+<entry path="/usr/lib/jvm/java-6-openjdk/jre/classes"/>
+</bootpath>
+<extensionDirs>
+<entry path="/usr/lib/jvm/java-6-openjdk/jre/lib/ext"/>
+<entry path="/usr/java/packages/lib/ext"/>
+</extensionDirs>
+<endorsedDirs>
+<entry path="/usr/lib/jvm/java-6-openjdk/jre/lib/endorsed"/>
+</endorsedDirs>
+</libraryInfo>
+<libraryInfo home="/usr/lib/jvm/java-6-sun-1.6.0.22" version="1.6.0_22">
+<bootpath>
+<entry path="/usr/lib/jvm/java-6-sun-1.6.0.22/jre/lib/resources.jar"/>
+<entry path="/usr/lib/jvm/java-6-sun-1.6.0.22/jre/lib/rt.jar"/>
+<entry path="/usr/lib/jvm/java-6-sun-1.6.0.22/jre/lib/sunrsasign.jar"/>
+<entry path="/usr/lib/jvm/java-6-sun-1.6.0.22/jre/lib/jsse.jar"/>
+<entry path="/usr/lib/jvm/java-6-sun-1.6.0.22/jre/lib/jce.jar"/>
+<entry path="/usr/lib/jvm/java-6-sun-1.6.0.22/jre/lib/charsets.jar"/>
+<entry path="/usr/lib/jvm/java-6-sun-1.6.0.22/jre/classes"/>
+</bootpath>
+<extensionDirs>
+<entry path="/usr/lib/jvm/java-6-sun-1.6.0.22/jre/lib/ext"/>
+<entry path="/usr/java/packages/lib/ext"/>
+</extensionDirs>
+<endorsedDirs>
+<entry path="/usr/lib/jvm/java-6-sun-1.6.0.22/jre/lib/endorsed"/>
+</endorsedDirs>
+</libraryInfo>
<libraryInfo home="/usr/lib/jvm/java-6-sun-1.6.0.20" version="1.6.0_20">
<bootpath>
<entry path="/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/resources.jar"/>
diff --git a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml
index 9e390f5..537a0a9 100644
--- a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml
+++ b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml
@@ -1,2 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<qualifiedTypeNameHistroy/>
+<qualifiedTypeNameHistroy>
+<fullyQualifiedTypeName name="java.awt.event.KeyEvent"/>
+<fullyQualifiedTypeName name="Game.GameController"/>
+</qualifiedTypeNameHistroy>
diff --git a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml
index 7e1fe39..dd3708c 100644
--- a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml
+++ b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml
@@ -1,23 +1,122 @@
<?xml version="1.0" encoding="UTF-8"?>
<section name="Workbench">
+ <item value="filter_imports;" key="filters_last_used"/>
+ <item value="560,578" key="UserLibraryLoadSaveDialog.size"/>
+ <item value="500" key="CallHierarchyViewPart.ratio3"/>
+ <item value="500" key="CallHierarchyViewPart.ratio1"/>
+ <item value="3" key="CallHierarchyViewPart.orientation"/>
+ <item value="1" key="SearchScopeActionGroup.search_scope_type"/>
+ <item value="2" key="CallHierarchyViewPart.field_mode"/>
+ <item value="0" key="CallHierarchyViewPart.call_mode"/>
<item value="/home/geekplusplus/Bureau/Projet-Lemmings/trunk/jeu-test/Lemmini/0.84" key="org.eclipse.jdt.ui.last.external.project"/>
+ <list key="SearchScopeActionGroup.working_set">
+ </list>
<section name="org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart">
<item value="true" key="group_libraries"/>
<item value="false" key="linkWithEditor"/>
<item value="2" key="layout"/>
<item value="1" key="rootMode"/>
- <item value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#x0A;&lt;packageExplorer group_libraries=&quot;1&quot; layout=&quot;2&quot; linkWithEditor=&quot;0&quot; rootMode=&quot;1&quot; workingSetName=&quot;Aggregate for window 1289066501714&quot;&gt;&#x0A;&lt;customFilters userDefinedPatternsEnabled=&quot;false&quot;&gt;&#x0A;&lt;xmlDefinedFilters&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.LibraryFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.LocalTypesFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.StaticsFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.pde.ui.ExternalPluginLibrariesFilter1&quot; isEnabled=&quot;true&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.ClosedProjectsFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.NonSharedProjectsFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.NonJavaElementFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.ContainedLibraryFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.CuAndClassFileFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.NonJavaProjectsFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.internal.ui.PackageExplorer.EmptyInnerPackageFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.PackageDeclarationFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.internal.ui.PackageExplorer.EmptyPackageFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.ImportDeclarationFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.FieldsFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.internal.ui.PackageExplorer.HideInnerClassFilesFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.NonPublicFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer_patternFilterId_.*&quot; isEnabled=&quot;true&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.EmptyLibraryContainerFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.pde.ui.BinaryProjectFilter1&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.SyntheticMembersFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0A;&lt;/xmlDefinedFilters&gt;&#x0A;&lt;/customFilters&gt;&#x0A;&lt;/packageExplorer&gt;" key="memento"/>
+ <item value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#x0A;&lt;packageExplorer group_libraries=&quot;1&quot; layout=&quot;2&quot; linkWithEditor=&quot;0&quot; rootMode=&quot;1&quot; workingSetName=&quot;Aggregate for window 1289070009225&quot;&gt;&#x0A;&lt;customFilters userDefinedPatternsEnabled=&quot;false&quot;&gt;&#x0A;&lt;xmlDefinedFilters&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.LibraryFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.LocalTypesFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.StaticsFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.pde.ui.ExternalPluginLibrariesFilter1&quot; isEnabled=&quot;true&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.ClosedProjectsFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.NonSharedProjectsFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.NonJavaElementFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.ContainedLibraryFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.CuAndClassFileFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.NonJavaProjectsFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.internal.ui.PackageExplorer.EmptyInnerPackageFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.PackageDeclarationFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.internal.ui.PackageExplorer.EmptyPackageFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.ImportDeclarationFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.FieldsFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.internal.ui.PackageExplorer.HideInnerClassFilesFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.NonPublicFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer_patternFilterId_.*&quot; isEnabled=&quot;true&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.EmptyLibraryContainerFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.pde.ui.BinaryProjectFilter1&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.jdt.ui.PackageExplorer.SyntheticMembersFilter&quot; isEnabled=&quot;true&quot;/&gt;&#x0A;&lt;child filterId=&quot;org.eclipse.mylyn.java.ui.MembersFilter&quot; isEnabled=&quot;false&quot;/&gt;&#x0A;&lt;/xmlDefinedFilters&gt;&#x0A;&lt;/customFilters&gt;&#x0A;&lt;/packageExplorer&gt;" key="memento"/>
</section>
<section name="completion_proposal_size">
</section>
<section name="JavaElementSearchActions">
</section>
<section name="BuildPathsPropertyPage">
- <item value="0" key="pageIndex"/>
+ <item value="2" key="pageIndex"/>
</section>
<section name="JavaSearchPage">
<item value="false" key="CASE_SENSITIVE"/>
<item value="11" key="INCLUDE_MASK"/>
- <item value="0" key="HISTORY_SIZE"/>
+ <item value="7" key="HISTORY_SIZE"/>
+ <section name="HISTORY2">
+ <item value="11" key="includeMask"/>
+ <item value="2048" key="limitTo"/>
+ <item value="0" key="scope"/>
+ <item value="" key="javaElement"/>
+ <item value="keyPressed" key="pattern"/>
+ <item value="0" key="matchLocations"/>
+ <item value="0" key="searchFor"/>
+ <item value="false" key="isCaseSensitive"/>
+ <list key="workingSets">
+ </list>
+ </section>
+ <section name="HISTORY3">
+ <item value="11" key="includeMask"/>
+ <item value="3" key="limitTo"/>
+ <item value="0" key="scope"/>
+ <item value="" key="javaElement"/>
+ <item value="keyReleased" key="pattern"/>
+ <item value="0" key="matchLocations"/>
+ <item value="4" key="searchFor"/>
+ <item value="false" key="isCaseSensitive"/>
+ <list key="workingSets">
+ </list>
+ </section>
+ <section name="HISTORY0">
+ <item value="11" key="includeMask"/>
+ <item value="3" key="limitTo"/>
+ <item value="0" key="scope"/>
+ <item value="" key="javaElement"/>
+ <item value="mask" key="pattern"/>
+ <item value="0" key="matchLocations"/>
+ <item value="4" key="searchFor"/>
+ <item value="false" key="isCaseSensitive"/>
+ <list key="workingSets">
+ </list>
+ </section>
+ <section name="HISTORY1">
+ <item value="11" key="includeMask"/>
+ <item value="2048" key="limitTo"/>
+ <item value="0" key="scope"/>
+ <item value="" key="javaElement"/>
+ <item value="redraw" key="pattern"/>
+ <item value="0" key="matchLocations"/>
+ <item value="0" key="searchFor"/>
+ <item value="false" key="isCaseSensitive"/>
+ <list key="workingSets">
+ </list>
+ </section>
+ <section name="HISTORY5">
+ <item value="11" key="includeMask"/>
+ <item value="3" key="limitTo"/>
+ <item value="0" key="scope"/>
+ <item value="" key="javaElement"/>
+ <item value="paintLevel" key="pattern"/>
+ <item value="0" key="matchLocations"/>
+ <item value="1" key="searchFor"/>
+ <item value="false" key="isCaseSensitive"/>
+ <list key="workingSets">
+ </list>
+ </section>
+ <section name="HISTORY4">
+ <item value="11" key="includeMask"/>
+ <item value="2" key="limitTo"/>
+ <item value="0" key="scope"/>
+ <item value="" key="javaElement"/>
+ <item value="bgImage" key="pattern"/>
+ <item value="0" key="matchLocations"/>
+ <item value="4" key="searchFor"/>
+ <item value="false" key="isCaseSensitive"/>
+ <list key="workingSets">
+ </list>
+ </section>
+ <section name="HISTORY6">
+ <item value="11" key="includeMask"/>
+ <item value="2" key="limitTo"/>
+ <item value="0" key="scope"/>
+ <item value="" key="javaElement"/>
+ <item value="setCheat" key="pattern"/>
+ <item value="0" key="matchLocations"/>
+ <item value="1" key="searchFor"/>
+ <item value="false" key="isCaseSensitive"/>
+ <list key="workingSets">
+ </list>
+ </section>
+ </section>
+ <section name="ClasspathContainerSelectionPage">
+ <item value="3" key="index"/>
+ </section>
+ <section name="CallHierarchySearchScope">
</section>
</section>
diff --git a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml
index 5ca0b77..a7f611d 100644
--- a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml
+++ b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml
@@ -1,3 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<section name="Workbench">
+ <section name="WorkbenchPreferenceDialogSettings">
+ <item value="0" key="DIALOG_Y_ORIGIN"/>
+ <item value="0" key="DIALOG_X_ORIGIN"/>
+ </section>
</section>
diff --git a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.ui.workbench/workbench.xml b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.ui.workbench/workbench.xml
index a80276c..981508a 100644
--- a/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.ui.workbench/workbench.xml
+++ b/jeu-test/Lemmini/.metadata/.plugins/org.eclipse.ui.workbench/workbench.xml
@@ -1,41 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
-<workbench progressCount="18" version="2.0">
+<workbench progressCount="23" version="2.0">
<workbenchAdvisor/>
-<window height="768" maximized="true" width="1024" x="0" y="25">
+<window height="765" maximized="true" width="1024" x="0" y="27">
<fastViewData fastViewLocation="1024"/>
<perspectiveBar>
-<itemSize x="330"/>
+<itemSize x="160"/>
</perspectiveBar>
<coolbarLayout locked="0">
<coolItem id="group.file" itemType="typeGroupMarker"/>
-<coolItem id="org.eclipse.ui.workbench.file" itemType="typeToolBarContribution" x="138" y="30"/>
+<coolItem id="org.eclipse.ui.workbench.file" itemType="typeToolBarContribution" x="102" y="22"/>
<coolItem id="additions" itemType="typeGroupMarker"/>
-<coolItem id="org.eclipse.debug.ui.launchActionSet" itemType="typeToolBarContribution" x="120" y="30"/>
-<coolItem id="org.eclipse.jdt.ui.JavaElementCreationActionSet" itemType="typeToolBarContribution" x="104" y="30"/>
-<coolItem id="org.eclipse.search.searchActionSet" itemType="typeToolBarContribution" x="76" y="30"/>
-<coolItem id="org.eclipse.ui.edit.text.actionSet.presentation" itemType="typeToolBarContribution" x="124" y="30"/>
+<coolItem id="com.soyatec.uml.UMLElementCreationActionSet" itemType="typeToolBarContribution" x="74" y="22"/>
+<coolItem id="org.eclipse.debug.ui.launchActionSet" itemType="typeToolBarContribution" x="118" y="22"/>
+<coolItem id="org.eclipse.jdt.ui.JavaElementCreationActionSet" itemType="typeToolBarContribution" x="102" y="22"/>
+<coolItem id="org.eclipse.search.searchActionSet" itemType="typeToolBarContribution" x="102" y="22"/>
+<coolItem id="org.eclipse.ui.edit.text.actionSet.presentation" itemType="typeToolBarContribution" x="150" y="22"/>
+<coolItem id="org.eclipse.wst.xml.ui.perspective.NewFileToolBar" itemType="typeToolBarContribution" x="-1" y="-1"/>
+<coolItem id="org.eclipse.wst.xml.ui.design.DesignToolBar" itemType="typeToolBarContribution" x="-1" y="-1"/>
<coolItem id="group.nav" itemType="typeGroupMarker"/>
-<coolItem id="org.eclipse.ui.workbench.navigate" itemType="typeToolBarContribution" x="184" y="30"/>
+<coolItem id="org.eclipse.ui.workbench.navigate" itemType="typeToolBarContribution" x="182" y="22"/>
<coolItem id="group.editor" itemType="typeGroupMarker"/>
<coolItem id="org.eclipse.jdt.ui.ClassFileEditor" itemType="typePlaceholder" x="-1" y="-1"/>
<coolItem id="org.eclipse.jdt.ui.CompilationUnitEditor" itemType="typeToolBarContribution" x="-1" y="-1"/>
<coolItem id="group.help" itemType="typeGroupMarker"/>
<coolItem id="org.eclipse.ui.workbench.help" itemType="typeToolBarContribution" x="-1" y="-1"/>
</coolbarLayout>
-<page aggregateWorkingSetId="Aggregate for window 1289066501714" focus="true" label="Workspace - Java">
+<page aggregateWorkingSetId="Aggregate for window 1289070009225" focus="true" label="Workspace - Java">
<editors>
<editorArea activeWorkbook="DefaultEditorWorkbook">
<info part="DefaultEditorWorkbook">
<folder appearance="1" expanded="2">
<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory">
<part id="0"/>
+<part id="1"/>
+<part id="2"/>
+<part id="3"/>
+<part id="4"/>
+<part id="5"/>
</presentation>
</folder>
</info>
</editorArea>
-<editor activePart="true" focus="true" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="Lemmini.java" partName="Lemmini.java" path="/home/geekplusplus/Bureau/Projet-Lemmings/trunk/jeu-test/Lemmini/0.84/src/Lemmini.java" title="Lemmini.java" tooltip="0.84/src/Lemmini.java" workbook="DefaultEditorWorkbook">
+<editor activePart="true" focus="true" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="Lemmini.java" partName="Lemmini.java" path="/home/jazzblue/Bureau/Projet-Lemmings/trunk/jeu-test/Lemmini/0.84/src/Lemmini.java" title="Lemmini.java" tooltip="0.84/src/Lemmini.java" workbook="DefaultEditorWorkbook">
<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/0.84/src/Lemmini.java"/>
-<editorState selectionHorizontalPixel="0" selectionLength="0" selectionOffset="19787" selectionTopPixel="8945"/>
+<editorState selectionHorizontalPixel="0" selectionLength="9" selectionOffset="30664" selectionTopPixel="14008"/>
+</editor>
+<editor id="org.eclipse.jdt.ui.CompilationUnitEditor" name="GameController.java" partName="GameController.java" path="/home/jazzblue/Bureau/Projet-Lemmings/trunk/jeu-test/Lemmini/0.84/src/Game/GameController.java" title="GameController.java" tooltip="0.84/src/Game/GameController.java" workbook="DefaultEditorWorkbook">
+<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/0.84/src/Game/GameController.java"/>
+<editorState selectionHorizontalPixel="0" selectionLength="0" selectionOffset="24563" selectionTopPixel="13141"/>
+</editor>
+<editor id="org.eclipse.jdt.ui.CompilationUnitEditor" name="Core.java" partName="Core.java" path="/home/jazzblue/Bureau/Projet-Lemmings/trunk/jeu-test/Lemmini/0.84/src/Game/Core.java" title="Core.java" tooltip="0.84/src/Game/Core.java" workbook="DefaultEditorWorkbook">
+<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/0.84/src/Game/Core.java"/>
+<editorState selectionHorizontalPixel="0" selectionLength="0" selectionOffset="10228" selectionTopPixel="4546"/>
+</editor>
+<editor id="org.eclipse.jdt.ui.CompilationUnitEditor" name="GroupBitfield.java" partName="GroupBitfield.java" path="/home/jazzblue/Bureau/Projet-Lemmings/trunk/jeu-test/Lemmini/0.84/src/Game/GroupBitfield.java" title="GroupBitfield.java" tooltip="0.84/src/Game/GroupBitfield.java" workbook="DefaultEditorWorkbook">
+<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/0.84/src/Game/GroupBitfield.java"/>
+<editorState selectionHorizontalPixel="0" selectionLength="0" selectionOffset="0" selectionTopPixel="279"/>
+</editor>
+<editor id="org.eclipse.jdt.ui.CompilationUnitEditor" name="Level.java" partName="Level.java" path="/home/jazzblue/Bureau/Projet-Lemmings/trunk/jeu-test/Lemmini/0.84/src/Game/Level.java" title="Level.java" tooltip="0.84/src/Game/Level.java" workbook="DefaultEditorWorkbook">
+<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/0.84/src/Game/Level.java"/>
+<editorState selectionHorizontalPixel="0" selectionLength="0" selectionOffset="28959" selectionTopPixel="8797"/>
+</editor>
+<editor id="org.eclipse.jdt.ui.CompilationUnitEditor" name="Lemming.java" partName="Lemming.java" path="/home/jazzblue/Bureau/Projet-Lemmings/trunk/jeu-test/Lemmini/0.84/src/Game/Lemming.java" title="Lemming.java" tooltip="0.84/src/Game/Lemming.java" workbook="DefaultEditorWorkbook">
+<input factoryID="org.eclipse.ui.part.FileEditorInputFactory" path="/0.84/src/Game/Lemming.java"/>
+<editorState selectionHorizontalPixel="0" selectionLength="0" selectionOffset="28389" selectionTopPixel="16433"/>
</editor>
</editors>
<views>
@@ -43,17 +71,17 @@
<view id="org.eclipse.search.ui.views.SearchView" partName="Search">
<viewState isPinned="false">
<view IMemento.internal.id="" org.eclipse.search.lastActivation="0"/>
-<view IMemento.internal.id="org.eclipse.search.text.FileSearchResultPage" org.eclipse.search.lastActivation="1" org.eclipse.search.resultpage.layout="2" org.eclipse.search.resultpage.limit="1000" org.eclipse.search.resultpage.sorting="2"/>
+<view IMemento.internal.id="org.eclipse.jdt.ui.JavaSearchResultPage" org.eclipse.jdt.search.resultpage.grouping="3" org.eclipse.jdt.search.resultpage.limit="1000" org.eclipse.jdt.search.resultpage.limit_enabled="TRUE" org.eclipse.jdt.search.resultpage.sorting="1" org.eclipse.search.lastActivation="1" org.eclipse.search.resultpage.layout="2"/>
</viewState>
</view>
-<view id="org.eclipse.debug.ui.DebugView" partName="Debug">
-<viewState/>
-</view>
<view id="org.eclipse.ui.views.ProblemView" partName="Problems">
<viewState PRIMARY_SORT_FIELD="org.eclipse.ui.ide.severityAndDescriptionField" categoryGroup="org.eclipse.ui.ide.severity" markerContentGenerator="org.eclipse.ui.ide.problemsGenerator" partName="Problems">
-<expanded>&#x0A;<category IMemento.internal.id="Errors (100 items)"/>
+<expanded>
+<category IMemento.internal.id="Warnings"/>
+<category IMemento.internal.id="Errors"/>
+<category IMemento.internal.id="Warnings (2 items)"/>
</expanded>
-<columnWidths org.eclipse.ui.ide.locationField="73" org.eclipse.ui.ide.markerType="657" org.eclipse.ui.ide.pathField="143" org.eclipse.ui.ide.resourceField="108" org.eclipse.ui.ide.severityAndDescriptionField="350"/>
+<columnWidths org.eclipse.ui.ide.locationField="0" org.eclipse.ui.ide.markerType="0" org.eclipse.ui.ide.pathField="0" org.eclipse.ui.ide.resourceField="0" org.eclipse.ui.ide.severityAndDescriptionField="0"/>
<visible IMemento.internal.id="org.eclipse.ui.ide.severityAndDescriptionField"/>
<visible IMemento.internal.id="org.eclipse.ui.ide.resourceField"/>
<visible IMemento.internal.id="org.eclipse.ui.ide.pathField"/>
@@ -65,7 +93,7 @@
<viewState/>
</view>
<view id="org.eclipse.jdt.ui.PackageExplorer" partName="Package Explorer">
-<viewState group_libraries="1" layout="2" linkWithEditor="0" rootMode="1" workingSetName="Aggregate for window 1289066501714">
+<viewState group_libraries="1" layout="2" linkWithEditor="0" rootMode="1" workingSetName="Aggregate for window 1289070009225">
<customFilters userDefinedPatternsEnabled="false">
<xmlDefinedFilters>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.LibraryFilter" isEnabled="false"/>
@@ -89,26 +117,18 @@
<child filterId="org.eclipse.jdt.ui.PackageExplorer.EmptyLibraryContainerFilter" isEnabled="true"/>
<child filterId="org.eclipse.pde.ui.BinaryProjectFilter1" isEnabled="false"/>
<child filterId="org.eclipse.jdt.ui.PackageExplorer.SyntheticMembersFilter" isEnabled="true"/>
+<child filterId="org.eclipse.mylyn.java.ui.MembersFilter" isEnabled="false"/>
</xmlDefinedFilters>
</customFilters>
</viewState>
</view>
-<view id="org.eclipse.debug.ui.BreakpointView" partName="Breakpoints">
-<viewState>
-<isTrackingSelection value="false"/>
-</viewState>
-</view>
-<view id="org.eclipse.debug.ui.VariableView" partName="Variables">
-<viewState/>
-</view>
-<view id="org.eclipse.ui.views.TaskList" partName="Tasks"/>
<view id="org.eclipse.ui.views.ContentOutline" partName="Outline">
<viewState/>
</view>
<view id="org.eclipse.jdt.ui.SourceView" partName="Declaration"/>
<view id="org.eclipse.jdt.ui.JavadocView" partName="Javadoc"/>
</views>
-<perspectives activePart="org.eclipse.jdt.ui.PackageExplorer" activePerspective="org.eclipse.jdt.ui.JavaPerspective">
+<perspectives activePart="org.eclipse.jdt.ui.CompilationUnitEditor" activePerspective="org.eclipse.jdt.ui.JavaPerspective">
<perspective editorAreaTrimState="2" editorAreaVisible="1" fixed="0" version="0.016">
<descriptor class="org.eclipse.jdt.internal.ui.JavaPerspectiveFactory" id="org.eclipse.jdt.ui.JavaPerspective" label="Java"/>
<alwaysOnActionSet id="org.eclipse.ui.cheatsheets.actionSet"/>
@@ -126,6 +146,11 @@
<alwaysOnActionSet id="org.eclipse.debug.ui.breakpointActionSet"/>
<alwaysOnActionSet id="org.eclipse.jdt.debug.ui.JDTDebugActionSet"/>
<alwaysOnActionSet id="org.eclipse.jdt.junit.JUnitActionSet"/>
+<alwaysOnActionSet id="register"/>
+<alwaysOnActionSet id="com.soyatec.uml.UMLElementCreationActionSet"/>
+<alwaysOnActionSet id="org.eclipse.mylyn.context.ui.actionSet"/>
+<alwaysOnActionSet id="org.eclipse.mylyn.doc.actionSet"/>
+<alwaysOnActionSet id="org.eclipse.mylyn.tasks.ui.navigation"/>
<show_view_action id="org.eclipse.jdt.ui.PackageExplorer"/>
<show_view_action id="org.eclipse.jdt.ui.TypeHierarchy"/>
<show_view_action id="org.eclipse.jdt.ui.SourceView"/>
@@ -157,12 +182,13 @@
<perspective_action id="org.eclipse.debug.ui.DebugPerspective"/>
<perspective_action id="org.eclipse.jdt.ui.JavaBrowsingPerspective"/>
<hide_toolbar_item_id id="org.eclipse.ui.edit.text.toggleShowSelectedElementOnly"/>
-<view id="org.eclipse.jdt.ui.PackageExplorer"/>
-<view id="org.eclipse.jdt.ui.TypeHierarchy"/>
<view id="org.eclipse.ui.views.ProblemView"/>
<view id="org.eclipse.jdt.ui.JavadocView"/>
<view id="org.eclipse.jdt.ui.SourceView"/>
<view id="org.eclipse.ui.console.ConsoleView"/>
+<view id="org.eclipse.search.ui.views.SearchView"/>
+<view id="org.eclipse.jdt.ui.PackageExplorer"/>
+<view id="org.eclipse.jdt.ui.TypeHierarchy"/>
<view id="org.eclipse.ui.views.ContentOutline"/>
<fastViewBars/>
<layout>
@@ -180,32 +206,35 @@
</presentation>
</folder>
</info>
-<info folder="true" part="stickyFolderRight" ratio="0.7495049" ratioLeft="757" ratioRight="253" relationship="2" relative="left">
+<info folder="true" part="org.eclipse.ui.internal.ViewStack@1286d597" ratio="0.7495049" ratioLeft="757" ratioRight="253" relationship="2" relative="left">
<folder appearance="2" expanded="2">
<page content="org.eclipse.help.ui.HelpView" label="LabelNotFound"/>
<page content="org.eclipse.ui.internal.introview" label="LabelNotFound"/>
<page content="org.eclipse.ui.cheatsheets.views.CheatSheetView" label="LabelNotFound"/>
+<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory"/>
</folder>
</info>
-<info part="org.eclipse.ui.editorss" ratio="0.24950495" ratioLeft="252" ratioRight="758" relationship="2" relative="left"/>
-<info folder="true" part="bottom" ratio="0.582762" ratioLeft="595" ratioRight="426" relationship="4" relative="org.eclipse.ui.editorss">
+<info part="org.eclipse.ui.editorss" ratio="0.1777934" ratioLeft="253" ratioRight="1170" relationship="2" relative="left"/>
+<info folder="true" part="bottom" ratio="0.66071427" ratioLeft="481" ratioRight="247" relationship="4" relative="org.eclipse.ui.editorss">
<folder activePageID="org.eclipse.ui.console.ConsoleView" appearance="2" expanded="2">
<page content="org.eclipse.ui.views.ProblemView" label="Problems"/>
<page content="org.eclipse.jdt.ui.JavadocView" label="Javadoc"/>
<page content="org.eclipse.jdt.ui.SourceView" label="Declaration"/>
<page content="org.eclipse.ui.console.ConsoleView" label="Console"/>
-<page content="org.eclipse.search.ui.views.SearchView" label="LabelNotFound"/>
+<page content="org.eclipse.search.ui.views.SearchView" label="Search"/>
<page content="org.eclipse.ui.views.BookmarkView" label="LabelNotFound"/>
<page content="org.eclipse.ui.views.ProgressView" label="LabelNotFound"/>
+<page content="org.eclipse.jdt.callhierarchy.view" label="LabelNotFound"/>
<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory">
<part id="0"/>
<part id="1"/>
<part id="2"/>
<part id="3"/>
+<part id="4"/>
</presentation>
</folder>
</info>
-<info folder="true" part="right" ratio="0.7863568" ratioLeft="1049" ratioRight="285" relationship="2" relative="org.eclipse.ui.editorss">
+<info folder="true" part="right" ratio="0.62585616" ratioLeft="731" ratioRight="437" relationship="2" relative="org.eclipse.ui.editorss">
<folder activePageID="org.eclipse.ui.views.ContentOutline" appearance="2" expanded="2">
<page content="org.eclipse.ui.views.ContentOutline" label="Outline"/>
<page content="org.eclipse.ui.texteditor.TemplatesView" label="LabelNotFound"/>
@@ -218,260 +247,165 @@
</mainWindow>
</layout>
</perspective>
-<perspective editorAreaTrimState="2" editorAreaVisible="1" fixed="0" version="0.016">
-<descriptor class="org.eclipse.debug.internal.ui.DebugPerspectiveFactory" id="org.eclipse.debug.ui.DebugPerspective" label="Debug"/>
-<alwaysOnActionSet id="org.eclipse.ui.cheatsheets.actionSet"/>
-<alwaysOnActionSet id="org.eclipse.search.searchActionSet"/>
-<alwaysOnActionSet id="org.eclipse.ui.edit.text.actionSet.annotationNavigation"/>
-<alwaysOnActionSet id="org.eclipse.ui.edit.text.actionSet.navigation"/>
-<alwaysOnActionSet id="org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo"/>
-<alwaysOnActionSet id="org.eclipse.ui.externaltools.ExternalToolsSet"/>
-<alwaysOnActionSet id="org.eclipse.ui.actionSet.keyBindings"/>
-<alwaysOnActionSet id="org.eclipse.ui.actionSet.openFiles"/>
-<alwaysOnActionSet id="org.eclipse.debug.ui.launchActionSet"/>
-<alwaysOnActionSet id="org.eclipse.ui.NavigateActionSet"/>
-<alwaysOnActionSet id="org.eclipse.debug.ui.breakpointActionSet"/>
-<alwaysOnActionSet id="org.eclipse.jdt.debug.ui.JDTDebugActionSet"/>
-<alwaysOnActionSet id="org.eclipse.jdt.ui.JavaActionSet"/>
-<alwaysOnActionSet id="org.eclipse.debug.ui.debugActionSet"/>
-<show_view_action id="org.eclipse.debug.ui.DebugView"/>
-<show_view_action id="org.eclipse.debug.ui.VariableView"/>
-<show_view_action id="org.eclipse.debug.ui.BreakpointView"/>
-<show_view_action id="org.eclipse.debug.ui.ExpressionView"/>
-<show_view_action id="org.eclipse.ui.views.ContentOutline"/>
-<show_view_action id="org.eclipse.ui.console.ConsoleView"/>
-<show_view_action id="org.eclipse.ui.views.TaskList"/>
-<show_view_action id="org.eclipse.ant.ui.views.AntView"/>
-<show_view_action id="org.eclipse.pde.runtime.LogView"/>
-<show_view_action id="org.eclipse.jdt.debug.ui.DisplayView"/>
-<perspective_action id="org.eclipse.jdt.ui.JavaPerspective"/>
-<perspective_action id="org.eclipse.jdt.ui.JavaBrowsingPerspective"/>
-<hide_toolbar_item_id id="org.eclipse.ui.edit.text.toggleShowSelectedElementOnly"/>
-<view id="org.eclipse.ui.console.ConsoleView"/>
-<view id="org.eclipse.ui.views.TaskList"/>
-<view id="org.eclipse.search.ui.views.SearchView"/>
-<view id="org.eclipse.debug.ui.DebugView"/>
-<view id="org.eclipse.debug.ui.VariableView"/>
-<view id="org.eclipse.debug.ui.BreakpointView"/>
-<view id="org.eclipse.ui.views.ContentOutline"/>
-<fastViewBars/>
-<layout>
-<mainWindow>
-<info folder="true" part="org.eclipse.debug.internal.ui.NavigatorFolderView">
-<folder activePageID="org.eclipse.debug.ui.DebugView" appearance="2" expanded="2">
-<page content="org.eclipse.debug.ui.DebugView" label="Debug"/>
-<page content="org.eclipse.ui.views.ResourceNavigator" label="LabelNotFound"/>
-<page content="org.eclipse.jdt.ui.PackageExplorer" label="LabelNotFound"/>
-<page content="org.eclipse.jdt.ui.TypeHierarchy" label="LabelNotFound"/>
-<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory">
-<part id="0"/>
-</presentation>
-</folder>
-</info>
-<info folder="true" part="stickyFolderRight" ratio="0.75" ratioLeft="1194" ratioRight="398" relationship="2" relative="org.eclipse.debug.internal.ui.NavigatorFolderView">
-<folder appearance="2" expanded="2">
-<page content="org.eclipse.help.ui.HelpView" label="LabelNotFound"/>
-<page content="org.eclipse.ui.internal.introview" label="LabelNotFound"/>
-<page content="org.eclipse.ui.cheatsheets.views.CheatSheetView" label="LabelNotFound"/>
-</folder>
-</info>
-<info folder="true" part="org.eclipse.debug.internal.ui.ConsoleFolderView" ratio="0.75" ratioLeft="768" ratioRight="256" relationship="4" relative="org.eclipse.debug.internal.ui.NavigatorFolderView">
-<folder activePageID="org.eclipse.ui.console.ConsoleView" appearance="2" expanded="2">
-<page content="org.eclipse.ui.console.ConsoleView" label="Console"/>
-<page content="org.eclipse.ui.views.TaskList" label="Tasks"/>
-<page content="org.eclipse.search.ui.views.SearchView" label="Search"/>
-<page content="org.eclipse.ui.views.BookmarkView" label="LabelNotFound"/>
-<page content="org.eclipse.ui.views.PropertySheet" label="LabelNotFound"/>
-<page content="org.eclipse.jdt.debug.ui.DisplayView" label="LabelNotFound"/>
-<page content="org.eclipse.search.SearchResultView" label="LabelNotFound"/>
-<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory">
-<part id="0"/>
-<part id="1"/>
-<part id="2"/>
-</presentation>
-</folder>
-</info>
-<info part="org.eclipse.ui.editorss" ratio="0.4527559" ratioLeft="345" ratioRight="417" relationship="4" relative="org.eclipse.debug.internal.ui.NavigatorFolderView"/>
-<info folder="true" part="org.eclipse.debug.internal.ui.OutlineFolderView" ratio="0.75" ratioLeft="1194" ratioRight="398" relationship="2" relative="org.eclipse.ui.editorss">
-<folder activePageID="org.eclipse.ui.views.ContentOutline" appearance="2" expanded="2">
-<page content="org.eclipse.ui.views.ContentOutline" label="Outline"/>
-<page content="org.eclipse.ant.ui.views.AntView" label="LabelNotFound"/>
-<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory">
-<part id="0"/>
-</presentation>
-</folder>
-</info>
-<info folder="true" part="org.eclipse.debug.internal.ui.ToolsFolderView" ratio="0.5" ratioLeft="796" ratioRight="796" relationship="2" relative="org.eclipse.debug.internal.ui.NavigatorFolderView">
-<folder activePageID="org.eclipse.debug.ui.BreakpointView" appearance="2" expanded="2">
-<page content="org.eclipse.debug.ui.VariableView" label="Variables"/>
-<page content="org.eclipse.debug.ui.BreakpointView" label="Breakpoints"/>
-<page content="org.eclipse.debug.ui.ExpressionView" label="LabelNotFound"/>
-<page content="org.eclipse.debug.ui.RegisterView" label="LabelNotFound"/>
-<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory">
-<part id="0"/>
-<part id="1"/>
-</presentation>
-</folder>
-</info>
-</mainWindow>
-</layout>
-</perspective>
</perspectives>
<workingSets/>
<navigationHistory>
<editors>
<editor factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" path="/0.84/src/Lemmini.java"/>
<editor factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" path="/0.84/src/Game/GameController.java"/>
+<editor factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" path="/0.84/src/Game/Level.java"/>
+<editor factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" path="/0.84/src/Game/Mask.java"/>
+<editor factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" path="/0.84/src/Game/Lemming.java"/>
</editors>
-<item historyLabel="GameController.java" index="1">
-<position info="not_deleted" x="12192" y="0"/>
-</item>
<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="4927" y="0"/>
+<position/>
</item>
<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="5446" y="0"/>
+<position info="not_deleted" x="31464" y="0"/>
</item>
<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="5507" y="0"/>
+<position info="not_deleted" x="47515" y="14"/>
</item>
<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="5608" y="0"/>
+<position info="not_deleted" x="44626" y="62"/>
</item>
<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="5639" y="0"/>
+<position info="not_deleted" x="4761" y="0"/>
</item>
-<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="5710" y="0"/>
+<item historyLabel="GameController.java" index="1">
+<position info="not_deleted" x="17408" y="0"/>
</item>
<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="5791" y="0"/>
+<position info="not_deleted" x="4761" y="0"/>
</item>
<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="5820" y="0"/>
+<position info="not_deleted" x="3543" y="0"/>
</item>
-<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="5850" y="0"/>
+<item historyLabel="GameController.java" index="1">
+<position info="not_deleted" x="5067" y="0"/>
</item>
<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="5915" y="0"/>
+<position info="not_deleted" x="3543" y="0"/>
</item>
<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="5980" y="0"/>
+<position/>
</item>
<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="6013" y="0"/>
+<position info="not_deleted" x="47592" y="5"/>
</item>
<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="6049" y="0"/>
+<position info="not_deleted" x="6436" y="0"/>
</item>
<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="6080" y="0"/>
+<position info="not_deleted" x="15420" y="29"/>
</item>
<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="6136" y="0"/>
+<position info="not_deleted" x="53155" y="0"/>
</item>
-<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="6226" y="0"/>
+<item historyLabel="Lemming.java" index="4">
+<position info="not_deleted" x="43501" y="4"/>
</item>
-<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="6277" y="0"/>
+<item historyLabel="Mask.java" index="3">
+<position info="not_deleted" x="936" y="4"/>
</item>
-<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="6305" y="0"/>
+<item historyLabel="Lemming.java" index="4">
+<position info="not_deleted" x="936" y="4"/>
</item>
-<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="6337" y="0"/>
+<item historyLabel="Lemming.java" index="4">
+<position info="not_deleted" x="44584" y="7"/>
</item>
-<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="6367" y="0"/>
+<item historyLabel="Lemming.java" index="4">
+<position info="not_deleted" x="44651" y="4"/>
</item>
-<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="6403" y="0"/>
+<item historyLabel="Lemming.java" index="4">
+<position info="not_deleted" x="42460" y="0"/>
</item>
-<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="6454" y="0"/>
+<item historyLabel="Lemming.java" index="4">
+<position info="not_deleted" x="44839" y="7"/>
</item>
-<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="6496" y="0"/>
+<item historyLabel="Lemming.java" index="4">
+<position info="not_deleted" x="44913" y="4"/>
</item>
-<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="6661" y="0"/>
+<item historyLabel="Lemming.java" index="4">
+<position info="not_deleted" x="43501" y="4"/>
</item>
-<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="6695" y="0"/>
+<item historyLabel="Lemming.java" index="4">
+<position info="not_deleted" x="43818" y="15"/>
</item>
-<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="6748" y="0"/>
+<item historyLabel="Lemming.java" index="4">
+<position info="not_deleted" x="43956" y="4"/>
</item>
-<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="6808" y="0"/>
+<item historyLabel="Lemming.java" index="4">
+<position info="not_deleted" x="43818" y="15"/>
</item>
-<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="8509" y="0"/>
+<item historyLabel="Lemming.java" index="4">
+<position info="not_deleted" x="43956" y="4"/>
</item>
-<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="8560" y="0"/>
+<item historyLabel="Lemming.java" index="4">
+<position info="not_deleted" x="44584" y="7"/>
</item>
-<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="8596" y="0"/>
+<item historyLabel="Lemming.java" index="4">
+<position info="not_deleted" x="44651" y="4"/>
</item>
-<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="8651" y="0"/>
+<item historyLabel="Lemming.java" index="4">
+<position info="not_deleted" x="37975" y="0"/>
</item>
<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="8716" y="0"/>
+<position info="not_deleted" x="53165" y="0"/>
</item>
<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="8777" y="0"/>
+<position info="not_deleted" x="46829" y="14"/>
</item>
<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="8596" y="0"/>
+<position info="not_deleted" x="49757" y="0"/>
</item>
-<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="8811" y="0"/>
+<item historyLabel="GameController.java" index="1">
+<position info="not_deleted" x="24563" y="0"/>
</item>
-<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="8849" y="0"/>
+<item historyLabel="Lemming.java" index="4">
+<position info="not_deleted" x="28389" y="0"/>
</item>
-<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="8892" y="0"/>
+<item historyLabel="Level.java" index="2">
+<position info="not_deleted" x="28427" y="0"/>
</item>
<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="8980" y="0"/>
+<position info="not_deleted" x="29233" y="1722"/>
</item>
-<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="19805" y="0"/>
+<item historyLabel="GameController.java" index="1">
+<position info="not_deleted" x="24563" y="0"/>
</item>
-<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="9284" y="0"/>
+<item historyLabel="Level.java" index="2">
+<position info="not_deleted" x="26180" y="0"/>
</item>
<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="17007" y="0"/>
+<position info="not_deleted" x="30664" y="9"/>
</item>
-<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="19374" y="0"/>
+<item historyLabel="Level.java" index="2">
+<position info="not_deleted" x="26180" y="0"/>
</item>
-<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="19407" y="0"/>
+<item historyLabel="Level.java" index="2">
+<position/>
</item>
-<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="19668" y="0"/>
+<item historyLabel="Level.java" index="2">
+<position info="not_deleted" x="26053" y="0"/>
</item>
-<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="19534" y="0"/>
+<item historyLabel="Level.java" index="2">
+<position info="not_deleted" x="26082" y="0"/>
</item>
-<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="6209" y="7"/>
+<item historyLabel="Level.java" index="2">
+<position info="not_deleted" x="26064" y="8"/>
</item>
-<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="6140" y="0"/>
+<item historyLabel="Level.java" index="2">
+<position info="not_deleted" x="23044" y="0"/>
</item>
-<item historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="19374" y="0"/>
+<item historyLabel="Level.java" index="2">
+<position info="not_deleted" x="23625" y="0"/>
+</item>
+<item historyLabel="Level.java" index="2">
+<position info="not_deleted" x="28959" y="0"/>
</item>
<item active="true" historyLabel="Lemmini.java" index="0">
-<position info="not_deleted" x="19787" y="0"/>
+<position info="not_deleted" x="30664" y="9"/>
</item>
</navigationHistory>
<input factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/" type="8"/>
@@ -479,6 +413,10 @@
<workbenchWindowAdvisor/>
<actionBarAdvisor/>
<trimLayout>
+<trimArea IMemento.internal.id="131072">
+<trimItem IMemento.internal.id="org.eclipse.ui.editorss"/>
+<trimItem IMemento.internal.id="right"/>
+</trimArea>
<trimArea IMemento.internal.id="128">
<trimItem IMemento.internal.id="org.eclipse.ui.internal.WorkbenchWindow.topBar"/>
</trimArea>
@@ -486,18 +424,56 @@
<trimItem IMemento.internal.id="org.eclise.ui.internal.FastViewBar"/>
<trimItem IMemento.internal.id="org.eclipse.jface.action.StatusLineManager"/>
<trimItem IMemento.internal.id="org.eclipse.ui.internal.progress.ProgressRegion"/>
+<trimItem IMemento.internal.id="left"/>
+<trimItem IMemento.internal.id="bottom"/>
</trimArea>
</trimLayout>
</window>
<mruList>
-<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="MiscGfx.java" tooltip="0.84/src/Game/MiscGfx.java">
-<persistable path="/0.84/src/Game/MiscGfx.java"/>
+<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="Lemming.java" tooltip="0.84/src/Game/Lemming.java">
+<persistable path="/0.84/src/Game/Lemming.java"/>
+</file>
+<file factoryID="org.eclipse.jdt.ui.ClassFileEditorInputFactory" id="org.eclipse.jdt.ui.ClassFileEditor" name="DirectAudioDevice.class" tooltip="com.sun.media.sound.DirectAudioDevice">
+<persistable org.eclipse.jdt.ui.ClassFileIdentifier="=0.84/\/usr\/lib\/jvm\/java-6-sun-1.6.0.22\/jre\/lib\/rt.jar&lt;com.sun.media.sound(DirectAudioDevice.class"/>
+</file>
+<file factoryID="org.eclipse.jdt.ui.ClassFileEditorInputFactory" id="org.eclipse.jdt.ui.ClassFileEditor" name="Graphics.class" tooltip="java.awt.Graphics">
+<persistable org.eclipse.jdt.ui.ClassFileIdentifier="=0.84/\/usr\/lib\/jvm\/java-6-sun-1.6.0.22\/jre\/lib\/rt.jar&lt;java.awt(Graphics.class"/>
+</file>
+<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="Mask.java" tooltip="0.84/src/Game/Mask.java">
+<persistable path="/0.84/src/Game/Mask.java"/>
+</file>
+<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="Fader.java" tooltip="0.84/src/GameUtil/Fader.java">
+<persistable path="/0.84/src/GameUtil/Fader.java"/>
+</file>
+<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="PlayerDialog.java" tooltip="0.84/src/GUI/PlayerDialog.java">
+<persistable path="/0.84/src/GUI/PlayerDialog.java"/>
+</file>
+<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="ToolBox.java" tooltip="0.84/src/Tools/ToolBox.java">
+<persistable path="/0.84/src/Tools/ToolBox.java"/>
+</file>
+<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="Level.java" tooltip="0.84/src/Game/Level.java">
+<persistable path="/0.84/src/Game/Level.java"/>
+</file>
+<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="LevelInfo.java" tooltip="0.84/src/Game/LevelInfo.java">
+<persistable path="/0.84/src/Game/LevelInfo.java"/>
+</file>
+<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="GroupBitfield.java" tooltip="0.84/src/Game/GroupBitfield.java">
+<persistable path="/0.84/src/Game/GroupBitfield.java"/>
+</file>
+<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="ExtractSPR.java" tooltip="0.84/src/Extract/ExtractSPR.java">
+<persistable path="/0.84/src/Extract/ExtractSPR.java"/>
+</file>
+<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="GifEncoder.java" tooltip="0.84/src/Extract/GifEncoder.java">
+<persistable path="/0.84/src/Extract/GifEncoder.java"/>
+</file>
+<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="Stencil.java" tooltip="0.84/src/Game/Stencil.java">
+<persistable path="/0.84/src/Game/Stencil.java"/>
+</file>
+<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="Core.java" tooltip="0.84/src/Game/Core.java">
+<persistable path="/0.84/src/Game/Core.java"/>
</file>
<file factoryID="org.eclipse.ui.part.FileEditorInputFactory" id="org.eclipse.jdt.ui.CompilationUnitEditor" name="GameController.java" tooltip="0.84/src/Game/GameController.java">
<persistable path="/0.84/src/Game/GameController.java"/>
</file>
-<file factoryID="org.eclipse.jdt.ui.ClassFileEditorInputFactory" id="org.eclipse.jdt.ui.ClassFileEditor" name="ImageFetcher.class" tooltip="sun.awt.image.ImageFetcher">
-<persistable org.eclipse.jdt.ui.ClassFileIdentifier="=0.84/\/usr\/lib\/jvm\/java-6-sun-1.6.0.20\/jre\/lib\/rt.jar&lt;sun.awt.image(ImageFetcher.class"/>
-</file>
</mruList>
</workbench> \ No newline at end of file
diff --git a/jeu-test/Lemmini/0.84/src/Game/GameController.java b/jeu-test/Lemmini/0.84/src/Game/GameController.java
index f37f97d..0cc208a 100644
--- a/jeu-test/Lemmini/0.84/src/Game/GameController.java
+++ b/jeu-test/Lemmini/0.84/src/Game/GameController.java
@@ -150,11 +150,12 @@ public class GameController {
/** sound object */
public static Sound sound;
-
+ // pour le mode W
+ public static boolean modeW = false;
/** the background stencil */
- private static Stencil stencil;
+ public static Stencil stencil;
/** the background image */
- private static BufferedImage bgImage;
+ public static BufferedImage bgImage;
/** flag: play music */
private static boolean musicOn;
/** flag: play sounds */
@@ -182,7 +183,7 @@ public class GameController {
/** flag: game is paused */
private static boolean paused;
/** flag: cheat/debug mode is activated */
- private static boolean cheat = false;
+ public static boolean cheat = false;
/** flag: cheat mode was activated during play */
private static boolean wasCheated = false;
/** frame counter for handling opening of entries */
@@ -196,7 +197,7 @@ public class GameController {
/** frame counter used to update animated sprite objects */
private static int animCtr;
/** level object */
- private static Level level;
+ public static Level level;
/** index of current difficulty level */
private static int curDiffLevel;
/** index of current level pack */
diff --git a/jeu-test/Lemmini/0.84/src/Game/Level.java b/jeu-test/Lemmini/0.84/src/Game/Level.java
index 55e9cfb..977d965 100644
--- a/jeu-test/Lemmini/0.84/src/Game/Level.java
+++ b/jeu-test/Lemmini/0.84/src/Game/Level.java
@@ -461,6 +461,300 @@ public class Level {
return stencil;
}
+ public Stencil paintLevel(final BufferedImage bgImage, final Component cmp, final Stencil s , int choix) {
+ // flush all resources
+ sprObjFront = null;
+ sprObjBehind = null;
+ sprObjects = null;
+ entries = null;
+ System.gc();
+ // the screenBuffer should be big enough to hold the level
+ // returns stencil buffer;
+ int bgWidth = bgImage.getWidth();
+ int bgHeight = bgImage.getHeight();
+ // try to reuse old stencil
+ Stencil stencil;
+ if (s!= null && s.getWidth() == bgWidth && s.getHeight() == bgImage.getHeight()) {
+ s.clear();
+ stencil = s;
+ } else
+ stencil = new Stencil(bgWidth,bgImage.getHeight());
+ // paint terrain
+ for (int n = 0; n < terrain.size(); n++) {
+ Terrain t = terrain.get(n);
+ Image i = tiles[t.id];
+ int width = i.getWidth(null);
+ int height = i.getHeight(null);
+
+ int source[] = new int[width * height];
+ PixelGrabber pixelgrabber = new PixelGrabber(i, 0, 0, width,
+ height, source, 0, width);
+ try {
+ pixelgrabber.grabPixels();
+ } catch (InterruptedException interruptedexception) {}
+ int tx = t.xPos;
+ int ty = t.yPos;
+ boolean upsideDown = (t.modifier & Terrain.MODE_UPSIDE_DOWN) != 0;
+ boolean overwrite = (t.modifier & Terrain.MODE_NO_OVERWRITE) == 0;
+ boolean remove = (t.modifier & Terrain.MODE_REMOVE) != 0;
+ try {
+ for (int y = 0; y < height; y++) {
+ if (y + ty < 0 || y + ty >= bgHeight)
+ continue;
+ int yLineStencil = (y + ty) * bgWidth;
+ int yLine;
+ if (upsideDown)
+ yLine = (height - y - 1) * width;
+ else
+ yLine = y * width;
+ for (int x = 0; x < width; x++) {
+ if (x + tx < 0 || x + tx >= bgWidth)
+ continue;
+ int col = source[yLine + x];
+ // ignore transparent pixels
+ if ((col & 0xff000000) == 0)
+ continue;
+ boolean paint = false;
+ if (!overwrite) {
+ // don't overwrite -> only paint if background is transparent
+ if (stencil.get(yLineStencil + tx + x) == Stencil.MSK_EMPTY)
+ paint = true;
+ } else if (remove) {
+ bgImage.setRGB(x + tx, y + ty, 0 /*bgCol*/);
+ stencil.set(yLineStencil + tx + x, Stencil.MSK_EMPTY);
+ } else
+ paint = true;
+ if (paint) {
+ if(choix==3){
+ //System.out.println("couleur: "+x+" "+y+" = "+col);
+ bgImage.setRGB(x + tx, y + ty, -9400320);
+ }
+ // -28120
+ // -2064352
+ // -4173808
+ // -5752816
+ // -7331824
+ // -9400320
+ // -10485744
+ // -12054520
+ // -13022976
+ // -13697016
+ // -14655456
+ // -15716593
+ // -16289024
+
+ if (choix==0){
+ bgImage.setRGB(x + tx, y + ty, col);
+ }
+ stencil.set(yLineStencil + tx + x,Stencil.MSK_BRICK);
+ }
+ }
+ }
+ } catch (ArrayIndexOutOfBoundsException ex) {
+ }
+ }
+
+ // now for the animated objects
+ ArrayList<SpriteObject> oCombined = new ArrayList<SpriteObject>(64);
+ ArrayList<SpriteObject> oBehind = new ArrayList<SpriteObject>(64);
+ ArrayList<SpriteObject> oFront = new ArrayList<SpriteObject>(4);
+ ArrayList<Entry> entry = new ArrayList<Entry>(4);
+ AffineTransform tx;
+ for (int n = 0; n < objects.size(); n++) {
+ try {
+ LvlObject o = objects.get(n);
+ //if (sprObjAvailable[o.id].animMode != Sprite.ANIM_NONE) {
+ SpriteObject spr = new SpriteObject(sprObjAvailable[o.id]);
+ spr.setX(o.xPos);
+ spr.setY(o.yPos);
+ // affine transform for flipping
+ tx = AffineTransform.getScaleInstance(1, -1);
+ tx.translate(0, -spr.getHeight());
+ AffineTransformOp op = new AffineTransformOp(tx, AffineTransformOp.TYPE_NEAREST_NEIGHBOR);
+ BufferedImage imgSpr;
+ // check for entries (ignore upside down entries)
+ if (spr.getType() == SpriteObject.Type.ENTRY && !o.upsideDown) {
+ Entry e = new Entry(o.xPos+spr.getWidth()/2, o.yPos);
+ e.id = oCombined.size();
+ entry.add(e);
+ spr.setAnimMode(Sprite.Animation.NONE);
+ }
+ // animated
+ boolean drawOnVis = o.paintMode == LvlObject.MODE_VIS_ON_TERRAIN;
+ boolean noOverwrite = o.paintMode == LvlObject.MODE_NO_OVERWRITE;
+ boolean inFront = (drawOnVis || !noOverwrite);
+ boolean drawFull = o.paintMode == LvlObject.MODE_FULL;
+
+ if (inFront)
+ oFront.add(spr);
+ else
+ oBehind.add(spr);
+ oCombined.add(spr);
+
+ // draw stencil (only for objects that are not upside down)
+ if (!o.upsideDown) {
+ for (int y = 0; y < spr.getHeight(); y++) {
+ if (y + spr.getY() < 0 || y + spr.getY() >= bgHeight)
+ continue;
+ int yLineStencil = (y + spr.getY()) * bgWidth;
+ for (int x = 0; x < spr.getWidth(); x++) {
+ //boolean pixOverdraw = false;
+ if (x + spr.getX() < 0 || x + spr.getX() >= bgWidth)
+ continue;
+ // manage collision mask
+ // now read stencil
+ int stencilVal;
+ stencilVal = stencil.get(yLineStencil + spr.getX()+ x);
+ // store object type in mask and idx in higher byte
+ if (/*paint &&*/ spr.getType() != SpriteObject.Type.ENTRY && spr.getType() != SpriteObject.Type.PASSIVE)
+ if ((spr.getMask(x,y) & 0xff000000) != 0) { // not transparent
+ // avoid two objects on the same stencil position
+ // overlap makes it impossible to delete pixels in objects (mask operations)
+ if (Stencil.getObjectID(stencilVal) == 0) {
+ stencil.or(yLineStencil + spr.getX() + x, spr.getMaskType() | Stencil.createObjectID(n));
+ } // else: overlap - erased later in object instance
+ }
+ }
+ }
+ }
+ // remove invisible pixels from all object frames that are "in front"
+ // for upside down objects, just create the upside down copy
+ if (o.upsideDown || inFront || (choix==3)) {
+ for (int frame = 0; frame < spr.getNumFrames(); frame++) {
+ imgSpr = ToolBox.createImage(spr.getWidth(),spr.getHeight(), Transparency.BITMASK);
+ // get flipped or normal version
+ if (o.upsideDown) {
+ // flip the image vertically
+ imgSpr = op.filter(spr.getImage(frame), imgSpr);
+ } else {
+ WritableRaster rImgSpr = imgSpr.getRaster();
+ rImgSpr.setRect(spr.getImage(frame).getRaster()); // just copy
+ }
+ // for "in front" objects the really drawn pixels have to be determined
+ if (inFront || (choix==3)) {
+ for (int y = 0; y < spr.getHeight(); y++) {
+ if (y + spr.getY() < 0 || y + spr.getY() >= bgHeight)
+ continue;
+ int yLineStencil = (y + spr.getY()) * bgWidth;
+ for (int x = 0; x < spr.getWidth(); x++) {
+ if (x + spr.getX() < 0 || x + spr.getX() >= bgWidth)
+ continue;
+ // now read stencil
+ int stencilVal = stencil.get(yLineStencil + spr.getX()+ x);
+ int stencilValMasked = stencilVal & Stencil.MSK_WALK_ON;
+ boolean paint =
+ drawFull || (stencilValMasked != 0 && drawOnVis) || (stencilValMasked == 0 && noOverwrite);
+ // hack for overlap:
+ int id = Stencil.getObjectID(stencilVal);
+ // check if a different interactive object was already entered at this pixel position
+ // however: exits must always be painted
+ // also: passive objects will always be painted
+ if ( inFront && spr.getType() != SpriteObject.Type.PASSIVE && spr.getType() != SpriteObject.Type.EXIT && id!=0 && id != n)
+ paint = false;
+ // sprite screenBuffer pixel
+ int imgCol = imgSpr.getRGB(x,y);
+ if ((imgCol & 0xff000000) == 0)
+ continue;
+ if ((!paint)||(choix==3)){
+ int ccc_temp=0;
+ if(choix==3){
+ // -28120
+ // -2064352
+ // -3100608
+ // -4173808
+ // -5210080
+ // -5752816
+ // -7331824
+ // -8376304
+ // -9400320
+ // -10485744
+ // -12054520
+ // -13022976
+ // -13697016
+ // -14655456
+ // -15716593
+ // -16289024
+ switch(stencilVal){
+ case 0 : // MSK_EMPTY
+ ccc_temp=0;
+ break;
+ case 32 : // MSK_NO_DIG_LEFT
+ ccc_temp=-28120;
+ break;
+ case 64 : // MSK_NO_DIG_RIGHT
+ ccc_temp=-2064352;
+ break;
+ case 128 : // MSK_TRAP_DROWN
+ ccc_temp=-15716593;
+ break;
+ case 256 : // MSK_TRAP_REPLACE
+ ccc_temp=-8376304;
+ break;
+ case 512 : // MSK_TRAP_DIE
+ ccc_temp=-13697016;
+ break;
+ case 1024 : // MSK_EXIT
+ ccc_temp=-7331824;
+ break;
+ default: break;
+ }
+ } else {
+ ccc_temp=imgCol;
+ }
+ imgSpr.setRGB(x,y,ccc_temp&0xffffff); // imgCol set transparent
+ }
+ }
+ }
+ }
+ //spr.img[frame].flush(); // will be overwritten -> flush data
+ spr.setImage(frame,imgSpr);
+ }
+ }
+ } catch (ArrayIndexOutOfBoundsException ex) {
+ //System.out.println("Array out of bounds");
+ }
+ }
+
+ entries = new Entry[entry.size()];
+ entries = entry.toArray(entries);
+
+ // paint steel tiles into stencil
+ for (int n = 0; n < steel.size(); n++) {
+ Steel stl = steel.get(n);
+ int sx = stl.xPos;
+ int sy = stl.yPos;
+ for (int y = 0; y < stl.height; y++) {
+ if (y + sy < 0 || y + sy >= bgHeight)
+ continue;
+ int yLineStencil = (y + sy) * bgWidth;
+ for (int x = 0; x < stl.width; x++) {
+ if (x + sx < 0 || x + sx >= bgWidth)
+ continue;
+ int stencilVal = stencil.get(yLineStencil + x + sx);
+ // only allow steel on brick
+ if ((stencilVal & Stencil.MSK_BRICK) != 0) {
+ stencilVal &= ~Stencil.MSK_BRICK;
+ stencilVal |= Stencil.MSK_STEEL;
+ stencil.set(yLineStencil + x + sx, stencilVal);
+ }
+ }
+ }
+ }
+ // flush tiles
+ // if (tiles != null)
+ // for (int i=0; i < tiles.length; i++)
+ // tiles[i].flush();
+
+ sprObjects = new SpriteObject[oCombined.size()];
+ sprObjects = oCombined.toArray(sprObjects);
+ sprObjFront = new SpriteObject[oFront.size()];
+ sprObjFront = oFront.toArray(sprObjFront);
+ sprObjBehind = new SpriteObject[oBehind.size()];
+ sprObjBehind = oBehind.toArray(sprObjBehind);
+ System.gc();
+
+ return stencil;
+ }
/**
* Draw opaque objects behind background image.
@@ -475,8 +769,9 @@ public class Level {
try {
SpriteObject spr = sprObjBehind[n];
BufferedImage img = spr.getImage();
- if (spr.getX()+spr.getWidth() > xOfs && spr.getX() < xOfs+width)
+ if (spr.getX()+spr.getWidth() > xOfs && spr.getX() < xOfs+width){
g.drawImage(img,spr.getX()-xOfs,spr.getY(),null);
+ }
//spr.drawHidden(offImg,xOfsTemp);
} catch (ArrayIndexOutOfBoundsException ex) {}
}
@@ -496,8 +791,9 @@ public class Level {
try {
SpriteObject spr = sprObjFront[n];
BufferedImage img = spr.getImage();
- if (spr.getX()+spr.getWidth() > xOfs && spr.getX() < xOfs+width)
+ if (spr.getX()+spr.getWidth() > xOfs && spr.getX() < xOfs+width){
g.drawImage(img,spr.getX()-xOfs,spr.getY(),null);
+ }
} catch (ArrayIndexOutOfBoundsException ex) {}
}
}
@@ -577,18 +873,18 @@ public class Level {
break;
SpriteObject sprite = new SpriteObject(img, frames);
switch (anim) {
- case 0: // dont' animate
- sprite.setAnimMode(Sprite.Animation.NONE);
- break;
- case 1: // loop mode
- sprite.setAnimMode(Sprite.Animation.LOOP);
- break;
- case 2: // triggered animation - for the moment handle like loop
- sprite.setAnimMode(Sprite.Animation.TRIGGERED);
- break;
- case 3: // entry animation
- sprite.setAnimMode(Sprite.Animation.ONCE);
- break;
+ case 0: // dont' animate
+ sprite.setAnimMode(Sprite.Animation.NONE);
+ break;
+ case 1: // loop mode
+ sprite.setAnimMode(Sprite.Animation.LOOP);
+ break;
+ case 2: // triggered animation - for the moment handle like loop
+ sprite.setAnimMode(Sprite.Animation.TRIGGERED);
+ break;
+ case 3: // entry animation
+ sprite.setAnimMode(Sprite.Animation.ONCE);
+ break;
}
// get object type
int type = props.get("type_" + sIdx, -1);
@@ -596,17 +892,17 @@ public class Level {
break;
sprite.setType(SpriteObject.getType(type));
switch (sprite.getType()) {
- case EXIT:
- case NO_DIG_LEFT:
- case NO_DIG_RIGHT:
- case TRAP_DIE:
- case TRAP_REPLACE:
- case TRAP_DROWN:
- // load mask
- fName = "styles/"+set + "/" + set + "om_" + Integer.toString(idx)+ ".gif";
- img = Core.loadImage(tracker, fName);
- sprite.setMask(img);
- break;
+ case EXIT:
+ case NO_DIG_LEFT:
+ case NO_DIG_RIGHT:
+ case TRAP_DIE:
+ case TRAP_REPLACE:
+ case TRAP_DROWN:
+ // load mask
+ fName = "styles/"+set + "/" + set + "om_" + Integer.toString(idx)+ ".gif";
+ img = Core.loadImage(tracker, fName);
+ sprite.setMask(img);
+ break;
}
// get sound
int sound = props.get("sound_" + sIdx, -1);
diff --git a/jeu-test/Lemmini/0.84/src/Lemmini.java b/jeu-test/Lemmini/0.84/src/Lemmini.java
index a2dfe08..d1e3083 100644
--- a/jeu-test/Lemmini/0.84/src/Lemmini.java
+++ b/jeu-test/Lemmini/0.84/src/Lemmini.java
@@ -102,7 +102,8 @@ public class Lemmini extends JFrame implements KeyListener {
private final static int WIN_OFS = 120;
/** flag: started as Webstart application */
private static boolean isWebstartApp = true;
-
+
+
private final static long serialVersionUID = 0x01;
/** self reference */
@@ -636,7 +637,7 @@ public class Lemmini extends JFrame implements KeyListener {
try {
ServiceManager.lookup("javax.jnlp.BasicService");
} catch (UnavailableServiceException ex) {*/
- isWebstartApp = false;
+ isWebstartApp = false;
//};
// workaround to adjust time base to 1ms under XP
@@ -728,135 +729,208 @@ public class Lemmini extends JFrame implements KeyListener {
int code = keyevent.getKeyCode();
if (GameController.getGameState() == GameController.State.LEVEL) {
switch (code) {
- case KeyEvent.VK_1:
- case KeyEvent.VK_F3:
- GameController.handleIconButton(Icons.Type.CLIMB);
- break;
- case KeyEvent.VK_2:
- case KeyEvent.VK_F4:
- GameController.handleIconButton(Icons.Type.FLOAT);
- break;
- case KeyEvent.VK_3:
- case KeyEvent.VK_F5:
- GameController.handleIconButton(Icons.Type.BOMB);
- break;
- case KeyEvent.VK_4:
- case KeyEvent.VK_F6:
- GameController.handleIconButton(Icons.Type.BLOCK);
- break;
- case KeyEvent.VK_5:
- case KeyEvent.VK_F7:
- GameController.handleIconButton(Icons.Type.BUILD);
- break;
- case KeyEvent.VK_6:
- case KeyEvent.VK_F8:
- GameController.handleIconButton(Icons.Type.BASH);
- break;
- case KeyEvent.VK_7:
- case KeyEvent.VK_F9:
- GameController.handleIconButton(Icons.Type.MINE);
- break;
- case KeyEvent.VK_8:
- case KeyEvent.VK_F10:
- GameController.handleIconButton(Icons.Type.DIG);
- break;
- case KeyEvent.VK_D:
- if (GameController.isCheat())
- gp.setDebugDraw(!gp.getDebugDraw());
- break;
- case KeyEvent.VK_W:
- if (GameController.isCheat()) {
- GameController.setNumLeft(GameController.getNumLemmingsMax());
- GameController.endLevel();
- }
- break;
- case KeyEvent.VK_L: // print current level on the console
- if (GameController.isCheat())
- System.out.println(GameController.getLevelPack(GameController.getCurLevelPackIdx()).getInfo(GameController.getCurDiffLevel(), GameController.getCurLevelNumber()).getFileName());
- break;
- case KeyEvent.VK_S: // superlemming on/off
+ case KeyEvent.VK_1:
+ case KeyEvent.VK_F3:
+ GameController.handleIconButton(Icons.Type.CLIMB);
+ break;
+ case KeyEvent.VK_2:
+ case KeyEvent.VK_F4:
+ GameController.handleIconButton(Icons.Type.FLOAT);
+ break;
+ case KeyEvent.VK_3:
+ case KeyEvent.VK_F5:
+ GameController.handleIconButton(Icons.Type.BOMB);
+ break;
+ case KeyEvent.VK_4:
+ case KeyEvent.VK_F6:
+ GameController.handleIconButton(Icons.Type.BLOCK);
+ break;
+ case KeyEvent.VK_5:
+ case KeyEvent.VK_F7:
+ GameController.handleIconButton(Icons.Type.BUILD);
+ break;
+ case KeyEvent.VK_6:
+ case KeyEvent.VK_F8:
+ GameController.handleIconButton(Icons.Type.BASH);
+ break;
+ case KeyEvent.VK_7:
+ case KeyEvent.VK_F9:
+ GameController.handleIconButton(Icons.Type.MINE);
+ break;
+ case KeyEvent.VK_8:
+ case KeyEvent.VK_F10:
+ GameController.handleIconButton(Icons.Type.DIG);
+ break;
+ case KeyEvent.VK_D:
+ if (GameController.isCheat())
+ gp.setDebugDraw(!gp.getDebugDraw());
+ break;
+ case KeyEvent.VK_W:
+ if (GameController.isCheat()) {
+ GameController.setNumLeft(GameController.getNumLemmingsMax());
+ GameController.endLevel();
+ }
+ break;
+ case KeyEvent.VK_L: // print current level on the console
+ if (GameController.isCheat())
+ System.out.println(GameController.getLevelPack(GameController.getCurLevelPackIdx()).getInfo(GameController.getCurDiffLevel(), GameController.getCurLevelNumber()).getFileName());
+ break;
+ case KeyEvent.VK_S: // superlemming on/off
+ if (GameController.isCheat())
+ GameController.setSuperLemming(!GameController.isSuperLemming());
+ else {
+ try{
+ File file = new File(Core.resourcePath+"/level.png");
+ BufferedImage tmp = GameController.getLevel().createMiniMap(null,GameController.getBgImage(), 1, 1, false);
+ ImageIO.write(tmp, "png", file);
+ } catch (Exception ex) {}
+ }
+ break;
+ case KeyEvent.VK_C:
+ if (Core.player.isCheat()) {
+ GameController.setCheat(!GameController.isCheat());
if (GameController.isCheat())
- GameController.setSuperLemming(!GameController.isSuperLemming());
- else {
- try{
- File file = new File(Core.resourcePath+"/level.png");
- BufferedImage tmp = GameController.getLevel().createMiniMap(null,GameController.getBgImage(), 1, 1, false);
- ImageIO.write(tmp, "png", file);
- } catch (Exception ex) {}
- }
- break;
- case KeyEvent.VK_C:
- if (Core.player.isCheat()) {
- GameController.setCheat(!GameController.isCheat());
- if (GameController.isCheat())
- GameController.setWasCheated(true);
- }
+ GameController.setWasCheated(true);
+ }
+ else
+ GameController.setCheat(false);
+ break;
+ case KeyEvent.VK_F11:
+ case KeyEvent.VK_P:
+ GameController.setPaused(!GameController.isPaused());
+ GameController.pressIcon(Icons.Type.PAUSE);
+ break;
+ case KeyEvent.VK_F:
+ case KeyEvent.VK_ENTER:
+ GameController.setFastForward(!GameController.isFastForward());
+ GameController.pressIcon(Icons.Type.FFWD);
+ break;
+ case KeyEvent.VK_X:
+ if (GameController.isCheat())
+ patchLevel(GameController.getLevelPack(GameController.getCurLevelPackIdx()).getInfo(GameController.getCurDiffLevel(), GameController.getCurLevelNumber()).getFileName());
+ break;
+ case KeyEvent.VK_RIGHT /*39*/: {
+ if (GameController.isAdvancedSelect())
+ gp.setCursor(LemmCursor.Type.RIGHT);
+ else {
+ int xOfsTemp = GameController.getxPos() + ((gp.isShiftPressed()) ? GraphicsPane.X_STEP_FAST : GraphicsPane.X_STEP);
+ if (xOfsTemp < Level.WIDTH-this.getWidth())
+ GameController.setxPos(xOfsTemp);
else
- GameController.setCheat(false);
- break;
- case KeyEvent.VK_F11:
- case KeyEvent.VK_P:
- GameController.setPaused(!GameController.isPaused());
- GameController.pressIcon(Icons.Type.PAUSE);
- break;
- case KeyEvent.VK_F:
- case KeyEvent.VK_ENTER:
- GameController.setFastForward(!GameController.isFastForward());
- GameController.pressIcon(Icons.Type.FFWD);
- break;
- case KeyEvent.VK_X:
- if (GameController.isCheat())
- patchLevel(GameController.getLevelPack(GameController.getCurLevelPackIdx()).getInfo(GameController.getCurDiffLevel(), GameController.getCurLevelNumber()).getFileName());
- break;
- case KeyEvent.VK_RIGHT /*39*/: {
- if (GameController.isAdvancedSelect())
- gp.setCursor(LemmCursor.Type.RIGHT);
- else {
- int xOfsTemp = GameController.getxPos() + ((gp.isShiftPressed()) ? GraphicsPane.X_STEP_FAST : GraphicsPane.X_STEP);
- if (xOfsTemp < Level.WIDTH-this.getWidth())
- GameController.setxPos(xOfsTemp);
- else
- GameController.setxPos(Level.WIDTH-this.getWidth());
- }
- break; }
- case KeyEvent.VK_LEFT /*37*/: {
- if (GameController.isAdvancedSelect())
- gp.setCursor(LemmCursor.Type.LEFT);
- else {
- int xOfsTemp = GameController.getxPos() - ((gp.isShiftPressed()) ? GraphicsPane.X_STEP_FAST : GraphicsPane.X_STEP);
- if (xOfsTemp > 0)
- GameController.setxPos(xOfsTemp);
- else
- GameController.setxPos(0);
- }
- break; }
- case KeyEvent.VK_UP: {
- gp.setCursor(LemmCursor.Type.WALKER);
- break;}
- case KeyEvent.VK_SHIFT:
- gp.setShiftPressed(true);
- break;
- case KeyEvent.VK_SPACE:
- if (GameController.isCheat()) {
- Lemming l = new Lemming(gp.getCursorX(), gp.getCursorY());
- synchronized (GameController.getLemmings()) {
- GameController.getLemmings().add(l);
- }
+ GameController.setxPos(Level.WIDTH-this.getWidth());
+ }
+ break; }
+ case KeyEvent.VK_LEFT /*37*/: {
+ if (GameController.isAdvancedSelect())
+ gp.setCursor(LemmCursor.Type.LEFT);
+ else {
+ int xOfsTemp = GameController.getxPos() - ((gp.isShiftPressed()) ? GraphicsPane.X_STEP_FAST : GraphicsPane.X_STEP);
+ if (xOfsTemp > 0)
+ GameController.setxPos(xOfsTemp);
+ else
+ GameController.setxPos(0);
+ }
+ break; }
+ case KeyEvent.VK_UP: {
+ gp.setCursor(LemmCursor.Type.WALKER);
+ break;}
+ case KeyEvent.VK_SHIFT:
+ gp.setShiftPressed(true);
+ break;
+ case KeyEvent.VK_SPACE:
+ if (GameController.isCheat()) {
+ Lemming l = new Lemming(gp.getCursorX(), gp.getCursorY());
+ synchronized (GameController.getLemmings()) {
+ GameController.getLemmings().add(l);
}
- break;
- case KeyEvent.VK_PLUS:
- case KeyEvent.VK_ADD:
- case KeyEvent.VK_F2:
- GameController.pressPlus(GameController.KEYREPEAT_KEY);
- break;
- case KeyEvent.VK_MINUS:
- case KeyEvent.VK_SUBTRACT:
- case KeyEvent.VK_F1:
- GameController.pressMinus(GameController.KEYREPEAT_KEY);
- break;
- case KeyEvent.VK_F12:
- GameController.handleIconButton(Icons.Type.NUKE);
- break;
+ }
+ break;
+ case KeyEvent.VK_Q:
+ if (GameController.cheat) {
+ GameController.modeW=true;
+ // GameController.stencil = GameController.level.paintLevel(GameController.bgImage, Core.getCmp(), GameController.stencil,3);
+ for(int pixelj=0;pixelj<GameController.stencil.getHeight();++pixelj){
+ for(int pixel=0;pixel<GameController.stencil.getWidth();++pixel){
+ //System.out.print(GameController.stencil.get(pixel));
+ //if(pixel%GameController.stencil.getWidth()==0){System.out.println("|"+pixel);}
+ // -28120
+ // -2064352
+ // -3100608
+ // -4173808
+ // -5210080
+ // -5752816
+ // -7331824
+ // -8376304
+ // -9400320
+ // -10485744
+ // -12054520
+ // -13022976
+ // -13697016
+ // -14655456
+ // -15716593
+ // -16289024
+ int ccc_temp=0;
+ switch(GameController.stencil.get(pixel,pixelj)){ //*GameController.stencil.getHeight())){
+ case 0 : // MSK_EMPTY
+ ccc_temp=0;
+ break;
+ case 1 : // MSK_BRICK
+ ccc_temp=-9400320;
+ break;
+ case 2 : // MSK_STEEL
+ ccc_temp=-16289024;
+ break;
+ case 8 : // MSK_STOPPER_RIGHT
+ ccc_temp=-13022976;
+ break;
+ case 16 : // MSK_STOPPER_LEFT
+ ccc_temp=-14655456;
+ break;
+ case 32 : // MSK_NO_DIG_LEFT
+ ccc_temp=-28120;
+ break;
+ case 64 : // MSK_NO_DIG_RIGHT
+ ccc_temp=-2064352;
+ break;
+ case 128 : // MSK_TRAP_DROWN
+ ccc_temp=-15716593;
+ break;
+ case 256 : // MSK_TRAP_REPLACE
+ ccc_temp=-8376304;
+ break;
+ case 512 : // MSK_TRAP_DIE
+ ccc_temp=-13697016;
+ break;
+ case 1024 : // MSK_EXIT
+ ccc_temp=-7331824;
+ break;
+ default: break;
+ }
+ GameController.bgImage.setRGB(pixel, pixelj , ccc_temp );
+ }}
+ } else {
+ GameController.modeW=false;
+ GameController.stencil = GameController.level.paintLevel(GameController.bgImage, Core.getCmp(), GameController.stencil,0);
+ }
+ break;
+ case KeyEvent.VK_PLUS:
+ case KeyEvent.VK_ADD:
+ case KeyEvent.VK_F2:
+ GameController.pressPlus(GameController.KEYREPEAT_KEY);
+ break;
+ case KeyEvent.VK_T: if (GameController.cheat)
+ { GameController.cheat=false; }
+ else
+ {GameController.cheat=true;}
+ break;
+ case KeyEvent.VK_MINUS:
+ case KeyEvent.VK_SUBTRACT:
+ case KeyEvent.VK_F1:
+ GameController.pressMinus(GameController.KEYREPEAT_KEY);
+ break;
+ case KeyEvent.VK_F12:
+ GameController.handleIconButton(Icons.Type.NUKE);
+ break;
}
keyevent.consume();
}
@@ -870,34 +944,34 @@ public class Lemmini extends JFrame implements KeyListener {
int code = keyevent.getKeyCode();
if (GameController.getGameState() == GameController.State.LEVEL) {
switch (code) {
- case KeyEvent.VK_SHIFT:
- gp.setShiftPressed(false);
- break;
- case KeyEvent.VK_PLUS:
- case KeyEvent.VK_ADD:
- case KeyEvent.VK_F2:
- GameController.releasePlus(GameController.KEYREPEAT_KEY);
- break;
- case KeyEvent.VK_MINUS:
- case KeyEvent.VK_SUBTRACT:
- case KeyEvent.VK_F1:
- GameController.releaseMinus(GameController.KEYREPEAT_KEY);
- break;
- case KeyEvent.VK_F12:
- GameController.releaseIcon(Icons.Type.NUKE);
- break;
- case KeyEvent.VK_LEFT:
- if (LemmCursor.getType() == LemmCursor.Type.LEFT)
- gp.setCursor(LemmCursor.Type.NORMAL);
- break;
- case KeyEvent.VK_RIGHT:
- if (LemmCursor.getType() == LemmCursor.Type.RIGHT)
- gp.setCursor(LemmCursor.Type.NORMAL);
- break;
- case KeyEvent.VK_UP:
- if (LemmCursor.getType() == LemmCursor.Type.WALKER)
- gp.setCursor(LemmCursor.Type.NORMAL);
- break;
+ case KeyEvent.VK_SHIFT:
+ gp.setShiftPressed(false);
+ break;
+ case KeyEvent.VK_PLUS:
+ case KeyEvent.VK_ADD:
+ case KeyEvent.VK_F2:
+ GameController.releasePlus(GameController.KEYREPEAT_KEY);
+ break;
+ case KeyEvent.VK_MINUS:
+ case KeyEvent.VK_SUBTRACT:
+ case KeyEvent.VK_F1:
+ GameController.releaseMinus(GameController.KEYREPEAT_KEY);
+ break;
+ case KeyEvent.VK_F12:
+ GameController.releaseIcon(Icons.Type.NUKE);
+ break;
+ case KeyEvent.VK_LEFT:
+ if (LemmCursor.getType() == LemmCursor.Type.LEFT)
+ gp.setCursor(LemmCursor.Type.NORMAL);
+ break;
+ case KeyEvent.VK_RIGHT:
+ if (LemmCursor.getType() == LemmCursor.Type.RIGHT)
+ gp.setCursor(LemmCursor.Type.NORMAL);
+ break;
+ case KeyEvent.VK_UP:
+ if (LemmCursor.getType() == LemmCursor.Type.WALKER)
+ gp.setCursor(LemmCursor.Type.NORMAL);
+ break;
}
}
}
@@ -1128,187 +1202,189 @@ class GraphicsPane extends JPanel implements Runnable, MouseListener, MouseMotio
BufferedImage bgImage = GameController.getBgImage();
switch (GameController.getGameState()) {
- case INTRO:
- TextScreen.setMode(TextScreen.Mode.INTRO);
- TextScreen.update();
- offGfx.drawImage(TextScreen.getScreen(), 0,0,null);
- //offGfx.drawImage(LemmCursor.getImage(LemmCursor.TYPE_NORMAL), LemmCursor.x, LemmCursor.y, null);
- break;
- case BRIEFING:
- TextScreen.setMode(TextScreen.Mode.BRIEFING);
- TextScreen.update();
- offGfx.drawImage(TextScreen.getScreen(), 0,0,null);
- //offGfx.drawImage(LemmCursor.getImage(LemmCursor.TYPE_NORMAL), LemmCursor.x, LemmCursor.y, null);
- break;
- case DEBRIEFING:
- TextScreen.setMode(TextScreen.Mode.DEBRIEFING);
- TextScreen.update();
- offGfx.drawImage(TextScreen.getScreen(), 0,0,null);
- TextScreen.getDialog().handleMouseMove(xMouseScreen, yMouseScreen);
- //offGfx.drawImage(LemmCursor.getImage(LemmCursor.TYPE_NORMAL), LemmCursor.x, LemmCursor.y, null);
- break;
- case LEVEL:
- case LEVEL_END:
- if (bgImage != null) {
- GameController.update();
- // mouse movement
- if (yMouseScreen > 40 && yMouseScreen <scoreY) { // avoid scrolling if menu is selected
- int xOfsTemp;
- if (xMouseScreen > this.getWidth() - AUTOSCROLL_RANGE) {
- xOfsTemp = GameController.getxPos() + ((shiftPressed) ? X_STEP_FAST : X_STEP);
- if (xOfsTemp < Level.WIDTH-this.getWidth())
- GameController.setxPos(xOfsTemp);
- else
- GameController.setxPos(Level.WIDTH-this.getWidth());
- } else if (xMouseScreen < AUTOSCROLL_RANGE) {
- xOfsTemp = GameController.getxPos() - ((shiftPressed) ? X_STEP_FAST : X_STEP);
- if (xOfsTemp > 0)
- GameController.setxPos(xOfsTemp);
- else
- GameController.setxPos(0);
- }
+ case INTRO:
+ TextScreen.setMode(TextScreen.Mode.INTRO);
+ TextScreen.update();
+ offGfx.drawImage(TextScreen.getScreen(), 0,0,null);
+ //offGfx.drawImage(LemmCursor.getImage(LemmCursor.TYPE_NORMAL), LemmCursor.x, LemmCursor.y, null);
+ break;
+ case BRIEFING:
+ TextScreen.setMode(TextScreen.Mode.BRIEFING);
+ TextScreen.update();
+ offGfx.drawImage(TextScreen.getScreen(), 0,0,null);
+ //offGfx.drawImage(LemmCursor.getImage(LemmCursor.TYPE_NORMAL), LemmCursor.x, LemmCursor.y, null);
+ break;
+ case DEBRIEFING:
+ TextScreen.setMode(TextScreen.Mode.DEBRIEFING);
+ TextScreen.update();
+ offGfx.drawImage(TextScreen.getScreen(), 0,0,null);
+ TextScreen.getDialog().handleMouseMove(xMouseScreen, yMouseScreen);
+ //offGfx.drawImage(LemmCursor.getImage(LemmCursor.TYPE_NORMAL), LemmCursor.x, LemmCursor.y, null);
+ break;
+ case LEVEL:
+ case LEVEL_END:
+ if (bgImage != null) {
+ GameController.update();
+ // mouse movement
+ if (yMouseScreen > 40 && yMouseScreen <scoreY) { // avoid scrolling if menu is selected
+ int xOfsTemp;
+ if (xMouseScreen > this.getWidth() - AUTOSCROLL_RANGE) {
+ xOfsTemp = GameController.getxPos() + ((shiftPressed) ? X_STEP_FAST : X_STEP);
+ if (xOfsTemp < Level.WIDTH-this.getWidth())
+ GameController.setxPos(xOfsTemp);
+ else
+ GameController.setxPos(Level.WIDTH-this.getWidth());
+ } else if (xMouseScreen < AUTOSCROLL_RANGE) {
+ xOfsTemp = GameController.getxPos() - ((shiftPressed) ? X_STEP_FAST : X_STEP);
+ if (xOfsTemp > 0)
+ GameController.setxPos(xOfsTemp);
+ else
+ GameController.setxPos(0);
}
- // store local copy of xOfs to avoid sync problems with AWT threads
- // (scrolling by dragging changes xOfs as well)
- int xOfsTemp = GameController.getxPos();
+ }
+ // store local copy of xOfs to avoid sync problems with AWT threads
+ // (scrolling by dragging changes xOfs as well)
+ int xOfsTemp = GameController.getxPos();
- //timeBaseRedraw +=GameController.timePerFrame;
- int w = this.getWidth();
- int h = Level.HEIGHT;
- if (h>this.getHeight())
- h = this.getHeight();
+ //timeBaseRedraw +=GameController.timePerFrame;
+ int w = this.getWidth();
+ int h = Level.HEIGHT;
+ if (h>this.getHeight())
+ h = this.getHeight();
- Level level = GameController.getLevel();
- if (level != null) {
+ Level level = GameController.getLevel();
+ if (level != null) {
- // clear screen
- offGfx.setClip(0,0,w,h);
- offGfx.setBackground(level.getBgColor());
- offGfx.clearRect(0, 0, w, h);
+ // clear screen
+ offGfx.setClip(0,0,w,h);
+ offGfx.setBackground(level.getBgColor());
+ offGfx.clearRect(0, 0, w, h);
- // draw "behind" objects
- GameController.getLevel().drawBehindObjects(offGfx, w, xOfsTemp);
+ // draw "behind" objects
+ GameController.getLevel().drawBehindObjects(offGfx, w, xOfsTemp);
- // draw background
- offGfx.drawImage(bgImage, 0, 0, w, h, xOfsTemp, 0, xOfsTemp+w, h, this);
+ // draw backgroundtest
+ offGfx.drawImage(bgImage, 0, 0, w, h, xOfsTemp, 0, xOfsTemp+w, h, this);
- // draw "in front" objects
- GameController.getLevel().drawInFrontObjects(offGfx, w, xOfsTemp);
- }
- // clear parts of the screen for menu etc.
- offGfx.setClip(0,Level.HEIGHT,w,this.getHeight());
- offGfx.setBackground(Color.BLACK);
- offGfx.clearRect(0,scoreY,w,this.getHeight());
- // draw counter, icons, small level pic
- // draw menu
- //Icons icons = GameController.getIcons();
- GameController.drawIcons(offGfx, 0, iconsY);
- offGfx.drawImage(MiscGfx.getImage(MiscGfx.Index.BORDER), smallX-4, smallY-4, null);
- MiniMap.draw(offGfx, smallX, smallY, xOfsTemp);
- // draw counters
- GameController.drawCounters(offGfx,counterY);
-
- // draw lemmings
- offGfx.setClip(0,0,w,h);
- GameController.getLemmsUnderCursor().clear();
- List<Lemming> lemmings = GameController.getLemmings();
- synchronized (GameController.getLemmings()) {
- Iterator<Lemming> it = lemmings.iterator();
- while (it.hasNext()) {
- Lemming l = it.next();
- int lx = l.screenX();
- int ly = l.screenY();
- int mx = l.midX()-16;
- if (lx+l.width() > xOfsTemp && lx < xOfsTemp+w) {
- offGfx.drawImage(l.getImage(),lx-xOfsTemp,ly,null);
- if (LemmCursor.doesCollide(l, xOfsTemp)) {
- GameController.getLemmsUnderCursor().add(l);
- }
- BufferedImage cd = l.getCountdown();
- if (cd!=null)
- offGfx.drawImage(cd,mx-xOfsTemp,ly-cd.getHeight(),null);
+ // draw "in front" objects
+ GameController.getLevel().drawInFrontObjects(offGfx, w, xOfsTemp);
+ }
+
+
+ // clear parts of the screen for menu etc.
+ offGfx.setClip(0,Level.HEIGHT,w,this.getHeight());
+ offGfx.setBackground(Color.BLACK);
+ offGfx.clearRect(0,scoreY,w,this.getHeight());
+ // draw counter, icons, small level pic
+ // draw menu
+ //Icons icons = GameController.getIcons();
+ GameController.drawIcons(offGfx, 0, iconsY);
+ offGfx.drawImage(MiscGfx.getImage(MiscGfx.Index.BORDER), smallX-4, smallY-4, null);
+ MiniMap.draw(offGfx, smallX, smallY, xOfsTemp);
+ // draw counters
+ GameController.drawCounters(offGfx,counterY);
+
+ // draw lemmings
+ offGfx.setClip(0,0,w,h);
+ GameController.getLemmsUnderCursor().clear();
+ List<Lemming> lemmings = GameController.getLemmings();
+ synchronized (GameController.getLemmings()) {
+ Iterator<Lemming> it = lemmings.iterator();
+ while (it.hasNext()) {
+ Lemming l = it.next();
+ int lx = l.screenX();
+ int ly = l.screenY();
+ int mx = l.midX()-16;
+ if (lx+l.width() > xOfsTemp && lx < xOfsTemp+w) {
+ offGfx.drawImage(l.getImage(),lx-xOfsTemp,ly,null);
+ if (LemmCursor.doesCollide(l, xOfsTemp)) {
+ GameController.getLemmsUnderCursor().add(l);
+ }
+ BufferedImage cd = l.getCountdown();
+ if (cd!=null)
+ offGfx.drawImage(cd,mx-xOfsTemp,ly-cd.getHeight(),null);
- BufferedImage sel = l.getSelectImg();
- if (sel!=null)
- offGfx.drawImage(sel,mx-xOfsTemp,ly-sel.getHeight(),null);
+ BufferedImage sel = l.getSelectImg();
+ if (sel!=null)
+ offGfx.drawImage(sel,mx-xOfsTemp,ly-sel.getHeight(),null);
- }
- }
- // draw pixels in mini map
- offGfx.setClip(0,0,w,this.getHeight());
- it = lemmings.iterator();
- while (it.hasNext()) {
- Lemming l = it.next();
- int lx = l.screenX();
- int ly = l.screenY();
- // draw pixel in mini map
- MiniMap.drawLemming(offGfx, lx, ly);
}
}
- Lemming lemmUnderCursor = GameController.lemmUnderCursor(LemmCursor.getType());
- offGfx.setClip(0,0,w,h);
- // draw explosions
- GameController.drawExplosions(offGfx,offImage[0].getWidth(), Level.HEIGHT, xOfsTemp);
+ // draw pixels in mini map
offGfx.setClip(0,0,w,this.getHeight());
-
- // draw info string
- outStrGfx.clearRect(0, 0, outStrImg.getWidth(), outStrImg.getHeight());
- if (GameController.isCheat()) {
- Stencil stencil = GameController.getStencil();
- if (stencil != null) {
- int stencilVal = stencil.get(xMouse+yMouse*Level.WIDTH);
- String test = "x: "+xMouse+", y: "+yMouse+", mask: "+(stencilVal&0xffff)+" "+Stencil.getObjectID(stencilVal);
- LemmFont.strImage(outStrGfx, test);
- offGfx.drawImage(outStrImg,4,Level.HEIGHT+8,null);
- }
- } else {
- StringBuffer sb = new StringBuffer();
- sb.append("OUT ");
- String s = Integer.toString(GameController.getLemmings().size());
- sb.append(s);
- if (s.length()==1)
- sb.append(" ");
- sb.append(" IN ");
- s = Integer.toString(GameController.getNumLeft()*100/GameController.getNumLemmingsMax());
- if (s.length()==1)
- sb.append("0");
- sb.append(s);
- sb.append("% TIME ").append(GameController.getTimeString());
- //BufferedImage iout = LemmFont.strImage(out);
- String n=null;
- if (lemmUnderCursor != null) {
- n = lemmUnderCursor.getName();
- // display also the total number of lemmings under the cursor
- int num = GameController.getLemmsUnderCursor().size();
- if (num > 1)
- n = n + " " + Integer.toString(num);
- }
- if (n!=null) {
- int ln = n.length();
- if (ln>14)
- ln = 14;
- sb.insert(0," ".substring(0, 14-ln));
- sb.insert(0,n);
- } else
- sb.insert(0," ");
- LemmFont.strImage(outStrGfx, sb.toString());
+ it = lemmings.iterator();
+ while (it.hasNext()) {
+ Lemming l = it.next();
+ int lx = l.screenX();
+ int ly = l.screenY();
+ // draw pixel in mini map
+ MiniMap.drawLemming(offGfx, lx, ly);
+ }
+ }
+ Lemming lemmUnderCursor = GameController.lemmUnderCursor(LemmCursor.getType());
+ offGfx.setClip(0,0,w,h);
+ // draw explosions
+ GameController.drawExplosions(offGfx,offImage[0].getWidth(), Level.HEIGHT, xOfsTemp);
+ offGfx.setClip(0,0,w,this.getHeight());
+
+ // draw info string
+ outStrGfx.clearRect(0, 0, outStrImg.getWidth(), outStrImg.getHeight());
+ if (GameController.isCheat()) {
+ Stencil stencil = GameController.getStencil();
+ if (stencil != null) {
+ int stencilVal = stencil.get(xMouse+yMouse*Level.WIDTH);
+ String test = "x: "+xMouse+", y: "+yMouse+", mask: "+(stencilVal&0xffff)+" "+Stencil.getObjectID(stencilVal);
+ LemmFont.strImage(outStrGfx, test);
offGfx.drawImage(outStrImg,4,Level.HEIGHT+8,null);
}
- // replay icon
- BufferedImage replayImage = GameController.getReplayImage();
- if (replayImage != null)
- offGfx.drawImage(replayImage,this.getWidth()-2*replayImage.getWidth(),replayImage.getHeight(),null);
- // draw cursor
+ } else {
+ StringBuffer sb = new StringBuffer();
+ sb.append("OUT ");
+ String s = Integer.toString(GameController.getLemmings().size());
+ sb.append(s);
+ if (s.length()==1)
+ sb.append(" ");
+ sb.append(" IN ");
+ s = Integer.toString(GameController.getNumLeft()*100/GameController.getNumLemmingsMax());
+ if (s.length()==1)
+ sb.append("0");
+ sb.append(s);
+ sb.append("% TIME ").append(GameController.getTimeString());
+ //BufferedImage iout = LemmFont.strImage(out);
+ String n=null;
if (lemmUnderCursor != null) {
- int lx = lemmUnderCursor.midX()-xOfsTemp;
- int ly = lemmUnderCursor.midY();
- BufferedImage cursorImg = LemmCursor.getBoxImage();
- lx -= cursorImg.getWidth()/2;
- ly -= cursorImg.getHeight()/2;
- offGfx.drawImage(cursorImg,lx,ly,null);
+ n = lemmUnderCursor.getName();
+ // display also the total number of lemmings under the cursor
+ int num = GameController.getLemmsUnderCursor().size();
+ if (num > 1)
+ n = n + " " + Integer.toString(num);
}
- //offGfx.drawImage(LemmCursor.getImage(0), LemmCursor.x, LemmCursor.y, null);
+ if (n!=null) {
+ int ln = n.length();
+ if (ln>14)
+ ln = 14;
+ sb.insert(0," ".substring(0, 14-ln));
+ sb.insert(0,n);
+ } else
+ sb.insert(0," ");
+ LemmFont.strImage(outStrGfx, sb.toString());
+ offGfx.drawImage(outStrImg,4,Level.HEIGHT+8,null);
+ }
+ // replay icon
+ BufferedImage replayImage = GameController.getReplayImage();
+ if (replayImage != null)
+ offGfx.drawImage(replayImage,this.getWidth()-2*replayImage.getWidth(),replayImage.getHeight(),null);
+ // draw cursor
+ if (lemmUnderCursor != null) {
+ int lx = lemmUnderCursor.midX()-xOfsTemp;
+ int ly = lemmUnderCursor.midY();
+ BufferedImage cursorImg = LemmCursor.getBoxImage();
+ lx -= cursorImg.getWidth()/2;
+ ly -= cursorImg.getHeight()/2;
+ offGfx.drawImage(cursorImg,lx,ly,null);
}
+ //offGfx.drawImage(LemmCursor.getImage(0), LemmCursor.x, LemmCursor.y, null);
+ }
}
// fader
@@ -1335,6 +1411,7 @@ class GraphicsPane extends JPanel implements Runnable, MouseListener, MouseMotio
if (timerRepaint.timePassedAdd(GameController.MICROSEC_PER_FRAME)) {
// time passed -> redraw necessary
redraw();
+
// special handling for fast forward or super lemming mode only during real gameplay
if (gameState == GameController.State.LEVEL) {
// in fast forward or super lemming modes, update the game mechanics
@@ -1379,22 +1456,22 @@ class GraphicsPane extends JPanel implements Runnable, MouseListener, MouseMotio
leftMousePressed = false;
switch (GameController.getGameState()) {
- case LEVEL:
- if (y > iconsY && y < iconsY+Icons.HEIGHT) {
- Icons.Type type = GameController.getIconType(x);
- if (type != Icons.Type.INVALID)
- GameController.releaseIcon(type);
- }
- // always release icons which don't stay pressed
- // this is to avoid the icons get stuck when they're pressed,
- // the the mouse is dragged out and released outside
- GameController.releasePlus(GameController.KEYREPEAT_ICON);
- GameController.releaseMinus(GameController.KEYREPEAT_ICON);
- GameController.releaseIcon(Icons.Type.MINUS);
- GameController.releaseIcon(Icons.Type.PLUS);
- GameController.releaseIcon(Icons.Type.NUKE);
- mouseevent.consume();
- break;
+ case LEVEL:
+ if (y > iconsY && y < iconsY+Icons.HEIGHT) {
+ Icons.Type type = GameController.getIconType(x);
+ if (type != Icons.Type.INVALID)
+ GameController.releaseIcon(type);
+ }
+ // always release icons which don't stay pressed
+ // this is to avoid the icons get stuck when they're pressed,
+ // the the mouse is dragged out and released outside
+ GameController.releasePlus(GameController.KEYREPEAT_ICON);
+ GameController.releaseMinus(GameController.KEYREPEAT_ICON);
+ GameController.releaseIcon(Icons.Type.MINUS);
+ GameController.releaseIcon(Icons.Type.PLUS);
+ GameController.releaseIcon(Icons.Type.NUKE);
+ mouseevent.consume();
+ break;
}
}
@@ -1419,70 +1496,70 @@ class GraphicsPane extends JPanel implements Runnable, MouseListener, MouseMotio
return;
switch (GameController.getGameState()) {
- case BRIEFING:
- MiniMap.init(smallX, smallY, 16, 8, true);
- GameController.setTransition(GameController.TransitionState.TO_LEVEL);
+ case BRIEFING:
+ MiniMap.init(smallX, smallY, 16, 8, true);
+ GameController.setTransition(GameController.TransitionState.TO_LEVEL);
+ Fader.setState(Fader.State.OUT);
+ mouseevent.consume();
+ break;
+ case DEBRIEFING:
+ int button = TextScreen.getDialog().handleLeftClick(x,y);
+ switch (button) {
+ case TextScreen.BUTTON_CONTINUE:
+ GameController.nextLevel(); // continue to next level
+ GameController.requestChangeLevel(GameController.getCurLevelPackIdx(), GameController.getCurDiffLevel(),
+ GameController.getCurLevelNumber(), false);
+ break;
+ case TextScreen.BUTTON_RESTART:
+ GameController.requestRestartLevel(false);
+ break;
+ case TextScreen.BUTTON_MENU:
+ GameController.setTransition(GameController.TransitionState.TO_INTRO);
Fader.setState(Fader.State.OUT);
- mouseevent.consume();
+ ((JFrame)Core.getCmp()).setTitle("Lemmini");
break;
- case DEBRIEFING:
- int button = TextScreen.getDialog().handleLeftClick(x,y);
- switch (button) {
- case TextScreen.BUTTON_CONTINUE:
- GameController.nextLevel(); // continue to next level
- GameController.requestChangeLevel(GameController.getCurLevelPackIdx(), GameController.getCurDiffLevel(),
- GameController.getCurLevelNumber(), false);
- break;
- case TextScreen.BUTTON_RESTART:
- GameController.requestRestartLevel(false);
- break;
- case TextScreen.BUTTON_MENU:
- GameController.setTransition(GameController.TransitionState.TO_INTRO);
- Fader.setState(Fader.State.OUT);
- ((JFrame)Core.getCmp()).setTitle("Lemmini");
- break;
- case TextScreen.BUTTON_REPLAY:
- GameController.requestRestartLevel(true);
- break;
- case TextScreen.BUTTON_SAVEREPLAY:
- String replayPath = ToolBox.getFileName(Lemmini.thisFrame,Core.resourcePath,Core.REPLAY_EXTENSIONS,false);
- if (replayPath != null) {
- try {
- String ext = ToolBox.getExtension(replayPath);
- if (ext == null)
- replayPath += ".rpl";
- if (GameController.saveReplay(replayPath))
- return;
- // else: no success
- JOptionPane.showMessageDialog(Core.getCmp(), "Error!", "Saving replay failed", JOptionPane.INFORMATION_MESSAGE);
- } catch (Exception ex) {
- ToolBox.showException(ex);
- }
- }
- break;
+ case TextScreen.BUTTON_REPLAY:
+ GameController.requestRestartLevel(true);
+ break;
+ case TextScreen.BUTTON_SAVEREPLAY:
+ String replayPath = ToolBox.getFileName(Lemmini.thisFrame,Core.resourcePath,Core.REPLAY_EXTENSIONS,false);
+ if (replayPath != null) {
+ try {
+ String ext = ToolBox.getExtension(replayPath);
+ if (ext == null)
+ replayPath += ".rpl";
+ if (GameController.saveReplay(replayPath))
+ return;
+ // else: no success
+ JOptionPane.showMessageDialog(Core.getCmp(), "Error!", "Saving replay failed", JOptionPane.INFORMATION_MESSAGE);
+ } catch (Exception ex) {
+ ToolBox.showException(ex);
+ }
}
- mouseevent.consume();
break;
- case LEVEL:
- // debug drawing
- debugDraw(x,y,leftMousePressed);
- if (leftMousePressed) {
- if (y > iconsY && y < iconsY+Icons.HEIGHT) {
- Icons.Type type = GameController.getIconType(x);
- if (type != Icons.Type.INVALID) {
- GameController.handleIconButton(type);
- }
- } else {
- Lemming l = GameController.lemmUnderCursor(LemmCursor.getType());
- if (l != null)
- GameController.requestSkill(l);
+ }
+ mouseevent.consume();
+ break;
+ case LEVEL:
+ // debug drawing
+ debugDraw(x,y,leftMousePressed);
+ if (leftMousePressed) {
+ if (y > iconsY && y < iconsY+Icons.HEIGHT) {
+ Icons.Type type = GameController.getIconType(x);
+ if (type != Icons.Type.INVALID) {
+ GameController.handleIconButton(type);
}
- // check minimap mouse move
- int ofs = MiniMap.move(x,y,this.getWidth());
- if (ofs != -1)
- GameController.setxPos(ofs);
- mouseevent.consume();
+ } else {
+ Lemming l = GameController.lemmUnderCursor(LemmCursor.getType());
+ if (l != null)
+ GameController.requestSkill(l);
}
+ // check minimap mouse move
+ int ofs = MiniMap.move(x,y,this.getWidth());
+ if (ofs != -1)
+ GameController.setxPos(ofs);
+ mouseevent.consume();
+ }
}
}
@@ -1528,36 +1605,36 @@ class GraphicsPane extends JPanel implements Runnable, MouseListener, MouseMotio
public void mouseExited(final MouseEvent mouseevent) {
int x = xMouseScreen + mouseDx;
switch (GameController.getGameState()) {
- case BRIEFING:
- case DEBRIEFING:
- case LEVEL:
- if (x>=this.getWidth())
- x = this.getWidth()-1;
- if (x<0)
- x = 0;
- xMouseScreen = x;
- x += GameController.getxPos();
- if (x>=Level.WIDTH)
- x = Level.WIDTH-1;
- xMouse = x;
- LemmCursor.setX(xMouseScreen/*-LemmCursor.width/2*/);
-
- int y = yMouseScreen + mouseDy;
- if (y >= this.getHeight())
- y = this.getHeight()-1;
- if (y<0)
- y = 0;
- yMouseScreen = y;
-
- y = yMouse + mouseDy;
- if (y >= Level.HEIGHT)
- y = Level.HEIGHT-1;
- if (y<0)
- y = 0;
- yMouse = y;
- LemmCursor.setY(yMouseScreen/*-LemmCursor.height/2*/);
- mouseevent.consume();
- break;
+ case BRIEFING:
+ case DEBRIEFING:
+ case LEVEL:
+ if (x>=this.getWidth())
+ x = this.getWidth()-1;
+ if (x<0)
+ x = 0;
+ xMouseScreen = x;
+ x += GameController.getxPos();
+ if (x>=Level.WIDTH)
+ x = Level.WIDTH-1;
+ xMouse = x;
+ LemmCursor.setX(xMouseScreen/*-LemmCursor.width/2*/);
+
+ int y = yMouseScreen + mouseDy;
+ if (y >= this.getHeight())
+ y = this.getHeight()-1;
+ if (y<0)
+ y = 0;
+ yMouseScreen = y;
+
+ y = yMouse + mouseDy;
+ if (y >= Level.HEIGHT)
+ y = Level.HEIGHT-1;
+ if (y<0)
+ y = 0;
+ yMouse = y;
+ LemmCursor.setY(yMouseScreen/*-LemmCursor.height/2*/);
+ mouseevent.consume();
+ break;
}
}
@@ -1569,26 +1646,26 @@ class GraphicsPane extends JPanel implements Runnable, MouseListener, MouseMotio
mouseDy = 0;
// check minimap mouse move
switch (GameController.getGameState()) {
- case LEVEL:
- int x = mouseevent.getX();
- int y = mouseevent.getY();
- if (leftMousePressed) {
- int ofs = MiniMap.move(x,y,this.getWidth());
- if (ofs != -1)
- GameController.setxPos(ofs);
- } else {
- int xOfsTemp = GameController.getxPos() + (x-mouseDragStartX);
- if (xOfsTemp < 0)
- xOfsTemp = 0;
- else if (xOfsTemp >= Level.WIDTH-this.getWidth())
- GameController.setxPos(Level.WIDTH-this.getWidth());
- else GameController.setxPos(xOfsTemp);
- }
- // debug drawing
- debugDraw(x,y,leftMousePressed);
- mouseMoved(mouseevent);
- mouseevent.consume();
- break;
+ case LEVEL:
+ int x = mouseevent.getX();
+ int y = mouseevent.getY();
+ if (leftMousePressed) {
+ int ofs = MiniMap.move(x,y,this.getWidth());
+ if (ofs != -1)
+ GameController.setxPos(ofs);
+ } else {
+ int xOfsTemp = GameController.getxPos() + (x-mouseDragStartX);
+ if (xOfsTemp < 0)
+ xOfsTemp = 0;
+ else if (xOfsTemp >= Level.WIDTH-this.getWidth())
+ GameController.setxPos(Level.WIDTH-this.getWidth());
+ else GameController.setxPos(xOfsTemp);
+ }
+ // debug drawing
+ debugDraw(x,y,leftMousePressed);
+ mouseMoved(mouseevent);
+ mouseevent.consume();
+ break;
}
}
@@ -1624,17 +1701,17 @@ class GraphicsPane extends JPanel implements Runnable, MouseListener, MouseMotio
LemmCursor.setY(yMouseScreen/*-LemmCursor.height/2*/);
switch (GameController.getGameState()) {
- case INTRO:
- case BRIEFING:
- case DEBRIEFING:
- TextScreen.getDialog().handleMouseMove(xMouseScreen, yMouseScreen);
- //$FALL-THROUGH$
- case LEVEL:
- mouseDx = (xMouse - oldX);
- mouseDy = (yMouse - oldY);
- mouseDragStartX = mouseevent.getX();
- mouseevent.consume();
- break;
+ case INTRO:
+ case BRIEFING:
+ case DEBRIEFING:
+ TextScreen.getDialog().handleMouseMove(xMouseScreen, yMouseScreen);
+ //$FALL-THROUGH$
+ case LEVEL:
+ mouseDx = (xMouse - oldX);
+ mouseDy = (yMouse - oldY);
+ mouseDragStartX = mouseevent.getX();
+ mouseevent.consume();
+ break;
}
}
diff --git a/level/3_test/lvl2009.ini b/level/3_test/lvl2009.ini
index 57c5a4d..e9e7e72 100644
--- a/level/3_test/lvl2009.ini
+++ b/level/3_test/lvl2009.ini
@@ -18,399 +18,519 @@ style = snow
# id, xpos, ypos, paint mode (), upside down (0,1)
# paint modes: 8=VIS_ON_TERRAIN, 4=NO_OVERWRITE, 0=FULL (only one value possible)
object_0 = 1, 0, 15, 0, 0
-object_1 = 5, 100, 128, 0, 0
-object_2 = 1, 228, 15, 0, 0
-object_3 = 5, 348, 130, 0, 0
-object_4 = 1, 476, 15, 0, 0
-object_5 = 5, 596, 132, 0, 0
-object_6 = 1, 724, 15, 0, 0
-object_7 = 5, 844, 134, 0, 0
-object_8 = 1, 972, 15, 0, 0
-object_9 = 5, 1092, 136, 0, 0
-object_10 = 1, 1220, 15, 0, 0
-object_11 = 5, 1340, 138, 0, 0
-object_12 = 1, 1468, 15, 0, 0
-object_13 = 5, 1588, 140, 0, 0
-object_14 = 1, 1716, 15, 0, 0
-object_15 = 5, 1836, 142, 0, 0
-object_16 = 1, 1964, 15, 0, 0
-object_17 = 5, 2084, 144, 0, 0
-object_18 = 1, 2212, 15, 0, 0
-object_19 = 5, 2332, 146, 0, 0
-object_20 = 1, 2460, 15, 0, 0
-object_21 = 5, 2580, 148, 0, 0
-object_22 = 1, 2708, 15, 0, 0
-object_23 = 5, 2828, 150, 0, 0
-object_24 = 1, 2956, 15, 0, 0
-object_25 = 5, 3076, 152, 0, 0
-object_26 = 1, 0, 115, 0, 0
-object_27 = 5, 120, 254, 0, 0
-object_28 = 1, 248, 115, 0, 0
-object_29 = 5, 368, 256, 0, 0
-object_30 = 1, 496, 115, 0, 0
-object_31 = 5, 616, 258, 0, 0
-object_32 = 1, 744, 115, 0, 0
-object_33 = 5, 864, 260, 0, 0
-object_34 = 1, 992, 115, 0, 0
-object_35 = 5, 1112, 262, 0, 0
-object_36 = 1, 1240, 115, 0, 0
-object_37 = 5, 1360, 264, 0, 0
-object_38 = 1, 1488, 115, 0, 0
-object_39 = 5, 1608, 266, 0, 0
-object_40 = 1, 1736, 115, 0, 0
-object_41 = 5, 1856, 268, 0, 0
-object_42 = 1, 1984, 115, 0, 0
-object_43 = 5, 2104, 270, 0, 0
-object_44 = 1, 2232, 115, 0, 0
-object_45 = 5, 2352, 272, 0, 0
-object_46 = 1, 2480, 115, 0, 0
-object_47 = 5, 2600, 274, 0, 0
-object_48 = 1, 2728, 115, 0, 0
-object_49 = 5, 2848, 276, 0, 0
-object_50 = 1, 2976, 115, 0, 0
-object_51 = 5, 3096, 278, 0, 0
-object_52 = 1, 0, 215, 0, 0
-object_53 = 5, 120, 380, 0, 0
-object_54 = 1, 248, 215, 0, 0
-object_55 = 5, 368, 382, 0, 0
-object_56 = 1, 496, 215, 0, 0
-object_57 = 5, 616, 384, 0, 0
-object_58 = 1, 744, 215, 0, 0
-object_59 = 5, 864, 386, 0, 0
+object_1 = 8, 80, 2, 0, 0
+object_2 = 1, 166, 15, 0, 0
+object_3 = 8, 246, 4, 0, 0
+object_4 = 1, 332, 15, 0, 0
+object_5 = 8, 412, 6, 0, 0
+object_6 = 1, 498, 15, 0, 0
+object_7 = 8, 578, 8, 0, 0
+object_8 = 1, 664, 15, 0, 0
+object_9 = 8, 744, 10, 0, 0
+object_10 = 1, 830, 15, 0, 0
+object_11 = 8, 910, 12, 0, 0
+object_12 = 1, 996, 15, 0, 0
+object_13 = 8, 1076, 14, 0, 0
+object_14 = 1, 1162, 15, 0, 0
+object_15 = 8, 1242, 16, 0, 0
+object_16 = 1, 1328, 15, 0, 0
+object_17 = 8, 1408, 18, 0, 0
+object_18 = 1, 1494, 15, 0, 0
+object_19 = 8, 1574, 20, 0, 0
+object_20 = 1, 1660, 15, 0, 0
+object_21 = 8, 1740, 22, 0, 0
+object_22 = 1, 1826, 15, 0, 0
+object_23 = 8, 1906, 24, 0, 0
+object_24 = 1, 1992, 15, 0, 0
+object_25 = 8, 2072, 26, 0, 0
+object_26 = 1, 2158, 15, 0, 0
+object_27 = 8, 2238, 28, 0, 0
+object_28 = 1, 2324, 15, 0, 0
+object_29 = 8, 2404, 30, 0, 0
+object_30 = 1, 2490, 15, 0, 0
+object_31 = 8, 2570, 32, 0, 0
+object_32 = 1, 2656, 15, 0, 0
+object_33 = 8, 2736, 34, 0, 0
+object_34 = 1, 2822, 15, 0, 0
+object_35 = 8, 2902, 36, 0, 0
+object_36 = 1, 2988, 15, 0, 0
+object_37 = 8, 3068, 38, 0, 0
+object_38 = 1, 0, 133, 0, 0
+object_39 = 8, 80, 158, 0, 0
+object_40 = 1, 166, 133, 0, 0
+object_41 = 8, 246, 160, 0, 0
+object_42 = 1, 332, 133, 0, 0
+object_43 = 8, 412, 162, 0, 0
+object_44 = 1, 498, 133, 0, 0
+object_45 = 8, 578, 164, 0, 0
+object_46 = 1, 664, 133, 0, 0
+object_47 = 8, 744, 166, 0, 0
+object_48 = 1, 830, 133, 0, 0
+object_49 = 8, 910, 168, 0, 0
+object_50 = 1, 996, 133, 0, 0
+object_51 = 8, 1076, 170, 0, 0
+object_52 = 1, 1162, 133, 0, 0
+object_53 = 8, 1242, 172, 0, 0
+object_54 = 1, 1328, 133, 0, 0
+object_55 = 8, 1408, 174, 0, 0
+object_56 = 1, 1494, 133, 0, 0
+object_57 = 8, 1574, 176, 0, 0
+object_58 = 1, 1660, 133, 0, 0
+object_59 = 8, 1740, 178, 0, 0
# Terrain
# id, xpos, ypos, modifier
# modifier: 8=NO_OVERWRITE, 4=UPSIDE_DOWN, 2=REMOVE (combining allowed, 0=FULL)
-terrain_0 = 31, 0, 105, 8
-terrain_1 = 31, 20, 105, 8
-terrain_2 = 31, 60, 105, 8
-terrain_3 = 31, 100, 105, 8
-terrain_4 = 31, 140, 105, 8
-terrain_5 = 31, 180, 105, 8
-terrain_6 = 31, 220, 105, 8
-terrain_7 = 31, 260, 105, 8
-terrain_8 = 31, 300, 105, 8
-terrain_9 = 31, 340, 105, 8
-terrain_10 = 16, 228, 67, 8
-terrain_10 = 31, 228, 105, 8
-terrain_11 = 31, 268, 105, 8
-terrain_12 = 31, 308, 105, 8
-terrain_13 = 31, 348, 105, 8
-terrain_14 = 31, 388, 105, 8
-terrain_15 = 31, 428, 105, 8
-terrain_16 = 31, 468, 105, 8
-terrain_17 = 31, 508, 105, 8
-terrain_18 = 31, 548, 105, 8
-terrain_19 = 31, 588, 105, 8
-terrain_20 = 16, 476, 67, 8
-terrain_20 = 31, 476, 105, 8
-terrain_21 = 31, 516, 105, 8
-terrain_22 = 31, 556, 105, 8
-terrain_23 = 31, 596, 105, 8
-terrain_24 = 31, 636, 105, 8
-terrain_25 = 31, 676, 105, 8
-terrain_26 = 31, 716, 105, 8
-terrain_27 = 31, 756, 105, 8
-terrain_28 = 31, 796, 105, 8
-terrain_29 = 31, 836, 105, 8
-terrain_30 = 16, 724, 67, 8
-terrain_30 = 31, 724, 105, 8
-terrain_31 = 31, 764, 105, 8
-terrain_32 = 31, 804, 105, 8
-terrain_33 = 31, 844, 105, 8
-terrain_34 = 31, 884, 105, 8
-terrain_35 = 31, 924, 105, 8
-terrain_36 = 31, 964, 105, 8
-terrain_37 = 31, 1004, 105, 8
-terrain_38 = 31, 1044, 105, 8
-terrain_39 = 31, 1084, 105, 8
-terrain_40 = 16, 972, 67, 8
-terrain_40 = 31, 972, 105, 8
-terrain_41 = 31, 1012, 105, 8
-terrain_42 = 31, 1052, 105, 8
-terrain_43 = 31, 1092, 105, 8
-terrain_44 = 31, 1132, 105, 8
-terrain_45 = 31, 1172, 105, 8
-terrain_46 = 31, 1212, 105, 8
-terrain_47 = 31, 1252, 105, 8
-terrain_48 = 31, 1292, 105, 8
-terrain_49 = 31, 1332, 105, 8
-terrain_50 = 16, 1220, 67, 8
-terrain_50 = 31, 1220, 105, 8
-terrain_51 = 31, 1260, 105, 8
-terrain_52 = 31, 1300, 105, 8
-terrain_53 = 31, 1340, 105, 8
-terrain_54 = 31, 1380, 105, 8
-terrain_55 = 31, 1420, 105, 8
-terrain_56 = 31, 1460, 105, 8
-terrain_57 = 31, 1500, 105, 8
-terrain_58 = 31, 1540, 105, 8
-terrain_59 = 31, 1580, 105, 8
-terrain_60 = 16, 1468, 67, 8
-terrain_60 = 31, 1468, 105, 8
-terrain_61 = 31, 1508, 105, 8
-terrain_62 = 31, 1548, 105, 8
-terrain_63 = 31, 1588, 105, 8
-terrain_64 = 31, 1628, 105, 8
-terrain_65 = 31, 1668, 105, 8
-terrain_66 = 31, 1708, 105, 8
-terrain_67 = 31, 1748, 105, 8
-terrain_68 = 31, 1788, 105, 8
-terrain_69 = 31, 1828, 105, 8
-terrain_70 = 16, 1716, 67, 8
-terrain_70 = 31, 1716, 105, 8
-terrain_71 = 31, 1756, 105, 8
-terrain_72 = 31, 1796, 105, 8
-terrain_73 = 31, 1836, 105, 8
-terrain_74 = 31, 1876, 105, 8
-terrain_75 = 31, 1916, 105, 8
-terrain_76 = 31, 1956, 105, 8
-terrain_77 = 31, 1996, 105, 8
-terrain_78 = 31, 2036, 105, 8
-terrain_79 = 31, 2076, 105, 8
-terrain_80 = 16, 1964, 67, 8
-terrain_80 = 31, 1964, 105, 8
-terrain_81 = 31, 2004, 105, 8
-terrain_82 = 31, 2044, 105, 8
-terrain_83 = 31, 2084, 105, 8
-terrain_84 = 31, 2124, 105, 8
-terrain_85 = 31, 2164, 105, 8
-terrain_86 = 31, 2204, 105, 8
-terrain_87 = 31, 2244, 105, 8
-terrain_88 = 31, 2284, 105, 8
-terrain_89 = 31, 2324, 105, 8
-terrain_90 = 16, 2212, 67, 8
-terrain_90 = 31, 2212, 105, 8
-terrain_91 = 31, 2252, 105, 8
-terrain_92 = 31, 2292, 105, 8
-terrain_93 = 31, 2332, 105, 8
-terrain_94 = 31, 2372, 105, 8
-terrain_95 = 31, 2412, 105, 8
-terrain_96 = 31, 2452, 105, 8
-terrain_97 = 31, 2492, 105, 8
-terrain_98 = 31, 2532, 105, 8
-terrain_99 = 31, 2572, 105, 8
-terrain_100 = 16, 2460, 67, 8
-terrain_100 = 31, 2460, 105, 8
-terrain_101 = 31, 2500, 105, 8
-terrain_102 = 31, 2540, 105, 8
-terrain_103 = 31, 2580, 105, 8
-terrain_104 = 31, 2620, 105, 8
-terrain_105 = 31, 2660, 105, 8
-terrain_106 = 31, 2700, 105, 8
-terrain_107 = 31, 2740, 105, 8
-terrain_108 = 31, 2780, 105, 8
-terrain_109 = 31, 2820, 105, 8
-terrain_110 = 16, 2708, 67, 8
-terrain_110 = 31, 2708, 105, 8
-terrain_111 = 31, 2748, 105, 8
-terrain_112 = 31, 2788, 105, 8
-terrain_113 = 31, 2828, 105, 8
-terrain_114 = 31, 2868, 105, 8
-terrain_115 = 31, 2908, 105, 8
-terrain_116 = 31, 2948, 105, 8
-terrain_117 = 31, 2988, 105, 8
-terrain_118 = 31, 3028, 105, 8
-terrain_119 = 31, 3068, 105, 8
-terrain_120 = 16, 2956, 67, 8
-terrain_120 = 31, 2956, 105, 8
-terrain_121 = 31, 2996, 105, 8
-terrain_122 = 31, 3036, 105, 8
-terrain_123 = 31, 3076, 105, 8
-terrain_124 = 31, 3116, 105, 8
-terrain_125 = 31, 3156, 105, 8
-terrain_126 = 31, 3196, 105, 8
-terrain_127 = 31, 3236, 105, 8
-terrain_128 = 31, 3276, 105, 8
-terrain_129 = 31, 3316, 105, 8
-terrain_130 = 16, 3204, 67, 8
-terrain_130 = 31, 0, 205, 8
-terrain_131 = 31, 40, 205, 8
-terrain_132 = 31, 80, 205, 8
-terrain_133 = 31, 120, 205, 8
-terrain_134 = 31, 160, 205, 8
-terrain_135 = 31, 200, 205, 8
-terrain_136 = 31, 240, 205, 8
-terrain_137 = 31, 280, 205, 8
-terrain_138 = 31, 320, 205, 8
-terrain_139 = 31, 360, 205, 8
-terrain_140 = 16, 248, 167, 8
-terrain_140 = 31, 248, 205, 8
-terrain_141 = 31, 288, 205, 8
-terrain_142 = 31, 328, 205, 8
-terrain_143 = 31, 368, 205, 8
-terrain_144 = 31, 408, 205, 8
-terrain_145 = 31, 448, 205, 8
-terrain_146 = 31, 488, 205, 8
-terrain_147 = 31, 528, 205, 8
-terrain_148 = 31, 568, 205, 8
-terrain_149 = 31, 608, 205, 8
-terrain_150 = 16, 496, 167, 8
-terrain_150 = 31, 496, 205, 8
-terrain_151 = 31, 536, 205, 8
-terrain_152 = 31, 576, 205, 8
-terrain_153 = 31, 616, 205, 8
-terrain_154 = 31, 656, 205, 8
-terrain_155 = 31, 696, 205, 8
-terrain_156 = 31, 736, 205, 8
-terrain_157 = 31, 776, 205, 8
-terrain_158 = 31, 816, 205, 8
-terrain_159 = 31, 856, 205, 8
-terrain_160 = 16, 744, 167, 8
-terrain_160 = 31, 744, 205, 8
-terrain_161 = 31, 784, 205, 8
-terrain_162 = 31, 824, 205, 8
-terrain_163 = 31, 864, 205, 8
-terrain_164 = 31, 904, 205, 8
-terrain_165 = 31, 944, 205, 8
-terrain_166 = 31, 984, 205, 8
-terrain_167 = 31, 1024, 205, 8
-terrain_168 = 31, 1064, 205, 8
-terrain_169 = 31, 1104, 205, 8
-terrain_170 = 16, 992, 167, 8
-terrain_170 = 31, 992, 205, 8
-terrain_171 = 31, 1032, 205, 8
-terrain_172 = 31, 1072, 205, 8
-terrain_173 = 31, 1112, 205, 8
-terrain_174 = 31, 1152, 205, 8
-terrain_175 = 31, 1192, 205, 8
-terrain_176 = 31, 1232, 205, 8
-terrain_177 = 31, 1272, 205, 8
-terrain_178 = 31, 1312, 205, 8
-terrain_179 = 31, 1352, 205, 8
-terrain_180 = 16, 1240, 167, 8
-terrain_180 = 31, 1240, 205, 8
-terrain_181 = 31, 1280, 205, 8
-terrain_182 = 31, 1320, 205, 8
-terrain_183 = 31, 1360, 205, 8
-terrain_184 = 31, 1400, 205, 8
-terrain_185 = 31, 1440, 205, 8
-terrain_186 = 31, 1480, 205, 8
-terrain_187 = 31, 1520, 205, 8
-terrain_188 = 31, 1560, 205, 8
-terrain_189 = 31, 1600, 205, 8
-terrain_190 = 16, 1488, 167, 8
-terrain_190 = 31, 1488, 205, 8
-terrain_191 = 31, 1528, 205, 8
-terrain_192 = 31, 1568, 205, 8
-terrain_193 = 31, 1608, 205, 8
-terrain_194 = 31, 1648, 205, 8
-terrain_195 = 31, 1688, 205, 8
-terrain_196 = 31, 1728, 205, 8
-terrain_197 = 31, 1768, 205, 8
-terrain_198 = 31, 1808, 205, 8
-terrain_199 = 31, 1848, 205, 8
-terrain_200 = 16, 1736, 167, 8
-terrain_200 = 31, 1736, 205, 8
-terrain_201 = 31, 1776, 205, 8
-terrain_202 = 31, 1816, 205, 8
-terrain_203 = 31, 1856, 205, 8
-terrain_204 = 31, 1896, 205, 8
-terrain_205 = 31, 1936, 205, 8
-terrain_206 = 31, 1976, 205, 8
-terrain_207 = 31, 2016, 205, 8
-terrain_208 = 31, 2056, 205, 8
-terrain_209 = 31, 2096, 205, 8
-terrain_210 = 16, 1984, 167, 8
-terrain_210 = 31, 1984, 205, 8
-terrain_211 = 31, 2024, 205, 8
-terrain_212 = 31, 2064, 205, 8
-terrain_213 = 31, 2104, 205, 8
-terrain_214 = 31, 2144, 205, 8
-terrain_215 = 31, 2184, 205, 8
-terrain_216 = 31, 2224, 205, 8
-terrain_217 = 31, 2264, 205, 8
-terrain_218 = 31, 2304, 205, 8
-terrain_219 = 31, 2344, 205, 8
-terrain_220 = 16, 2232, 167, 8
-terrain_220 = 31, 2232, 205, 8
-terrain_221 = 31, 2272, 205, 8
-terrain_222 = 31, 2312, 205, 8
-terrain_223 = 31, 2352, 205, 8
-terrain_224 = 31, 2392, 205, 8
-terrain_225 = 31, 2432, 205, 8
-terrain_226 = 31, 2472, 205, 8
-terrain_227 = 31, 2512, 205, 8
-terrain_228 = 31, 2552, 205, 8
-terrain_229 = 31, 2592, 205, 8
-terrain_230 = 16, 2480, 167, 8
-terrain_230 = 31, 2480, 205, 8
-terrain_231 = 31, 2520, 205, 8
-terrain_232 = 31, 2560, 205, 8
-terrain_233 = 31, 2600, 205, 8
-terrain_234 = 31, 2640, 205, 8
-terrain_235 = 31, 2680, 205, 8
-terrain_236 = 31, 2720, 205, 8
-terrain_237 = 31, 2760, 205, 8
-terrain_238 = 31, 2800, 205, 8
-terrain_239 = 31, 2840, 205, 8
-terrain_240 = 16, 2728, 167, 8
-terrain_240 = 31, 2728, 205, 8
-terrain_241 = 31, 2768, 205, 8
-terrain_242 = 31, 2808, 205, 8
-terrain_243 = 31, 2848, 205, 8
-terrain_244 = 31, 2888, 205, 8
-terrain_245 = 31, 2928, 205, 8
-terrain_246 = 31, 2968, 205, 8
-terrain_247 = 31, 3008, 205, 8
-terrain_248 = 31, 3048, 205, 8
-terrain_249 = 31, 3088, 205, 8
-terrain_250 = 16, 2976, 167, 8
-terrain_250 = 31, 2976, 205, 8
-terrain_251 = 31, 3016, 205, 8
-terrain_252 = 31, 3056, 205, 8
-terrain_253 = 31, 3096, 205, 8
-terrain_254 = 31, 3136, 205, 8
-terrain_255 = 31, 3176, 205, 8
-terrain_256 = 31, 3216, 205, 8
-terrain_257 = 31, 3256, 205, 8
-terrain_258 = 31, 3296, 205, 8
-terrain_259 = 31, 3336, 205, 8
-terrain_260 = 16, 3224, 167, 8
-terrain_260 = 31, 0, 305, 8
-terrain_261 = 31, 40, 305, 8
-terrain_262 = 31, 80, 305, 8
-terrain_263 = 31, 120, 305, 8
-terrain_264 = 31, 160, 305, 8
-terrain_265 = 31, 200, 305, 8
-terrain_266 = 31, 240, 305, 8
-terrain_267 = 31, 280, 305, 8
-terrain_268 = 31, 320, 305, 8
-terrain_269 = 31, 360, 305, 8
-terrain_270 = 16, 248, 267, 8
-terrain_270 = 31, 248, 305, 8
-terrain_271 = 31, 288, 305, 8
-terrain_272 = 31, 328, 305, 8
-terrain_273 = 31, 368, 305, 8
-terrain_274 = 31, 408, 305, 8
-terrain_275 = 31, 448, 305, 8
-terrain_276 = 31, 488, 305, 8
-terrain_277 = 31, 528, 305, 8
-terrain_278 = 31, 568, 305, 8
-terrain_279 = 31, 608, 305, 8
-terrain_280 = 16, 496, 267, 8
-terrain_280 = 31, 496, 305, 8
-terrain_281 = 31, 536, 305, 8
-terrain_282 = 31, 576, 305, 8
-terrain_283 = 31, 616, 305, 8
-terrain_284 = 31, 656, 305, 8
-terrain_285 = 31, 696, 305, 8
-terrain_286 = 31, 736, 305, 8
-terrain_287 = 31, 776, 305, 8
-terrain_288 = 31, 816, 305, 8
-terrain_289 = 31, 856, 305, 8
-terrain_290 = 16, 744, 267, 8
-terrain_290 = 31, 744, 305, 8
-terrain_291 = 31, 784, 305, 8
-terrain_292 = 31, 824, 305, 8
-terrain_293 = 31, 864, 305, 8
-terrain_294 = 31, 904, 305, 8
-terrain_295 = 31, 944, 305, 8
-terrain_296 = 31, 984, 305, 8
-terrain_297 = 31, 1024, 305, 8
-terrain_298 = 31, 1064, 305, 8
-terrain_299 = 31, 1104, 305, 8
-terrain_300 = 16, 992, 267, 8
+terrain_0 = 31, 0, 123, 0
+terrain_1 = 31, 0, 127, 2
+terrain_2 = 31, 40, 123, 0
+terrain_3 = 31, 40, 127, 2
+terrain_4 = 31, 80, 123, 0
+terrain_5 = 31, 80, 127, 2
+terrain_6 = 31, 120, 123, 0
+terrain_7 = 31, 120, 127, 2
+terrain_8 = 31, 160, 123, 0
+terrain_9 = 31, 160, 127, 2
+terrain_10 = 31, 200, 123, 0
+terrain_11 = 31, 200, 127, 2
+terrain_12 = 31, 240, 123, 0
+terrain_13 = 31, 240, 127, 2
+terrain_14 = 16, 144, 85, 0
+terrain_14 = 31, 166, 123, 0
+terrain_15 = 31, 166, 127, 2
+terrain_16 = 31, 206, 123, 0
+terrain_17 = 31, 206, 127, 2
+terrain_18 = 31, 246, 123, 0
+terrain_19 = 31, 246, 127, 2
+terrain_20 = 31, 286, 123, 0
+terrain_21 = 31, 286, 127, 2
+terrain_22 = 31, 326, 123, 0
+terrain_23 = 31, 326, 127, 2
+terrain_24 = 31, 366, 123, 0
+terrain_25 = 31, 366, 127, 2
+terrain_26 = 31, 406, 123, 0
+terrain_27 = 31, 406, 127, 2
+terrain_28 = 16, 310, 85, 0
+terrain_28 = 31, 332, 123, 0
+terrain_29 = 31, 332, 127, 2
+terrain_30 = 31, 372, 123, 0
+terrain_31 = 31, 372, 127, 2
+terrain_32 = 31, 412, 123, 0
+terrain_33 = 31, 412, 127, 2
+terrain_34 = 31, 452, 123, 0
+terrain_35 = 31, 452, 127, 2
+terrain_36 = 31, 492, 123, 0
+terrain_37 = 31, 492, 127, 2
+terrain_38 = 31, 532, 123, 0
+terrain_39 = 31, 532, 127, 2
+terrain_40 = 31, 572, 123, 0
+terrain_41 = 31, 572, 127, 2
+terrain_42 = 16, 476, 85, 0
+terrain_42 = 31, 498, 123, 0
+terrain_43 = 31, 498, 127, 2
+terrain_44 = 31, 538, 123, 0
+terrain_45 = 31, 538, 127, 2
+terrain_46 = 31, 578, 123, 0
+terrain_47 = 31, 578, 127, 2
+terrain_48 = 31, 618, 123, 0
+terrain_49 = 31, 618, 127, 2
+terrain_50 = 31, 658, 123, 0
+terrain_51 = 31, 658, 127, 2
+terrain_52 = 31, 698, 123, 0
+terrain_53 = 31, 698, 127, 2
+terrain_54 = 31, 738, 123, 0
+terrain_55 = 31, 738, 127, 2
+terrain_56 = 16, 642, 85, 0
+terrain_56 = 31, 664, 123, 0
+terrain_57 = 31, 664, 127, 2
+terrain_58 = 31, 704, 123, 0
+terrain_59 = 31, 704, 127, 2
+terrain_60 = 31, 744, 123, 0
+terrain_61 = 31, 744, 127, 2
+terrain_62 = 31, 784, 123, 0
+terrain_63 = 31, 784, 127, 2
+terrain_64 = 31, 824, 123, 0
+terrain_65 = 31, 824, 127, 2
+terrain_66 = 31, 864, 123, 0
+terrain_67 = 31, 864, 127, 2
+terrain_68 = 31, 904, 123, 0
+terrain_69 = 31, 904, 127, 2
+terrain_70 = 16, 808, 85, 0
+terrain_70 = 31, 830, 123, 0
+terrain_71 = 31, 830, 127, 2
+terrain_72 = 31, 870, 123, 0
+terrain_73 = 31, 870, 127, 2
+terrain_74 = 31, 910, 123, 0
+terrain_75 = 31, 910, 127, 2
+terrain_76 = 31, 950, 123, 0
+terrain_77 = 31, 950, 127, 2
+terrain_78 = 31, 990, 123, 0
+terrain_79 = 31, 990, 127, 2
+terrain_80 = 31, 1030, 123, 0
+terrain_81 = 31, 1030, 127, 2
+terrain_82 = 31, 1070, 123, 0
+terrain_83 = 31, 1070, 127, 2
+terrain_84 = 16, 974, 85, 0
+terrain_84 = 31, 996, 123, 0
+terrain_85 = 31, 996, 127, 2
+terrain_86 = 31, 1036, 123, 0
+terrain_87 = 31, 1036, 127, 2
+terrain_88 = 31, 1076, 123, 0
+terrain_89 = 31, 1076, 127, 2
+terrain_90 = 31, 1116, 123, 0
+terrain_91 = 31, 1116, 127, 2
+terrain_92 = 31, 1156, 123, 0
+terrain_93 = 31, 1156, 127, 2
+terrain_94 = 31, 1196, 123, 0
+terrain_95 = 31, 1196, 127, 2
+terrain_96 = 31, 1236, 123, 0
+terrain_97 = 31, 1236, 127, 2
+terrain_98 = 16, 1140, 85, 0
+terrain_98 = 31, 1162, 123, 0
+terrain_99 = 31, 1162, 127, 2
+terrain_100 = 31, 1202, 123, 0
+terrain_101 = 31, 1202, 127, 2
+terrain_102 = 31, 1242, 123, 0
+terrain_103 = 31, 1242, 127, 2
+terrain_104 = 31, 1282, 123, 0
+terrain_105 = 31, 1282, 127, 2
+terrain_106 = 31, 1322, 123, 0
+terrain_107 = 31, 1322, 127, 2
+terrain_108 = 31, 1362, 123, 0
+terrain_109 = 31, 1362, 127, 2
+terrain_110 = 31, 1402, 123, 0
+terrain_111 = 31, 1402, 127, 2
+terrain_112 = 16, 1306, 85, 0
+terrain_112 = 31, 1328, 123, 0
+terrain_113 = 31, 1328, 127, 2
+terrain_114 = 31, 1368, 123, 0
+terrain_115 = 31, 1368, 127, 2
+terrain_116 = 31, 1408, 123, 0
+terrain_117 = 31, 1408, 127, 2
+terrain_118 = 31, 1448, 123, 0
+terrain_119 = 31, 1448, 127, 2
+terrain_120 = 31, 1488, 123, 0
+terrain_121 = 31, 1488, 127, 2
+terrain_122 = 31, 1528, 123, 0
+terrain_123 = 31, 1528, 127, 2
+terrain_124 = 31, 1568, 123, 0
+terrain_125 = 31, 1568, 127, 2
+terrain_126 = 16, 1472, 85, 0
+terrain_126 = 31, 1494, 123, 0
+terrain_127 = 31, 1494, 127, 2
+terrain_128 = 31, 1534, 123, 0
+terrain_129 = 31, 1534, 127, 2
+terrain_130 = 31, 1574, 123, 0
+terrain_131 = 31, 1574, 127, 2
+terrain_132 = 31, 1614, 123, 0
+terrain_133 = 31, 1614, 127, 2
+terrain_134 = 31, 1654, 123, 0
+terrain_135 = 31, 1654, 127, 2
+terrain_136 = 31, 1694, 123, 0
+terrain_137 = 31, 1694, 127, 2
+terrain_138 = 31, 1734, 123, 0
+terrain_139 = 31, 1734, 127, 2
+terrain_140 = 16, 1638, 85, 0
+terrain_140 = 31, 1660, 123, 0
+terrain_141 = 31, 1660, 127, 2
+terrain_142 = 31, 1700, 123, 0
+terrain_143 = 31, 1700, 127, 2
+terrain_144 = 31, 1740, 123, 0
+terrain_145 = 31, 1740, 127, 2
+terrain_146 = 31, 1780, 123, 0
+terrain_147 = 31, 1780, 127, 2
+terrain_148 = 31, 1820, 123, 0
+terrain_149 = 31, 1820, 127, 2
+terrain_150 = 31, 1860, 123, 0
+terrain_151 = 31, 1860, 127, 2
+terrain_152 = 31, 1900, 123, 0
+terrain_153 = 31, 1900, 127, 2
+terrain_154 = 16, 1804, 85, 0
+terrain_154 = 31, 1826, 123, 0
+terrain_155 = 31, 1826, 127, 2
+terrain_156 = 31, 1866, 123, 0
+terrain_157 = 31, 1866, 127, 2
+terrain_158 = 31, 1906, 123, 0
+terrain_159 = 31, 1906, 127, 2
+terrain_160 = 31, 1946, 123, 0
+terrain_161 = 31, 1946, 127, 2
+terrain_162 = 31, 1986, 123, 0
+terrain_163 = 31, 1986, 127, 2
+terrain_164 = 31, 2026, 123, 0
+terrain_165 = 31, 2026, 127, 2
+terrain_166 = 31, 2066, 123, 0
+terrain_167 = 31, 2066, 127, 2
+terrain_168 = 16, 1970, 85, 0
+terrain_168 = 31, 1992, 123, 0
+terrain_169 = 31, 1992, 127, 2
+terrain_170 = 31, 2032, 123, 0
+terrain_171 = 31, 2032, 127, 2
+terrain_172 = 31, 2072, 123, 0
+terrain_173 = 31, 2072, 127, 2
+terrain_174 = 31, 2112, 123, 0
+terrain_175 = 31, 2112, 127, 2
+terrain_176 = 31, 2152, 123, 0
+terrain_177 = 31, 2152, 127, 2
+terrain_178 = 31, 2192, 123, 0
+terrain_179 = 31, 2192, 127, 2
+terrain_180 = 31, 2232, 123, 0
+terrain_181 = 31, 2232, 127, 2
+terrain_182 = 16, 2136, 85, 0
+terrain_182 = 31, 2158, 123, 0
+terrain_183 = 31, 2158, 127, 2
+terrain_184 = 31, 2198, 123, 0
+terrain_185 = 31, 2198, 127, 2
+terrain_186 = 31, 2238, 123, 0
+terrain_187 = 31, 2238, 127, 2
+terrain_188 = 31, 2278, 123, 0
+terrain_189 = 31, 2278, 127, 2
+terrain_190 = 31, 2318, 123, 0
+terrain_191 = 31, 2318, 127, 2
+terrain_192 = 31, 2358, 123, 0
+terrain_193 = 31, 2358, 127, 2
+terrain_194 = 31, 2398, 123, 0
+terrain_195 = 31, 2398, 127, 2
+terrain_196 = 16, 2302, 85, 0
+terrain_196 = 31, 2324, 123, 0
+terrain_197 = 31, 2324, 127, 2
+terrain_198 = 31, 2364, 123, 0
+terrain_199 = 31, 2364, 127, 2
+terrain_200 = 31, 2404, 123, 0
+terrain_201 = 31, 2404, 127, 2
+terrain_202 = 31, 2444, 123, 0
+terrain_203 = 31, 2444, 127, 2
+terrain_204 = 31, 2484, 123, 0
+terrain_205 = 31, 2484, 127, 2
+terrain_206 = 31, 2524, 123, 0
+terrain_207 = 31, 2524, 127, 2
+terrain_208 = 31, 2564, 123, 0
+terrain_209 = 31, 2564, 127, 2
+terrain_210 = 16, 2468, 85, 0
+terrain_210 = 31, 2490, 123, 0
+terrain_211 = 31, 2490, 127, 2
+terrain_212 = 31, 2530, 123, 0
+terrain_213 = 31, 2530, 127, 2
+terrain_214 = 31, 2570, 123, 0
+terrain_215 = 31, 2570, 127, 2
+terrain_216 = 31, 2610, 123, 0
+terrain_217 = 31, 2610, 127, 2
+terrain_218 = 31, 2650, 123, 0
+terrain_219 = 31, 2650, 127, 2
+terrain_220 = 31, 2690, 123, 0
+terrain_221 = 31, 2690, 127, 2
+terrain_222 = 31, 2730, 123, 0
+terrain_223 = 31, 2730, 127, 2
+terrain_224 = 16, 2634, 85, 0
+terrain_224 = 31, 2656, 123, 0
+terrain_225 = 31, 2656, 127, 2
+terrain_226 = 31, 2696, 123, 0
+terrain_227 = 31, 2696, 127, 2
+terrain_228 = 31, 2736, 123, 0
+terrain_229 = 31, 2736, 127, 2
+terrain_230 = 31, 2776, 123, 0
+terrain_231 = 31, 2776, 127, 2
+terrain_232 = 31, 2816, 123, 0
+terrain_233 = 31, 2816, 127, 2
+terrain_234 = 31, 2856, 123, 0
+terrain_235 = 31, 2856, 127, 2
+terrain_236 = 31, 2896, 123, 0
+terrain_237 = 31, 2896, 127, 2
+terrain_238 = 16, 2800, 85, 0
+terrain_238 = 31, 2822, 123, 0
+terrain_239 = 31, 2822, 127, 2
+terrain_240 = 31, 2862, 123, 0
+terrain_241 = 31, 2862, 127, 2
+terrain_242 = 31, 2902, 123, 0
+terrain_243 = 31, 2902, 127, 2
+terrain_244 = 31, 2942, 123, 0
+terrain_245 = 31, 2942, 127, 2
+terrain_246 = 31, 2982, 123, 0
+terrain_247 = 31, 2982, 127, 2
+terrain_248 = 31, 3022, 123, 0
+terrain_249 = 31, 3022, 127, 2
+terrain_250 = 31, 3062, 123, 0
+terrain_251 = 31, 3062, 127, 2
+terrain_252 = 16, 2966, 85, 0
+terrain_252 = 31, 2988, 123, 0
+terrain_253 = 31, 2988, 127, 2
+terrain_254 = 31, 3028, 123, 0
+terrain_255 = 31, 3028, 127, 2
+terrain_256 = 31, 3068, 123, 0
+terrain_257 = 31, 3068, 127, 2
+terrain_258 = 31, 3108, 123, 0
+terrain_259 = 31, 3108, 127, 2
+terrain_260 = 31, 3148, 123, 0
+terrain_261 = 31, 3148, 127, 2
+terrain_262 = 31, 3188, 123, 0
+terrain_263 = 31, 3188, 127, 2
+terrain_264 = 31, 3228, 123, 0
+terrain_265 = 31, 3228, 127, 2
+terrain_266 = 16, 3132, 85, 0
+terrain_266 = 31, 0, 241, 0
+terrain_267 = 31, 0, 245, 2
+terrain_268 = 31, 40, 241, 0
+terrain_269 = 31, 40, 245, 2
+terrain_270 = 31, 80, 241, 0
+terrain_271 = 31, 80, 245, 2
+terrain_272 = 31, 120, 241, 0
+terrain_273 = 31, 120, 245, 2
+terrain_274 = 31, 160, 241, 0
+terrain_275 = 31, 160, 245, 2
+terrain_276 = 31, 200, 241, 0
+terrain_277 = 31, 200, 245, 2
+terrain_278 = 31, 240, 241, 0
+terrain_279 = 31, 240, 245, 2
+terrain_280 = 16, 144, 203, 0
+terrain_280 = 31, 166, 241, 0
+terrain_281 = 31, 166, 245, 2
+terrain_282 = 31, 206, 241, 0
+terrain_283 = 31, 206, 245, 2
+terrain_284 = 31, 246, 241, 0
+terrain_285 = 31, 246, 245, 2
+terrain_286 = 31, 286, 241, 0
+terrain_287 = 31, 286, 245, 2
+terrain_288 = 31, 326, 241, 0
+terrain_289 = 31, 326, 245, 2
+terrain_290 = 31, 366, 241, 0
+terrain_291 = 31, 366, 245, 2
+terrain_292 = 31, 406, 241, 0
+terrain_293 = 31, 406, 245, 2
+terrain_294 = 16, 310, 203, 0
+terrain_294 = 31, 332, 241, 0
+terrain_295 = 31, 332, 245, 2
+terrain_296 = 31, 372, 241, 0
+terrain_297 = 31, 372, 245, 2
+terrain_298 = 31, 412, 241, 0
+terrain_299 = 31, 412, 245, 2
+terrain_300 = 31, 452, 241, 0
+terrain_301 = 31, 452, 245, 2
+terrain_302 = 31, 492, 241, 0
+terrain_303 = 31, 492, 245, 2
+terrain_304 = 31, 532, 241, 0
+terrain_305 = 31, 532, 245, 2
+terrain_306 = 31, 572, 241, 0
+terrain_307 = 31, 572, 245, 2
+terrain_308 = 16, 476, 203, 0
+terrain_308 = 31, 498, 241, 0
+terrain_309 = 31, 498, 245, 2
+terrain_310 = 31, 538, 241, 0
+terrain_311 = 31, 538, 245, 2
+terrain_312 = 31, 578, 241, 0
+terrain_313 = 31, 578, 245, 2
+terrain_314 = 31, 618, 241, 0
+terrain_315 = 31, 618, 245, 2
+terrain_316 = 31, 658, 241, 0
+terrain_317 = 31, 658, 245, 2
+terrain_318 = 31, 698, 241, 0
+terrain_319 = 31, 698, 245, 2
+terrain_320 = 31, 738, 241, 0
+terrain_321 = 31, 738, 245, 2
+terrain_322 = 16, 642, 203, 0
+terrain_322 = 31, 664, 241, 0
+terrain_323 = 31, 664, 245, 2
+terrain_324 = 31, 704, 241, 0
+terrain_325 = 31, 704, 245, 2
+terrain_326 = 31, 744, 241, 0
+terrain_327 = 31, 744, 245, 2
+terrain_328 = 31, 784, 241, 0
+terrain_329 = 31, 784, 245, 2
+terrain_330 = 31, 824, 241, 0
+terrain_331 = 31, 824, 245, 2
+terrain_332 = 31, 864, 241, 0
+terrain_333 = 31, 864, 245, 2
+terrain_334 = 31, 904, 241, 0
+terrain_335 = 31, 904, 245, 2
+terrain_336 = 16, 808, 203, 0
+terrain_336 = 31, 830, 241, 0
+terrain_337 = 31, 830, 245, 2
+terrain_338 = 31, 870, 241, 0
+terrain_339 = 31, 870, 245, 2
+terrain_340 = 31, 910, 241, 0
+terrain_341 = 31, 910, 245, 2
+terrain_342 = 31, 950, 241, 0
+terrain_343 = 31, 950, 245, 2
+terrain_344 = 31, 990, 241, 0
+terrain_345 = 31, 990, 245, 2
+terrain_346 = 31, 1030, 241, 0
+terrain_347 = 31, 1030, 245, 2
+terrain_348 = 31, 1070, 241, 0
+terrain_349 = 31, 1070, 245, 2
+terrain_350 = 16, 974, 203, 0
+terrain_350 = 31, 996, 241, 0
+terrain_351 = 31, 996, 245, 2
+terrain_352 = 31, 1036, 241, 0
+terrain_353 = 31, 1036, 245, 2
+terrain_354 = 31, 1076, 241, 0
+terrain_355 = 31, 1076, 245, 2
+terrain_356 = 31, 1116, 241, 0
+terrain_357 = 31, 1116, 245, 2
+terrain_358 = 31, 1156, 241, 0
+terrain_359 = 31, 1156, 245, 2
+terrain_360 = 31, 1196, 241, 0
+terrain_361 = 31, 1196, 245, 2
+terrain_362 = 31, 1236, 241, 0
+terrain_363 = 31, 1236, 245, 2
+terrain_364 = 16, 1140, 203, 0
+terrain_364 = 31, 1162, 241, 0
+terrain_365 = 31, 1162, 245, 2
+terrain_366 = 31, 1202, 241, 0
+terrain_367 = 31, 1202, 245, 2
+terrain_368 = 31, 1242, 241, 0
+terrain_369 = 31, 1242, 245, 2
+terrain_370 = 31, 1282, 241, 0
+terrain_371 = 31, 1282, 245, 2
+terrain_372 = 31, 1322, 241, 0
+terrain_373 = 31, 1322, 245, 2
+terrain_374 = 31, 1362, 241, 0
+terrain_375 = 31, 1362, 245, 2
+terrain_376 = 31, 1402, 241, 0
+terrain_377 = 31, 1402, 245, 2
+terrain_378 = 16, 1306, 203, 0
+terrain_378 = 31, 1328, 241, 0
+terrain_379 = 31, 1328, 245, 2
+terrain_380 = 31, 1368, 241, 0
+terrain_381 = 31, 1368, 245, 2
+terrain_382 = 31, 1408, 241, 0
+terrain_383 = 31, 1408, 245, 2
+terrain_384 = 31, 1448, 241, 0
+terrain_385 = 31, 1448, 245, 2
+terrain_386 = 31, 1488, 241, 0
+terrain_387 = 31, 1488, 245, 2
+terrain_388 = 31, 1528, 241, 0
+terrain_389 = 31, 1528, 245, 2
+terrain_390 = 31, 1568, 241, 0
+terrain_391 = 31, 1568, 245, 2
+terrain_392 = 16, 1472, 203, 0
+terrain_392 = 31, 1494, 241, 0
+terrain_393 = 31, 1494, 245, 2
+terrain_394 = 31, 1534, 241, 0
+terrain_395 = 31, 1534, 245, 2
+terrain_396 = 31, 1574, 241, 0
+terrain_397 = 31, 1574, 245, 2
+terrain_398 = 31, 1614, 241, 0
+terrain_399 = 31, 1614, 245, 2
+terrain_400 = 31, 1654, 241, 0
+terrain_401 = 31, 1654, 245, 2
+terrain_402 = 31, 1694, 241, 0
+terrain_403 = 31, 1694, 245, 2
+terrain_404 = 31, 1734, 241, 0
+terrain_405 = 31, 1734, 245, 2
+terrain_406 = 16, 1638, 203, 0
+terrain_406 = 31, 1660, 241, 0
+terrain_407 = 31, 1660, 245, 2
+terrain_408 = 31, 1700, 241, 0
+terrain_409 = 31, 1700, 245, 2
+terrain_410 = 31, 1740, 241, 0
+terrain_411 = 31, 1740, 245, 2
+terrain_412 = 31, 1780, 241, 0
+terrain_413 = 31, 1780, 245, 2
+terrain_414 = 31, 1820, 241, 0
+terrain_415 = 31, 1820, 245, 2
+terrain_416 = 31, 1860, 241, 0
+terrain_417 = 31, 1860, 245, 2
+terrain_418 = 31, 1900, 241, 0
+terrain_419 = 31, 1900, 245, 2
+terrain_420 = 16, 1804, 203, 0
name = test snow
diff --git a/sdl-test/SDL_tuto/TestParserLemmingsLVL/fonctions_non_integrees.c b/sdl-test/SDL_tuto/TestParserLemmingsLVL/fonctions_non_integrees.c
index 47e0379..309e97b 100644
--- a/sdl-test/SDL_tuto/TestParserLemmingsLVL/fonctions_non_integrees.c
+++ b/sdl-test/SDL_tuto/TestParserLemmingsLVL/fonctions_non_integrees.c
@@ -426,7 +426,7 @@ int stateLemming(struct gameInit *gInit){
fs=gInit->mapI.lemmingDATA[newID].footSize;
lState=gInit->mapI.lemmingDATA[newID].state;
- sfT = gInit->mapI.map.tabGif[gInit->mapI.map.tiles*2 + gInit->mapI.map.tilesObjet*2 +gInit->mapI.map.tilesSteel +(newID)*2+(k->data.pl->dir) + ADD_OBJ];
+ sfT = gInit->mapI.map.tabGif[gInit->mapI.map.tiles*2 + gInit->mapI.map.tilesObjet*2 +gInit->mapI.map.tilesSteel*2 +(newID)*2+(k->data.pl->dir) + ADD_OBJ];
lh=sfT->h/lState;
lw=sfT->w;
@@ -1203,7 +1203,7 @@ int stateLemming(struct gameInit *gInit){
folderLem=malloc(sizeof(char)*(llem+1));
sprintf(folderLem,"%s","../../../misc/");
- total=(LEM_JOB*2) + (gInit->mapI.map.tiles)*2 + gInit->mapI.map.tilesSteel + ((gInit->mapI.map.tilesObjet)*2);
+ total=(LEM_JOB*2) + (gInit->mapI.map.tiles)*2 + gInit->mapI.map.tilesSteel*2 + ((gInit->mapI.map.tilesObjet)*2);
gInit->mapI.map.tabGif=malloc((total + ADD_OBJ) * sizeof(SDL_Surface *));
@@ -1238,28 +1238,29 @@ int stateLemming(struct gameInit *gInit){
//-DEBUG-printf("ERREUR load_file Objet: %s\n", filepath);
return(17);
} else {
- //-DEBUG-printf("load_file ok : %i -> '%s' + flip_LR\n", i+cpt, filepath);
+ //-DEBUG-printf("load_file ok : %i -> '%s' + flip_UD\n", i+cpt, filepath);
}
}
free(filepath);
//stored steel
- cpt=ADD_OBJ+(gInit->mapI.map.tiles*2)+(gInit->mapI.map.tilesObjet*2);
+ cpt=ADD_OBJ+(gInit->mapI.map.tiles*2)+gInit->mapI.map.tilesObjet*2;
filepath = malloc(sizeof(char)*(strlen(folder)+lt+strlen("/om_.gif")+(sizeof(int)*10)));
- for(i=0; i < gInit->mapI.map.tilesSteel ; ++i) {
- sprintf(filepath, "%s/%s%s%d.gif", folder,temp,"om_", tabNum[i]);
+ for(i=0; i < gInit->mapI.map.tilesSteel*2 ; i+=2) {
+ sprintf(filepath, "%s/%s%s%d.gif", folder,temp,"om_", tabNum[i/2]);
gInit->mapI.map.tabGif[i+cpt] = load_image(filepath,ccc_keyGif);
- if(gInit->mapI.map.tabGif[i+cpt] == NULL) {
- //-DEBUG-printf("ERREUR load_file steel: %s\n", filepath);
+ gInit->mapI.map.tabGif[i+1+cpt] = flipSurfaceUD_LR(load_image(filepath,ccc_keyGif),UD,ccc_keyGif);
+ if((gInit->mapI.map.tabGif[i+cpt] == NULL)||(gInit->mapI.map.tabGif[i+1+cpt] == NULL)) {
+ //-DEBUG-printf("ERREUR load_file Objet: %s\n", filepath);
return(18);
} else {
- //-DEBUG-printf("load_file ok : %i -> '%s'\n", i+cpt, filepath);
+ //-DEBUG-printf("load_file ok : %i -> '%s' + flip_UD\n", i+cpt, filepath);
}
}
free(filepath);
//stored lemmingsDATA
- cpt=ADD_OBJ+(gInit->mapI.map.tilesObjet*2)+(gInit->mapI.map.tiles)*2+gInit->mapI.map.tilesSteel;
+ cpt=ADD_OBJ+(gInit->mapI.map.tilesObjet*2)+(gInit->mapI.map.tiles)*2+gInit->mapI.map.tilesSteel*2;
filepath = malloc(sizeof(char)*(strlen(folderLem)+strlen("lemm")+strlen("/_.gif")+(sizeof(int)*10)));
@@ -1330,7 +1331,7 @@ int stateLemming(struct gameInit *gInit){
return(28);
}
// 9: alphabet.gif
- gInit->mapI.map.tabGif[9]= load_image("./alphabet.gif",ccc_cursor);
+ gInit->mapI.map.tabGif[9]= load_image("./alphabet.gif",0xffffff);
if ( gInit->mapI.map.tabGif[9] == NULL ) {
//-DEBUG-printf("ERREUR load_file alphabet.gif: %s\n", "./alphabet.gif");
return(29);
@@ -1427,6 +1428,7 @@ int stateLemming(struct gameInit *gInit){
char *steelGif;
char *temp;
int tabNum[255];
+ int i,tempi,max,j;
struct dirent *lecture;
DIR *rep;
@@ -1490,7 +1492,19 @@ int stateLemming(struct gameInit *gInit){
}
closedir(rep);
-
+ //tri tableau
+ for(j=0;j<2;++j){
+ for(i=0;i<gInit->mapI.map.tilesSteel-1;++i){
+ max=tabNum[i];
+ tempi=tabNum[i+1];
+
+ if(max > tempi){
+ tabNum[i]=tempi;
+ tabNum[i+1]=max;
+ i=0;
+ }
+ }
+ }
yyin=fopen(spriteINI, "r");
if (yyin==NULL) { fprintf(stderr,"Filename INVALIDE: %s\n",spriteINI);
@@ -1519,8 +1533,8 @@ int stateLemming(struct gameInit *gInit){
gInit->s.ls=(struct listeSimplementChainee*)rev_listeO(gInit->s.ls);
// AFFICHAGE DES INFOS DE LA MAP
- err=afficher(gInit);
- if(err!=0){return err;}
+ //err=afficher(gInit);
+ //if(err!=0){return err;}
//Si tout s'est bien passé
free(terrainGif);
@@ -2366,36 +2380,72 @@ int stateLemming(struct gameInit *gInit){
int type=0;
int ox,oy,i,of;
int mode=0;
- Uint32 color,color2;//,color3;
+ int cptSteel;
+ Uint32 ccc_temp,color,color2;//,color3;
//int size;
//void *temp_pixels = NULL;
//DEBUT TEST: SPR
k=gInit->o.lo;
while ( k !=NULL ) {
- sf = gInit->mapI.map.tabGif[gInit->mapI.map.tiles*2+k->ID*2+k->data.po->UD+ADD_OBJ];
-
+ //sf = gInit->mapI.map.tabGif[gInit->mapI.map.tiles*2+k->ID*2+k->data.po->UD+ADD_OBJ];
+
type=gInit->mapI.map.tabDataSprO[k->ID].type;
+
+ if (type>=3&&type<=8){
+ cptSteel=0;
+ for(i=0;i<gInit->mapI.map.tilesObjet;++i){
+ if(i==k->ID){break;}
+ if ((gInit->mapI.map.tabDataSprO[i].type)>=3 && (gInit->mapI.map.tabDataSprO[i].type)<=8){
+ cptSteel++;
+ }
+ }
+
+ //printf("k->ID %d cptSteel %d type %d \n",k->ID,cptSteel,type);
+ sf = gInit->mapI.map.tabGif[gInit->mapI.map.tiles*2+gInit->mapI.map.tilesObjet*2+cptSteel*2+k->data.po->UD+ADD_OBJ];
offset.x = k->x;
offset.y = k->y;
- of=gInit->mapI.map.tabDataSprO[k->ID].state;
+ //of=gInit->mapI.map.tabDataSprO[k->ID].state;
objetAnim.x = 0;
- objetAnim.h = sf->h/of;
+ objetAnim.h = sf->h;///of;
objetAnim.w = sf->w;
- objetAnim.y = (anim_objet(
+ objetAnim.y = 0;/*(anim_objet(
gInit->mapI.map.tabDataSprO[k->ID].anim,
type,
cptFps,
of,
&k->data.po->cptState,
gInit)
- )*(objetAnim.h);
+ )*(objetAnim.h);*/
+
+ switch(type){
+ case 3://no digging to the left
+ ccc_temp=ccc_oNoDigLeft;break;
+ case 4://no digging to the right
+ ccc_temp=ccc_oNoDigRight;break;
+ case 5://trap which makes lemmings drown (water/quick sand/mud)
+ ccc_temp=ccc_oTrapDrown;break;
+ case 6://trap which replaces lemming with death animation
+ ccc_temp=ccc_oTrapAndNoLem;break;
+ case 7://trap which triggers lemming death animation
+ ccc_temp=ccc_oTrapAndLem;break;
+ case 8://exit
+ ccc_temp=ccc_oExit;break;
+ default: //-DEBUG-printf("BUG: bad algo == type = %d\n",type);
+ return 45;
+ }
+
+ if((err=paint_manip(sf,objetAnim,pStencil,offset,ccc_temp,ccc_keyGif,19,NULL))!=0){
+ return err;
+ }
+
+ }
- if(type==8){
+ /* if(type==8){
rStencil.w=objetAnim.w/8;
rStencil.x=k->x+objetAnim.w/2-rStencil.w/2 -1 ;
rStencil.y=k->y ;
@@ -2523,6 +2573,7 @@ int stateLemming(struct gameInit *gInit){
}
//}
}//FIN ELSE MODE
+ */
k=k->next;
}
///FIN TEST: SPR
@@ -2586,7 +2637,7 @@ int paint_lemming (struct gameInit *gInit, int cptFps){
offset.x = k->x;
offset.y = k->y;
- sf = gInit->mapI.map.tabGif[gInit->mapI.map.tiles*2+(gInit->mapI.map.tilesObjet*2)+gInit->mapI.map.tilesSteel+(newID)*2+k->data.pl->dir+ADD_OBJ];
+ sf = gInit->mapI.map.tabGif[gInit->mapI.map.tiles*2+(gInit->mapI.map.tilesObjet*2)+gInit->mapI.map.tilesSteel*2+(newID)*2+k->data.pl->dir+ADD_OBJ];
fx=gInit->mapI.lemmingDATA[newID].footX;
fy=gInit->mapI.lemmingDATA[newID].footY;
diff --git a/sdl-test/SDL_tuto/TestParserLemmingsLVL/parse_ini.yy b/sdl-test/SDL_tuto/TestParserLemmingsLVL/parse_ini.yy
index cba649c..99cbcc6 100644
--- a/sdl-test/SDL_tuto/TestParserLemmingsLVL/parse_ini.yy
+++ b/sdl-test/SDL_tuto/TestParserLemmingsLVL/parse_ini.yy
@@ -556,64 +556,64 @@
int paint_stencil=0;
- %}
-
- %parse-param { struct gameInit *gInit }
-
- %union {char* str; int num; struct list_int *ints; struct val *val;}
-
- %token LEXERROR
- %token STYLE
- %token NAME
- %token SLEM
- %token BGCOLOR
- %token DEBRISCOLOR
- %token PARTICLECOLOR
- %token AFF
- %token XC
- %token EOL
- %token VIR
- %token <str> IDENT
- %token <str> STR
- %token <num> INT
-
- %type <ints> extra_vals
- %type <val> val
-
- %start ini
-
- %%
-
- ini:
- | ini decl
- | ini EOL
-
- decl: STYLE AFF val {
- int ok=0;
- enum eMapStyle s; // STYLE
- ////-DEBUG-printf("Le style\n");
- if ( $3->type != 0 ) {
- //-DEBUG-printf("ERREUR: Fichier .ini corrompu (style n'est pas de style int)\n");
- } else {
- s=0;
- while(s<NBR_STYLE_MAP){
+%}
- if ( (strcmp($3->ptr.str,"undefined")!=0)&&
- (strcmp($3->ptr.str,tabString_eMapStyle[s]) == 0 ) ){
+%parse-param { struct gameInit *gInit }
- ok=2;
- gInit->mapI.map.style=s;
- break;
- }
- ++s;
- }
- if (ok!=2) {
- // BUG ...
- //-DEBUG-printf("Style [%s] invalide (undefined) !!\n",$3->ptr.str);
- exit(2);
+%union {char* str; int num; struct list_int *ints; struct val *val;}
+
+%token LEXERROR
+%token STYLE
+%token NAME
+%token SLEM
+%token BGCOLOR
+%token DEBRISCOLOR
+%token PARTICLECOLOR
+%token AFF
+%token XC
+%token EOL
+%token VIR
+%token <str> IDENT
+%token <str> STR
+%token <num> INT
+
+%type <ints> extra_vals
+%type <val> val
+
+%start ini
+
+%%
+
+ini:
+| ini decl
+| ini EOL
+
+decl: STYLE AFF val {
+ int ok=0;
+ enum eMapStyle s; // STYLE
+ ////-DEBUG-printf("Le style\n");
+ if ( $3->type != 0 ) {
+ //-DEBUG-printf("ERREUR: Fichier .ini corrompu (style n'est pas de style int)\n");
+ } else {
+ s=0;
+ while(s<NBR_STYLE_MAP){
+
+ if ( (strcmp($3->ptr.str,"undefined")!=0)&&
+ (strcmp($3->ptr.str,tabString_eMapStyle[s]) == 0 ) ){
+
+ ok=2;
+ gInit->mapI.map.style=s;
+ break;
}
+ ++s;
+ }
+ if (ok!=2) {
+ // BUG ...
+ //-DEBUG-printf("Style [%s] invalide (undefined) !!\n",$3->ptr.str);
+ exit(2);
}
}
+}
| NAME AFF val {
////-DEBUG-printf("Le name \n");
gInit->mapI.name=$3->ptr.str; //FIXME