This commit is contained in:
Robert Vokac 2024-08-09 14:23:38 +02:00
parent cd9ab3001a
commit e8f3523a38
No known key found for this signature in database
GPG Key ID: C459E1E4B4A986BB
9 changed files with 152 additions and 23 deletions

View File

@ -26,19 +26,21 @@ import lombok.Getter;
* @author robertvokac
*/
public enum FeatureLevel {
SPEEDY_BLUPI_DEMO(ReleaseType.BLUPI, ReleaseVersion.DEMO),
SPEEDY_BLUPI_I(ReleaseType.BLUPI, ReleaseVersion.ONE),
SPEEDY_BLUPI_II(ReleaseType.BLUPI, ReleaseVersion.TWO),
SPEEDY_EGGBERT_DEMO(ReleaseType.EGGBERT, ReleaseVersion.DEMO),
SPEEDY_EGGBERT_1(ReleaseType.EGGBERT, ReleaseVersion.ONE),
SPEEDY_EGGBERT_2(ReleaseType.EGGBERT, ReleaseVersion.TWO),
OPEN_EGGBERT_3(ReleaseType.OPEN, ReleaseVersion.THREE);
SPEEDY_BLUPI_DEMO(ReleaseType.BLUPI, ReleaseVersion.DEMO, Publisher.EPSITEC_SA),
SPEEDY_BLUPI_I(ReleaseType.BLUPI, ReleaseVersion.ONE, Publisher.EPSITEC_SA),
SPEEDY_BLUPI_II(ReleaseType.BLUPI, ReleaseVersion.TWO, Publisher.EPSITEC_SA),
SPEEDY_EGGBERT_DEMO(ReleaseType.EGGBERT, ReleaseVersion.DEMO, Publisher.E_GAMES),
SPEEDY_EGGBERT_1(ReleaseType.EGGBERT, ReleaseVersion.ONE, Publisher.E_GAMES),
SPEEDY_EGGBERT_2(ReleaseType.EGGBERT, ReleaseVersion.TWO, Publisher.E_GAMES),
SPEEDY_EGGBERT_VALUEWARE(ReleaseType.EGGBERT, ReleaseVersion.VALUEWARE, Publisher.E_GAMES),
SPEEDY_BLUPI_FOR_WINDOWS_PHONE(ReleaseType.BLUPI, ReleaseVersion.WINDOWS_PHONE, Publisher.DADA_GAMES),
OPEN_EGGBERT_3(ReleaseType.OPEN, ReleaseVersion.THREE, Publisher.OPEN_EGGBERT);
@Getter
private final ReleaseType releaseType;
@Getter
private final ReleaseVersion releaseVersion;
private FeatureLevel(ReleaseType releaseType, ReleaseVersion releaseVersion) {
private FeatureLevel(ReleaseType releaseType, ReleaseVersion releaseVersion, Publisher publisher) {
this.releaseType = releaseType;
this.releaseVersion = releaseVersion;
}

View File

@ -17,14 +17,12 @@
// <https://www.gnu.org/licenses/> or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
package com.openeggbert.compatibility;
/**
*
* @author robertvokac
*/
public enum GraphicsMode {
ORIGINAL, NEW;
public class Language {
}

View File

@ -17,14 +17,12 @@
// <https://www.gnu.org/licenses/> or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
package com.openeggbert.entity.common;
package com.openeggbert.compatibility;
/**
*
* @author robertvokac
*/
public enum EggbertMusic {
public enum Publisher {
EPSITEC_SA, E_GAMES, DADA_GAMES, OPEN_EGGBERT;
}

View File

@ -26,5 +26,5 @@ package com.openeggbert.compatibility;
* @author robertvokac
*/
public enum ReleaseVersion {
DEMO, ONE, TWO, THREE
DEMO, ONE, TWO, WINDOWS_PHONE, VALUEWARE, THREE;
}

View File

@ -30,7 +30,7 @@ import lombok.Getter;
*/
public enum Cheat {
MEGABLUPI(Utils.ALL__COMPATIBILITY_MODES);
MEGABLUPI(Utils.ALL_FEATURE_LEVELS);
//todo//todo
@Getter

View File

@ -22,7 +22,6 @@
package com.openeggbert.entity.common;
import com.openeggbert.compatibility.FeatureLevel;
import com.openeggbert.compatibility.GraphicsMode;
import com.openeggbert.compatibility.ResolutionMode;
import lombok.Data;
@ -34,7 +33,6 @@ import lombok.Data;
public class GameExecution {
private FeatureLevel compatibilityMode;
private ResolutionMode resolutionMode = ResolutionMode.RESOLUTION_640_480;
private GraphicsMode graphicsMode = GraphicsMode.ORIGINAL;
private Boolean cheatsEnabled = true;
}

View File

@ -21,10 +21,28 @@
package com.openeggbert.entity.common;
import com.openeggbert.compatibility.FeatureLevel;
import lombok.Getter;
/**
*
* @author robertvokac
*/
public enum EggbertSound {
public enum MusicType {
MUSIC1(0),
MUSIC2(1),
MUSIC3(2),
MUSIC4(3),
MUSIC5(4),
MUSIC6(5),
MUSIC7(6),
MUSIC8(7),
MUSIC9(8),
MUSIC10(9);
@Getter
private int number;
MusicType(int numberIn, FeatureLevel... featureLevels) {
this.number = numberIn;
}
}

View File

@ -0,0 +1,115 @@
///////////////////////////////////////////////////////////////////////////////////////////////
// Open Eggbert: Free recreation of the computer game Speedy Eggbert.
// Copyright (C) 2024 the original author or authors.
//
// This program is free software: you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation, either version 3
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see
// <https://www.gnu.org/licenses/> or write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
///////////////////////////////////////////////////////////////////////////////////////////////
package com.openeggbert.entity.common;
import com.openeggbert.compatibility.FeatureLevel;
import lombok.Getter;
/**
*
* @author robertvokac
*/
public enum SoundType {
CLICK(0),
MEDIUM_JUMP(1),
HIGH_JUMP(2),
FALLING_ON_FLOOR(3),
HEAD_WAS_BANGED_THE_HEAD_SOUND(4),
TURNING_ON_THE_OTHER_SIDE(5),
ALMOST_FALLED(6),
LOOKING_DOWN(7),
INSTANT_DEATH(8),
NEW_LIFE(9),
EXPLOSION(10),
ONE_TREASURE_WAS_COLLECTED(11),
ONE_EGG_WAS_COLLECTED(12),
REACHED_GOAL_BUT_NOT_TREASURES_ARE_COLLECTED(13),
REACHED_GOAL_BUT_AND_ALL_TREASURES_ARE_COLLECTED(14),
HELICOPTER_IS_BEING_STARTED(15),
HELICOPTER_IS_WORKING(16),
HELICOPTER_IS_BEING_STOPPED(17),
HELICOPTER_IS_WORKING_IN_REDUCED_POWER(18),
//19
//20
//21
LOG_JUMP(22),
FALLING_IN_WATER(23),
SWIMMING_IN_WATER(24),
SAILING_TO_WATER_SURFACE(25),
DROWNED_IN_THE_WATER(26),
//27
JEEP_IS_BEING_STARTED(28),
JEEP_IS_WORKING(29),
JEEP_IS_BEING_STOPPED(30),
JEEP_IS_WORKING_IN_REDUCED_POWER(31),
GOODBYE_BEFORE_VISITING_ANOTHER_WORLD(32),
OPENING_DOORS(33),
//34
//35
MONKEY_SOUND_IF_TOO_LONG_HANGING_ON_BAR_WITHOUT_AN_ACTIVITY(36),
FEET_TAPPING(37),
PUSHING_CASE_FORWARD(38),
PULLING_CASE_BACKWARD(39),
HEAD_WAS_BANGED_THE_BLUPI_VOICE(40),
JUMPING_FROM_SPRING(41),
COLLECTED_SHIELD_AND_INSTANTLY_USING(42),
SHIELD_LOST_EFFECT(43),
LOLLIPOP_EFFECT_STARTED(44),
LOLLIPOP_EFFECT_ENDED(45),
SIGHING_FROM_THE_FATIGUE_OF_PUSHING_THE_CASE(46),
//47
ANGRY_FROM_PULLING_THE_CASE_FOR_TOO_LONG_TIME(48),
FEAR(49),
LICKING_LOLLIPOP(50),
//51
//52
EMPTY_TANK(53),
//54
RECHARGING_DEVICE_EFFECT_STARTING(55),
RECHARGING_DEVICE_EFFECT_ENDING(56),
DRINKING_INVISIBILITY_POTION(57),
//58
//59
HAPPY_BECAUSE_COLLECTED_ONE_DYNAMITE(60),
HAPPY_BECAUSE_FIRED_ONE_DYNAMITE(61),
//62
//63
SPLASH_OF_WATER(64),
STICKING_OUT_THE_TONGUE(65),
//66-69
CRUSHER_EFFECT(70),
//71
BRIDGE_IS_COLLAPSING(72);
//LAST_TREASURE_WAS_COLLECTED(12)
;
@Getter
private int number;
SoundType(int numberIn, FeatureLevel... featureLevels) {
this.number = numberIn;
}
}

View File

@ -31,5 +31,5 @@ public class Utils {
private Utils() {
//Instantiate not needed.
}
public static final FeatureLevel[] ALL__COMPATIBILITY_MODES = FeatureLevel.values();
public static final FeatureLevel[] ALL_FEATURE_LEVELS = FeatureLevel.values();
}