├── .idea ├── .name ├── vcs.xml ├── misc.xml ├── artifacts │ └── Bounce_main_jar.xml ├── gradle.xml ├── workspace.xml └── uiDesigner.xml ├── requirements.txt ├── settings.gradle ├── .gitattributes ├── libs ├── nokia5100.jar └── nokia_s40.jar ├── src └── main │ ├── resources │ ├── META-INF │ │ └── MANIFEST.MF │ ├── lang.xx │ ├── lang.th-TH │ ├── lang.zh-CN │ ├── lang.zh-TW │ ├── icons │ │ ├── icon.png │ │ ├── bouncesplash.png │ │ ├── nokiagames.png │ │ └── objects_nm.png │ ├── sounds │ │ ├── pop.ott │ │ ├── up.ott │ │ └── pickup.ott │ └── levels │ │ ├── J2MElvl.002 │ │ ├── J2MElvl.003 │ │ ├── J2MElvl.004 │ │ ├── J2MElvl.007 │ │ ├── J2MElvl.008 │ │ ├── J2MElvl.009 │ │ ├── J2MElvl.011 │ │ ├── J2MElvl.001 │ │ ├── J2MElvl.005 │ │ ├── J2MElvl.006 │ │ └── J2MElvl.010 │ └── java │ └── com │ └── nokia │ └── mid │ └── appl │ └── boun │ ├── Main.java │ ├── Vec2S.java │ ├── d.java │ ├── BounceTimer.java │ ├── TileIDs.java │ ├── Bounce.java │ ├── Translation.java │ ├── BounceGame.java │ ├── e.java │ ├── f.java │ └── b.java ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── LICENSE ├── README.md ├── .gitignore ├── extract_locales.py ├── gradlew.bat └── gradlew /.idea/.name: -------------------------------------------------------------------------------- 1 | Bounce -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | mutf8>=1.0.6 -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'Bounce' 2 | 3 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto -------------------------------------------------------------------------------- /libs/nokia5100.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rndtrash/nokia-bounce-decomp/master/libs/nokia5100.jar -------------------------------------------------------------------------------- /libs/nokia_s40.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rndtrash/nokia-bounce-decomp/master/libs/nokia_s40.jar -------------------------------------------------------------------------------- /src/main/resources/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Main-Class: com.nokia.mid.appl.boun.Main 3 | 4 | -------------------------------------------------------------------------------- /src/main/resources/lang.xx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rndtrash/nokia-bounce-decomp/master/src/main/resources/lang.xx -------------------------------------------------------------------------------- /src/main/resources/lang.th-TH: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rndtrash/nokia-bounce-decomp/master/src/main/resources/lang.th-TH -------------------------------------------------------------------------------- /src/main/resources/lang.zh-CN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rndtrash/nokia-bounce-decomp/master/src/main/resources/lang.zh-CN -------------------------------------------------------------------------------- /src/main/resources/lang.zh-TW: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rndtrash/nokia-bounce-decomp/master/src/main/resources/lang.zh-TW -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rndtrash/nokia-bounce-decomp/master/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /src/main/resources/icons/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rndtrash/nokia-bounce-decomp/master/src/main/resources/icons/icon.png -------------------------------------------------------------------------------- /src/main/resources/sounds/pop.ott: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rndtrash/nokia-bounce-decomp/master/src/main/resources/sounds/pop.ott -------------------------------------------------------------------------------- /src/main/resources/sounds/up.ott: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rndtrash/nokia-bounce-decomp/master/src/main/resources/sounds/up.ott -------------------------------------------------------------------------------- /src/main/resources/sounds/pickup.ott: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rndtrash/nokia-bounce-decomp/master/src/main/resources/sounds/pickup.ott -------------------------------------------------------------------------------- /src/main/resources/levels/J2MElvl.002: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rndtrash/nokia-bounce-decomp/master/src/main/resources/levels/J2MElvl.002 -------------------------------------------------------------------------------- /src/main/resources/levels/J2MElvl.003: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rndtrash/nokia-bounce-decomp/master/src/main/resources/levels/J2MElvl.003 -------------------------------------------------------------------------------- /src/main/resources/levels/J2MElvl.004: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rndtrash/nokia-bounce-decomp/master/src/main/resources/levels/J2MElvl.004 -------------------------------------------------------------------------------- /src/main/resources/levels/J2MElvl.007: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rndtrash/nokia-bounce-decomp/master/src/main/resources/levels/J2MElvl.007 -------------------------------------------------------------------------------- /src/main/resources/levels/J2MElvl.008: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rndtrash/nokia-bounce-decomp/master/src/main/resources/levels/J2MElvl.008 -------------------------------------------------------------------------------- /src/main/resources/levels/J2MElvl.009: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rndtrash/nokia-bounce-decomp/master/src/main/resources/levels/J2MElvl.009 -------------------------------------------------------------------------------- /src/main/resources/levels/J2MElvl.011: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rndtrash/nokia-bounce-decomp/master/src/main/resources/levels/J2MElvl.011 -------------------------------------------------------------------------------- /src/main/resources/icons/bouncesplash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rndtrash/nokia-bounce-decomp/master/src/main/resources/icons/bouncesplash.png -------------------------------------------------------------------------------- /src/main/resources/icons/nokiagames.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rndtrash/nokia-bounce-decomp/master/src/main/resources/icons/nokiagames.png -------------------------------------------------------------------------------- /src/main/resources/icons/objects_nm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rndtrash/nokia-bounce-decomp/master/src/main/resources/icons/objects_nm.png -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /src/main/java/com/nokia/mid/appl/boun/Main.java: -------------------------------------------------------------------------------- 1 | package com.nokia.mid.appl.boun; 2 | 3 | public class Main { 4 | public static void main(String[] args) { 5 | //com.nokia.mid.impl.isa.ui.MIDletManager.main(); 6 | Bounce bounce = new Bounce(); 7 | } 8 | } -------------------------------------------------------------------------------- /src/main/java/com/nokia/mid/appl/boun/Vec2S.java: -------------------------------------------------------------------------------- 1 | package com.nokia.mid.appl.boun; 2 | 3 | public final class Vec2S { 4 | public short x; 5 | public short y; 6 | 7 | public Vec2S(short x, short y) { 8 | this.x = x; 9 | this.y = y; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /.idea/artifacts/Bounce_main_jar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | $PROJECT_DIR$/out/artifacts/Bounce_main_jar 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 2 | Version 2, December 2004 3 | 4 | Copyright (C) 2004 Sam Hocevar 5 | 6 | Everyone is permitted to copy and distribute verbatim or modified 7 | copies of this license document, and changing it is allowed as long 8 | as the name is changed. 9 | 10 | DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 11 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 12 | 13 | 0. You just DO WHAT THE FUCK YOU WANT TO. 14 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Nokia Bounce Decomp 2 | 3 | ## Building 4 | 5 | It builds with `gradlew build` but there is no point in that at the moment since I didn't implement any wrappers for MIDlet and Nokia APIs. 6 | 7 | ## Tools 8 | 9 | ### extract_locales 10 | 11 | `extract_locales.py` -- extracts locales from `lang.***` files. 12 | 13 | #### Requirements 14 | 15 | * Python 3 with PIP 16 | 17 | #### Usage 18 | 19 | ``` 20 | pip install -r requirements.txt 21 | python extract_locales.py 22 | ``` 23 | 24 | Replace `pip` and `python` with `pip3` and `python3` if your system has Python 2 installed. -------------------------------------------------------------------------------- /src/main/java/com/nokia/mid/appl/boun/d.java: -------------------------------------------------------------------------------- 1 | package com.nokia.mid.appl.boun; 2 | 3 | public class d { 4 | public static final int[] a = new int[]{ 5 | 35, 36, 17, 19, 43, 44, 25, 27, 31, 32, 6 | 13, 15, 39, 40, 21, 23}; 7 | 8 | public static final int[] b = new int[]{ 9 | 33, 34, 18, 20, 41, 42, 26, 28, 29, 30, 10 | 14, 16, 37, 38, 22, 24}; 11 | } 12 | 13 | 14 | /* Location: C:\Users\kuzme\Downloads\nokiabounc_jdifc8jb.jar!\com\nokia\mid\appl\boun\d.class 15 | * Java compiler version: 1 (45.3) 16 | * JD-Core Version: 1.1.3 17 | */ -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | build/ 3 | !gradle/wrapper/gradle-wrapper.jar 4 | !**/src/main/**/build/ 5 | !**/src/test/**/build/ 6 | 7 | ### IntelliJ IDEA ### 8 | .idea/modules.xml 9 | .idea/jarRepositories.xml 10 | .idea/compiler.xml 11 | .idea/libraries/ 12 | *.iws 13 | *.iml 14 | *.ipr 15 | out/ 16 | !**/src/main/**/out/ 17 | !**/src/test/**/out/ 18 | 19 | ### Eclipse ### 20 | .apt_generated 21 | .classpath 22 | .factorypath 23 | .project 24 | .settings 25 | .springBeans 26 | .sts4-cache 27 | bin/ 28 | !**/src/main/**/bin/ 29 | !**/src/test/**/bin/ 30 | 31 | ### NetBeans ### 32 | /nbproject/private/ 33 | /nbbuild/ 34 | /dist/ 35 | /nbdist/ 36 | /.nb-gradle/ 37 | 38 | ### VS Code ### 39 | .vscode/ 40 | 41 | ### Mac OS ### 42 | .DS_Store -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 17 | 18 | -------------------------------------------------------------------------------- /extract_locales.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import os 4 | from mutf8 import decode_modified_utf8 5 | 6 | TRANSLATED_STRINGS = 14 7 | TRANSLATION_FILE_PATH = "src/main/resources/lang.xx" 8 | 9 | def read_short(f): 10 | b = f.read(2) 11 | return int.from_bytes(b, byteorder='big') 12 | 13 | file_size = os.path.getsize(TRANSLATION_FILE_PATH) 14 | with open(TRANSLATION_FILE_PATH, "rb") as locale_file: 15 | offsets = [] 16 | for _ in range(TRANSLATED_STRINGS): 17 | offsets.append(read_short(locale_file)) 18 | 19 | count = 0 20 | for offset in offsets: 21 | locale_file.seek(offset) 22 | 23 | length = read_short(locale_file) 24 | 25 | string = decode_modified_utf8(locale_file.read(length)) 26 | print(f"Locale #{count}: \"{string}\"") 27 | count += 1 -------------------------------------------------------------------------------- /src/main/resources/levels/J2MElvl.001: -------------------------------------------------------------------------------- 1 | np       -------------------------------------------------------------------------------- /src/main/java/com/nokia/mid/appl/boun/BounceTimer.java: -------------------------------------------------------------------------------- 1 | package com.nokia.mid.appl.boun; 2 | 3 | import java.util.Timer; 4 | import java.util.TimerTask; 5 | 6 | public class BounceTimer extends TimerTask { 7 | b a; 8 | 9 | Timer timer; 10 | 11 | private final b b; 12 | 13 | public BounceTimer(b paramb1, b paramb2) { 14 | this.b = paramb1; 15 | this.a = paramb2; 16 | this.timer = new Timer(); 17 | this.timer.schedule(this, 0L, 40L); // ~25 Ticks per second 18 | } 19 | 20 | public void run() { 21 | this.a.GameTimerTick(); 22 | } 23 | 24 | void stop() { 25 | if (this.timer == null) 26 | return; 27 | cancel(); 28 | this.timer.cancel(); 29 | this.timer = null; 30 | } 31 | } 32 | 33 | 34 | /* Location: C:\Users\kuzme\Downloads\nokiabounc_jdifc8jb.jar!\com\nokia\mid\appl\boun\g.class 35 | * Java compiler version: 1 (45.3) 36 | * JD-Core Version: 1.1.3 37 | */ -------------------------------------------------------------------------------- /src/main/java/com/nokia/mid/appl/boun/TileIDs.java: -------------------------------------------------------------------------------- 1 | package com.nokia.mid.appl.boun; 2 | 3 | public final class TileIDs { 4 | public static final int EMPTY = 0; 5 | public static final int BRICK_WALL = 1; 6 | public static final int RUBBER_WALL = 2; 7 | public static final int THORNS_UP = 3; 8 | public static final int THORNS_RIGHT = 4; 9 | public static final int THORNS_DOWN = 5; 10 | public static final int THORNS_LEFT = 6; 11 | public static final int CRYSTAL = 7; 12 | public static final int CRYSTAL_ACTIVE = 8; 13 | 14 | public static final int PUMPER_UP = 43; 15 | public static final int PUMPER_RIGHT = 44; 16 | public static final int PUMPER_DOWN = 45; 17 | public static final int PUMPER_LEFT = 46; 18 | 19 | public static final int POWER_UP_GRAVITY_UP = 47; 20 | public static final int POWER_UP_GRAVITY_RIGHT = 48; 21 | public static final int POWER_UP_GRAVITY_DOWN = 49; 22 | public static final int POWER_UP_GRAVITY_LEFT = 50; 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/com/nokia/mid/appl/boun/Bounce.java: -------------------------------------------------------------------------------- 1 | package com.nokia.mid.appl.boun; 2 | 3 | import com.nokia.mid.ui.DeviceControl; 4 | 5 | import javax.microedition.lcdui.Display; 6 | import javax.microedition.midlet.MIDlet; 7 | 8 | public class Bounce extends MIDlet { 9 | private BounceGame BounceGame; 10 | 11 | public Bounce() { 12 | if (this.BounceGame == null) 13 | this.BounceGame = new BounceGame(this); 14 | } 15 | 16 | protected void startApp() { 17 | DeviceControl.setLights(0, 100); 18 | } 19 | 20 | protected void pauseApp() { 21 | } 22 | 23 | public void destroyApp(boolean paramBoolean) { 24 | if (this.BounceGame != null && this.BounceGame.v != null) { 25 | this.BounceGame.WriteToStore(3); 26 | this.BounceGame.v.StopGameTimer(); 27 | } 28 | Display.getDisplay(this).setCurrent(null); 29 | this.BounceGame = null; 30 | } 31 | } 32 | 33 | 34 | /* Location: C:\Users\kuzme\Downloads\nokiabounc_jdifc8jb.jar!\com\nokia\mid\appl\boun\Bounce.class 35 | * Java compiler version: 1 (45.3) 36 | * JD-Core Version: 1.1.3 37 | */ -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- 1 | @rem 2 | @rem Copyright 2015 the original author or authors. 3 | @rem 4 | @rem Licensed under the Apache License, Version 2.0 (the "License"); 5 | @rem you may not use this file except in compliance with the License. 6 | @rem You may obtain a copy of the License at 7 | @rem 8 | @rem https://www.apache.org/licenses/LICENSE-2.0 9 | @rem 10 | @rem Unless required by applicable law or agreed to in writing, software 11 | @rem distributed under the License is distributed on an "AS IS" BASIS, 12 | @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | @rem See the License for the specific language governing permissions and 14 | @rem limitations under the License. 15 | @rem 16 | 17 | @if "%DEBUG%"=="" @echo off 18 | @rem ########################################################################## 19 | @rem 20 | @rem Gradle startup script for Windows 21 | @rem 22 | @rem ########################################################################## 23 | 24 | @rem Set local scope for the variables with windows NT shell 25 | if "%OS%"=="Windows_NT" setlocal 26 | 27 | set DIRNAME=%~dp0 28 | if "%DIRNAME%"=="" set DIRNAME=. 29 | set APP_BASE_NAME=%~n0 30 | set APP_HOME=%DIRNAME% 31 | 32 | @rem Resolve any "." and ".." in APP_HOME to make it shorter. 33 | for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi 34 | 35 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 36 | set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" 37 | 38 | @rem Find java.exe 39 | if defined JAVA_HOME goto findJavaFromJavaHome 40 | 41 | set JAVA_EXE=java.exe 42 | %JAVA_EXE% -version >NUL 2>&1 43 | if %ERRORLEVEL% equ 0 goto execute 44 | 45 | echo. 46 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 47 | echo. 48 | echo Please set the JAVA_HOME variable in your environment to match the 49 | echo location of your Java installation. 50 | 51 | goto fail 52 | 53 | :findJavaFromJavaHome 54 | set JAVA_HOME=%JAVA_HOME:"=% 55 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 56 | 57 | if exist "%JAVA_EXE%" goto execute 58 | 59 | echo. 60 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 61 | echo. 62 | echo Please set the JAVA_HOME variable in your environment to match the 63 | echo location of your Java installation. 64 | 65 | goto fail 66 | 67 | :execute 68 | @rem Setup the command line 69 | 70 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 71 | 72 | 73 | @rem Execute Gradle 74 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* 75 | 76 | :end 77 | @rem End local scope for the variables with windows NT shell 78 | if %ERRORLEVEL% equ 0 goto mainEnd 79 | 80 | :fail 81 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 82 | rem the _cmd.exe /c_ return code! 83 | set EXIT_CODE=%ERRORLEVEL% 84 | if %EXIT_CODE% equ 0 set EXIT_CODE=1 85 | if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% 86 | exit /b %EXIT_CODE% 87 | 88 | :mainEnd 89 | if "%OS%"=="Windows_NT" endlocal 90 | 91 | :omega 92 | -------------------------------------------------------------------------------- /src/main/java/com/nokia/mid/appl/boun/Translation.java: -------------------------------------------------------------------------------- 1 | package com.nokia.mid.appl.boun; 2 | 3 | import java.io.DataInputStream; 4 | import java.io.IOException; 5 | import java.io.InputStream; 6 | 7 | public class Translation { 8 | public static final int BOUNCE = 0; 9 | public static final int MORE_INSTRUCTIONS = 1; 10 | public static final int BACK = 2; 11 | public static final int CONGRATS = 3; 12 | public static final int CONTINUE = 4; 13 | public static final int EXIT = 5; 14 | public static final int GAME_OVER = 6; 15 | public static final int HIGH_SCORE = 7; 16 | public static final int INSTRUCTIONS = 8; 17 | public static final int LEVEL = 9; 18 | public static final int LEVEL_COMPLETED = 10; 19 | public static final int NEW_GAME = 11; 20 | public static final int NEW_HIGH_SCORE = 12; 21 | public static final int OK = 13; 22 | 23 | private static Translation instance = null; 24 | 25 | /** 26 | * Structure of the file: 27 | *

28 | * short offsets[14] -- offsets of individual strings 29 | *

30 | * Each string is: 31 | *

32 | * short length; 33 | * char *string; 34 | *

35 | * Where string is MUTF-8 encoded 36 | */ 37 | private static DataInputStream tStream = null; 38 | 39 | public static final String locale = System.getProperty("microedition.locale"); 40 | 41 | private static String sprintf_translated(String input, String replace, String replacement) { 42 | int i = input.indexOf(replace); 43 | return (i >= 0) ? (input.substring(0, i) + replacement + input.substring(i + replace.length())) : input; 44 | } 45 | 46 | public static synchronized String sprintf_translated(int translationId) { 47 | return sprintf_translated(translationId, null); 48 | } 49 | 50 | public static synchronized String sprintf_translated(int translationId, String[] format) { 51 | try { 52 | if (instance == null) 53 | instance = new Translation(); 54 | if (tStream == null) { 55 | InputStream translationFile = instance.getClass().getResourceAsStream("/lang." + locale); 56 | if (translationFile == null) 57 | translationFile = instance.getClass().getResourceAsStream("/lang.xx"); 58 | if (translationFile == null) 59 | return "NoLang"; 60 | tStream = new DataInputStream(translationFile); 61 | tStream.mark(512); 62 | } 63 | tStream.skipBytes(translationId * Short.BYTES); 64 | short stringOffset = tStream.readShort(); 65 | tStream.skipBytes(stringOffset - translationId * 2 - Short.BYTES); 66 | String str = tStream.readUTF(); 67 | try { 68 | tStream.reset(); 69 | } catch (IOException iOException) { 70 | tStream.close(); 71 | tStream = null; 72 | } 73 | if (format != null) 74 | if (format.length == 1) { 75 | // Replace %U with the first format argument 76 | str = sprintf_translated(str, "%U", format[0]); 77 | } else { 78 | for (byte b = 0; b < format.length; b++) 79 | str = sprintf_translated(str, "%" + b + "U", format[b]); 80 | } 81 | return str; 82 | } catch (IOException iOException) { 83 | return "Err"; 84 | } 85 | } 86 | } 87 | 88 | 89 | /* Location: C:\Users\kuzme\Downloads\nokiabounc_jdifc8jb.jar!\com\nokia\mid\appl\boun\c.class 90 | * Java compiler version: 1 (45.3) 91 | * JD-Core Version: 1.1.3 92 | */ -------------------------------------------------------------------------------- /src/main/resources/levels/J2MElvl.005: -------------------------------------------------------------------------------- 1 | X 2 | Z+a@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ii !@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OP@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OP@@@@@@@@@@OP@@@@@@@@@@@@@@@@@@@@@@@@))@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@`@@@@@@@@@@@@@@@@@@@@@@@@`* !@@k@@@@@@@@@@@@@@C@@@@@`*a@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`a@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@3@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@!@@@@@@C@@@@@C@@@@@C@@@@@C@@@@@C@@@@@k@@@@@@@@@@@@@@@@@@@@@@@@@ -------------------------------------------------------------------------------- /src/main/resources/levels/J2MElvl.006: -------------------------------------------------------------------------------- 1 | 7p$    ! !!  !!  !!  !'', 2 | 3 | 4 | 5 | , 6 | 7 |  8 | 9 | .,! 10 | 11 | a@@@@@@`a@@@@@@`! 12 | 13 | .! 14 | 15 | a@@@@@@@@@@`! !! 16 | 17 | .! 18 | 19 | @@@@@@@@@@ 20 | 21 | 22 | 23 | 24 | 25 | 26 |  27 | 28 | 29 | 30 | 31 | 32 | 33 | ! 34 | 35 | ! 36 | 37 | @@@@@@@@@@ 38 | 39 | 40 | 41 | 42 | 43 | 44 |  45 | 46 | 47 | 48 | 49 | 50 | 51 | ! 52 | 53 |  ))FMOV8ce " -------------------------------------------------------------------------------- /src/main/resources/levels/J2MElvl.010: -------------------------------------------------------------------------------- 1 | B p#  !+! a@@@@@@@@ @@@@@@@@@@@@@`@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@ C@C@C@C@C@C@C@@@@@@@@@@@@@@@@@@@@@@@@''''''''@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@D@@@@@@F** 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |  12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | ))))))))))/ 6 22 | 23 | 24 | 25 |  26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 |  ! 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |   48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 6! 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 |  70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 3ce^`ac_aeg\^dn -------------------------------------------------------------------------------- /.idea/workspace.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 |