diff --git a/.vscode/launch.json b/.vscode/launch.json index 5d6261d6b..c922d64b6 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -8,14 +8,20 @@ "type": "java", "name": "Launch Game", "request": "launch", + "projectName": "OpenKeeper", "mainClass": "toniarts.openkeeper.Main", "args": "-nomovies -level mpd4 -debug", + "console": "internalConsole", + "internalConsoleOptions": "openOnSessionStart", }, { "type": "java", "name": "Launch Modelviewer", "request": "launch", + "projectName": "OpenKeeper", "mainClass": "toniarts.openkeeper.tools.modelviewer.ModelViewer", + "console": "internalConsole", + "internalConsoleOptions": "openOnSessionStart", }, ] } \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 5fcde53f4..7e3777d7a 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,20 +1,28 @@ { - "debug.autoExpandLazyVariables": true, + "debug.autoExpandLazyVariables": "on", "editor.codeActionsOnSave": { - "source.organizeImports": true, - "source.addMissingImports": true, + "source.organizeImports": "never", + "source.addMissingImports": "explicit" }, "editor.formatOnSaveMode": "modifications", "java.autobuild.enabled": true, "java.cleanup.actionsOnSave": [ "addOverride", - "invertEquals", + //"invertEquals", "instanceofPatternMatch", "lambdaExpression", //"switchExpression", "tryWithResource", ], - "java.completion.importOrder": ["", "#"], // sort imports alphabetically + "java.completion.importOrder": [""], // sort imports alphabetically "java.compile.nullAnalysis.mode": "automatic", + "java.debug.settings.hotCodeReplace": "auto", + "java.debug.settings.stepping.skipClasses": [ + "$JDK", + "$Libraries", + ], + "java.debug.settings.stepping.skipStaticInitializers": true, + "java.debug.settings.stepping.skipSynthetics": true, + "java.debug.settings.stepping.skipConstructors": false, "java.references.includeDecompiledSources": true, } \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json index d232a050a..542813332 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -4,7 +4,7 @@ { "label": "build", "type": "shell", - "command": "gradlew build --parallel --no-daemon", + "command": "gradlew compileJava --parallel --no-daemon --warning-mode all", "problemMatcher": "$gradle", "group": { "kind": "build", diff --git a/assets/MatDefs/LightingSprite.j3md b/assets/MatDefs/LightingSprite.j3md index 7fb0b6416..1daa864d8 100644 --- a/assets/MatDefs/LightingSprite.j3md +++ b/assets/MatDefs/LightingSprite.j3md @@ -6,6 +6,8 @@ MaterialDef Phong Lighting { Int NumberOfTiles : 1 Int Speed + Int BoundDrawBuffer + // Compute vertex lighting in the shader // For better performance Boolean VertexLighting @@ -70,6 +72,9 @@ MaterialDef Phong Lighting { // The glow color of the object Color GlowColor + //The type of normal map: -1.0 (DirectX = default), 1.0 (OpenGl) + Float NormalType + // Parameters for fresnel // X = bias // Y = scale @@ -133,11 +138,11 @@ MaterialDef Phong Lighting { Float ExpSqFog } - Technique { + Technique { LightMode SinglePass - VertexShader GLSL310 GLSL300 GLSL100 GLSL150: Shaders/SPLightingSprite.vert - FragmentShader GLSL310 GLSL300 GLSL100 GLSL150: Shaders/SPLightingSprite.frag + VertexShader GLSL310 GLSL300 GLSL150: Shaders/LightingSprite.vert + FragmentShader GLSL310 GLSL300 GLSL150: Shaders/LightingSprite.frag WorldParameters { WorldViewProjectionMatrix @@ -153,6 +158,7 @@ MaterialDef Phong Lighting { } Defines { + BOUND_DRAW_BUFFER: BoundDrawBuffer VERTEX_COLOR : UseVertexColor VERTEX_LIGHTING : VertexLighting MATERIAL_COLORS : UseMaterialColors @@ -173,6 +179,7 @@ MaterialDef Phong Lighting { INSTANCING : UseInstancing NUM_MORPH_TARGETS: NumberOfMorphTargets NUM_TARGETS_BUFFERS: NumberOfTargetsBuffers + NORMAL_TYPE: NormalType // fog - jayfella USE_FOG : UseFog @@ -186,8 +193,8 @@ MaterialDef Phong Lighting { LightMode MultiPass - VertexShader GLSL310 GLSL300 GLSL100 GLSL150: Shaders/LightingSprite.vert - FragmentShader GLSL310 GLSL300 GLSL100 GLSL150: Shaders/LightingSprite.frag + VertexShader GLSL310 GLSL300 GLSL150: Shaders/LightingSprite.vert + FragmentShader GLSL310 GLSL300 GLSL150: Shaders/LightingSprite.frag WorldParameters { WorldViewProjectionMatrix @@ -203,6 +210,7 @@ MaterialDef Phong Lighting { } Defines { + BOUND_DRAW_BUFFER: BoundDrawBuffer VERTEX_COLOR : UseVertexColor VERTEX_LIGHTING : VertexLighting MATERIAL_COLORS : UseMaterialColors @@ -223,6 +231,7 @@ MaterialDef Phong Lighting { INSTANCING : UseInstancing NUM_MORPH_TARGETS: NumberOfMorphTargets NUM_TARGETS_BUFFERS: NumberOfTargetsBuffers + NORMAL_TYPE: NormalType // fog - jayfella USE_FOG : UseFog @@ -232,12 +241,10 @@ MaterialDef Phong Lighting { } } - - Technique PreShadow { - VertexShader GLSL310 GLSL300 GLSL100 GLSL150 : Shaders/PreShadowSprite.vert - FragmentShader GLSL310 GLSL300 GLSL100 GLSL150 : Shaders/PreShadowSprite.frag + VertexShader GLSL310 GLSL300 GLSL150: Shaders/LightingSprite.vert + FragmentShader GLSL310 GLSL300 GLSL150: Shaders/LightingSprite.frag WorldParameters { WorldViewProjectionMatrix @@ -250,6 +257,7 @@ MaterialDef Phong Lighting { } Defines { + BOUND_DRAW_BUFFER: BoundDrawBuffer DISCARD_ALPHA : AlphaDiscardThreshold NUM_BONES : NumberOfBones INSTANCING : UseInstancing @@ -267,9 +275,9 @@ MaterialDef Phong Lighting { } - Technique PostShadow{ - VertexShader GLSL310 GLSL300 GLSL100 GLSL150: Shaders/PostShadowSprite.vert - FragmentShader GLSL310 GLSL300 GLSL100 GLSL150: Shaders/PostShadowSprite.frag + Technique PostShadow { + VertexShader GLSL310 GLSL300 GLSL150: Shaders/PostShadowSprite.vert + FragmentShader GLSL310 GLSL300 GLSL150: Shaders/PostShadowSprite.frag WorldParameters { WorldViewProjectionMatrix @@ -283,6 +291,7 @@ MaterialDef Phong Lighting { } Defines { + BOUND_DRAW_BUFFER: BoundDrawBuffer HARDWARE_SHADOWS : HardwareShadows FILTER_MODE : FilterMode PCFEDGE : PCFEdge @@ -307,8 +316,8 @@ MaterialDef Phong Lighting { Technique PreNormalPass { - VertexShader GLSL310 GLSL300 GLSL100 GLSL150 : Common/MatDefs/SSAO/normal.vert - FragmentShader GLSL310 GLSL300 GLSL100 GLSL150 : Common/MatDefs/SSAO/normal.frag + VertexShader GLSL310 GLSL300 GLSL150: Common/MatDefs/SSAO/normal.vert + FragmentShader GLSL310 GLSL300 GLSL150: Common/MatDefs/SSAO/normal.frag WorldParameters { WorldViewProjectionMatrix @@ -319,6 +328,7 @@ MaterialDef Phong Lighting { } Defines { + BOUND_DRAW_BUFFER: BoundDrawBuffer DIFFUSEMAP_ALPHA : DiffuseMap NUM_BONES : NumberOfBones INSTANCING : UseInstancing @@ -330,8 +340,8 @@ MaterialDef Phong Lighting { Technique Glow { - VertexShader GLSL310 GLSL300 GLSL100 GLSL150: Common/MatDefs/Misc/Unshaded.vert - FragmentShader GLSL310 GLSL300 GLSL100 GLSL150: Common/MatDefs/Light/Glow.frag + VertexShader GLSL310 GLSL300 GLSL150: Common/MatDefs/Misc/Unshaded.vert + FragmentShader GLSL310 GLSL300 GLSL150: Common/MatDefs/Light/Glow.frag WorldParameters { WorldViewProjectionMatrix @@ -340,6 +350,7 @@ MaterialDef Phong Lighting { } Defines { + BOUND_DRAW_BUFFER: BoundDrawBuffer NEED_TEXCOORD1 HAS_GLOWMAP : GlowMap HAS_GLOWCOLOR : GlowColor diff --git a/assets/Shaders/LightingSprite.frag b/assets/Shaders/LightingSprite.frag index 8f8a62e1a..1170315a2 100644 --- a/assets/Shaders/LightingSprite.frag +++ b/assets/Shaders/LightingSprite.frag @@ -1,246 +1,19 @@ #import "Common/ShaderLib/GLSLCompat.glsllib" -#import "Common/ShaderLib/Parallax.glsllib" -#import "Common/ShaderLib/Optics.glsllib" -#ifndef VERTEX_LIGHTING - #import "Common/ShaderLib/BlinnPhongLighting.glsllib" - #import "Common/ShaderLib/Lighting.glsllib" -#endif -// fog - jayfella -#ifdef USE_FOG -#import "Common/ShaderLib/MaterialFog.glsllib" -varying float fog_distance; -uniform vec4 m_FogColor; - -#ifdef FOG_LINEAR -uniform vec2 m_LinearFog; -#endif - -#ifdef FOG_EXP -uniform float m_ExpFog; -#endif - -#ifdef FOG_EXPSQ -uniform float m_ExpSqFog; -#endif - -#endif // end fog - -varying vec2 texCoord; -#ifdef SEPARATE_TEXCOORD - varying vec2 texCoord2; -#endif - -varying vec3 AmbientSum; -varying vec4 DiffuseSum; -varying vec3 SpecularSum; - -#ifndef VERTEX_LIGHTING - uniform vec4 g_LightDirection; - //varying vec3 vPosition; - varying vec3 vViewDir; - varying vec4 vLightDir; - varying vec3 lightVec; -#else - varying vec2 vertexLightValues; -#endif - -#ifdef DIFFUSEMAP - uniform sampler2D m_DiffuseMap; -#endif - -#ifdef SPECULARMAP - uniform sampler2D m_SpecularMap; -#endif - -#ifdef PARALLAXMAP - uniform sampler2D m_ParallaxMap; -#endif -#if (defined(PARALLAXMAP) || (defined(NORMALMAP_PARALLAX) && defined(NORMALMAP))) && !defined(VERTEX_LIGHTING) - uniform float m_ParallaxHeight; - varying vec3 vViewDirPrlx; -#endif - -#ifdef LIGHTMAP - uniform sampler2D m_LightMap; -#endif - -#ifdef NORMALMAP - uniform sampler2D m_NormalMap; -#else - varying vec3 vNormal; -#endif - -#ifdef ALPHAMAP - uniform sampler2D m_AlphaMap; -#endif - -#ifdef COLORRAMP - uniform sampler2D m_ColorRamp; -#endif +in vec2 texCoord; +uniform sampler2D m_DiffuseMap; uniform float m_AlphaDiscardThreshold; -#ifndef VERTEX_LIGHTING - uniform float m_Shininess; - #ifdef USE_REFLECTION - uniform float m_ReflectionPower; - uniform float m_ReflectionIntensity; - varying vec4 refVec; - - uniform ENVMAP m_EnvMap; - #endif -#endif - -void main(){ - vec2 newTexCoord; - - #if (defined(PARALLAXMAP) || (defined(NORMALMAP_PARALLAX) && defined(NORMALMAP))) && !defined(VERTEX_LIGHTING) - - #ifdef STEEP_PARALLAX - #ifdef NORMALMAP_PARALLAX - //parallax map is stored in the alpha channel of the normal map - newTexCoord = steepParallaxOffset(m_NormalMap, vViewDirPrlx, texCoord, m_ParallaxHeight); - #else - //parallax map is a texture - newTexCoord = steepParallaxOffset(m_ParallaxMap, vViewDirPrlx, texCoord, m_ParallaxHeight); - #endif - #else - #ifdef NORMALMAP_PARALLAX - //parallax map is stored in the alpha channel of the normal map - newTexCoord = classicParallaxOffset(m_NormalMap, vViewDirPrlx, texCoord, m_ParallaxHeight); - #else - //parallax map is a texture - newTexCoord = classicParallaxOffset(m_ParallaxMap, vViewDirPrlx, texCoord, m_ParallaxHeight); - #endif - #endif - #else - newTexCoord = texCoord; - #endif - - #ifdef DIFFUSEMAP - vec4 diffuseColor = texture2D(m_DiffuseMap, newTexCoord); - #else - vec4 diffuseColor = vec4(1.0); - #endif - - float alpha = DiffuseSum.a * diffuseColor.a; - #ifdef ALPHAMAP - alpha = alpha * texture2D(m_AlphaMap, newTexCoord).r; - #endif - #ifdef DISCARD_ALPHA - if(alpha < m_AlphaDiscardThreshold){ - discard; - } - #endif - - - // *********************** - // Read from textures - // *********************** - #if defined(NORMALMAP) && !defined(VERTEX_LIGHTING) - vec4 normalHeight = texture2D(m_NormalMap, newTexCoord); - //Note the -2.0 and -1.0. We invert the green channel of the normal map, - //as it's compliant with normal maps generated with blender. - //see http://hub.jmonkeyengine.org/forum/topic/parallax-mapping-fundamental-bug/#post-256898 - //for more explanation. - vec3 normal = normalize((normalHeight.xyz * vec3(2.0,-2.0,2.0) - vec3(1.0,-1.0,1.0))); - #ifdef LATC - normal.z = sqrt(1.0 - (normal.x * normal.x) - (normal.y * normal.y)); - #endif - #elif !defined(VERTEX_LIGHTING) - vec3 normal = vNormal; - #if !defined(LOW_QUALITY) && !defined(V_TANGENT) - normal = normalize(normal); - #endif - #endif - - #ifdef SPECULARMAP - vec4 specularColor = texture2D(m_SpecularMap, newTexCoord); - #else - vec4 specularColor = vec4(1.0); - #endif - - #ifdef LIGHTMAP - vec3 lightMapColor; - #ifdef SEPARATE_TEXCOORD - lightMapColor = texture2D(m_LightMap, texCoord2).rgb; - #else - lightMapColor = texture2D(m_LightMap, texCoord).rgb; - #endif - specularColor.rgb *= lightMapColor; - diffuseColor.rgb *= lightMapColor; - #endif - - #ifdef VERTEX_LIGHTING - vec2 light = vertexLightValues.xy; - #ifdef COLORRAMP - diffuseColor.rgb *= texture2D(m_ColorRamp, vec2(light.x, 0.0)).rgb; - specularColor.rgb *= texture2D(m_ColorRamp, vec2(light.y, 0.0)).rgb; - light.xy = vec2(1.0); - #endif - - gl_FragColor.rgb = AmbientSum * diffuseColor.rgb + - DiffuseSum.rgb * diffuseColor.rgb * vec3(light.x) + - SpecularSum * specularColor.rgb * vec3(light.y); - #else - vec4 lightDir = vLightDir; - lightDir.xyz = normalize(lightDir.xyz); - vec3 viewDir = normalize(vViewDir); - float spotFallOff = 1.0; - - #if __VERSION__ >= 110 - // allow use of control flow - if(g_LightDirection.w != 0.0){ - #endif - spotFallOff = computeSpotFalloff(g_LightDirection, lightVec); - #if __VERSION__ >= 110 - if(spotFallOff <= 0.0){ - gl_FragColor.rgb = AmbientSum * diffuseColor.rgb; - gl_FragColor.a = alpha; - return; - } - } - #endif - - vec2 light = computeLighting(normal, viewDir, lightDir.xyz, lightDir.w * spotFallOff, m_Shininess) ; - #ifdef COLORRAMP - diffuseColor.rgb *= texture2D(m_ColorRamp, vec2(light.x, 0.0)).rgb; - specularColor.rgb *= texture2D(m_ColorRamp, vec2(light.y, 0.0)).rgb; - light.xy = vec2(1.0); - #endif - - // Workaround, since it is not possible to modify varying variables - vec4 SpecularSum2 = vec4(SpecularSum, 1.0); - #ifdef USE_REFLECTION - vec4 refColor = Optics_GetEnvColor(m_EnvMap, refVec.xyz); - - // Interpolate light specularity toward reflection color - // Multiply result by specular map - specularColor = mix(SpecularSum2 * light.y, refColor, refVec.w) * specularColor; - - SpecularSum2 = vec4(1.0); - light.y = 1.0; - #endif - - gl_FragColor.rgb = AmbientSum * diffuseColor.rgb + - DiffuseSum.rgb * diffuseColor.rgb * vec3(light.x) + - SpecularSum2.rgb * specularColor.rgb * vec3(light.y); - #endif - - // add fog after the lighting because shadows will cause the fog to darken - // which just results in the geometry looking like it's changed color - #ifdef USE_FOG - #ifdef FOG_LINEAR - gl_FragColor = getFogLinear(gl_FragColor, m_FogColor, m_LinearFog.x, m_LinearFog.y, fog_distance); - #endif - #ifdef FOG_EXP - gl_FragColor = getFogExp(gl_FragColor, m_FogColor, m_ExpFog, fog_distance); - #endif - #ifdef FOG_EXPSQ - gl_FragColor = getFogExpSquare(gl_FragColor, m_FogColor, m_ExpSqFog, fog_distance); - #endif - #endif // end fog - - gl_FragColor.a = alpha; +void main() +{ + vec2 newTexCoord; + newTexCoord = texCoord; + vec4 diffuseColor = texture2D(m_DiffuseMap, newTexCoord); + #ifdef DISCARD_ALPHA + if (all(lessThan(diffuseColor.rgb, vec3(m_AlphaDiscardThreshold)))) + discard; + #endif + + gl_FragColor = vec4(diffuseColor.rgb, 1.0); } diff --git a/assets/Shaders/LightingSprite.vert b/assets/Shaders/LightingSprite.vert index 4fb0ec5d3..12c6e9b17 100644 --- a/assets/Shaders/LightingSprite.vert +++ b/assets/Shaders/LightingSprite.vert @@ -1,207 +1,20 @@ -#import "Common/ShaderLib/GLSLCompat.glsllib" -#import "Common/ShaderLib/Instancing.glsllib" -#import "Common/ShaderLib/Skinning.glsllib" -#import "Common/ShaderLib/Lighting.glsllib" -#import "Common/ShaderLib/MorphAnim.glsllib" - -#ifdef VERTEX_LIGHTING - #import "Common/ShaderLib/BlinnPhongLighting.glsllib" -#endif - -// fog - jayfella -#ifdef USE_FOG -varying float fog_distance; -uniform vec3 g_CameraPosition; -#endif - -// Animation -uniform float g_Time; -uniform int m_NumberOfTiles; -uniform int m_Speed; - -uniform vec4 m_Ambient; -uniform vec4 m_Diffuse; -uniform vec4 m_Specular; -uniform float m_Shininess; - -uniform vec4 g_LightColor; -uniform vec4 g_LightPosition; -uniform vec4 g_AmbientLightColor; - -varying vec2 texCoord; -#ifdef SEPARATE_TEXCOORD - varying vec2 texCoord2; - attribute vec2 inTexCoord2; -#endif - -varying vec3 AmbientSum; -varying vec4 DiffuseSum; -varying vec3 SpecularSum; - -attribute vec3 inPosition; -attribute vec2 inTexCoord; -attribute vec3 inNormal; - -varying vec3 lightVec; - -#ifdef VERTEX_COLOR - attribute vec4 inColor; -#endif - -#ifndef VERTEX_LIGHTING - attribute vec4 inTangent; - - #ifndef NORMALMAP - varying vec3 vNormal; - #endif - varying vec3 vViewDir; - varying vec4 vLightDir; -#else - varying vec2 vertexLightValues; - uniform vec4 g_LightDirection; -#endif - -#if (defined(PARALLAXMAP) || (defined(NORMALMAP_PARALLAX) && defined(NORMALMAP))) && !defined(VERTEX_LIGHTING) - varying vec3 vViewDirPrlx; -#endif - -#ifdef USE_REFLECTION - uniform vec3 g_CameraPosition; - - uniform vec3 m_FresnelParams; - varying vec4 refVec; - - /** - * Input: - * attribute inPosition - * attribute inNormal - * uniform g_WorldMatrix - * uniform g_CameraPosition - * - * Output: - * varying refVec - */ - void computeRef(in vec4 modelSpacePos){ - // vec3 worldPos = (g_WorldMatrix * modelSpacePos).xyz; - vec3 worldPos = TransformWorld(modelSpacePos).xyz; - - vec3 I = normalize( g_CameraPosition - worldPos ).xyz; - // vec3 N = normalize( (g_WorldMatrix * vec4(inNormal, 0.0)).xyz ); - vec3 N = normalize( TransformWorld(vec4(inNormal, 0.0)).xyz ); - - refVec.xyz = reflect(I, N); - refVec.w = m_FresnelParams.x + m_FresnelParams.y * pow(1.0 + dot(I, N), m_FresnelParams.z); - } -#endif - -void main(){ - vec4 modelSpacePos = vec4(inPosition, 1.0); - vec3 modelSpaceNorm = inNormal; - - #ifndef VERTEX_LIGHTING - vec3 modelSpaceTan = inTangent.xyz; - #endif - - #ifdef NUM_MORPH_TARGETS - #if defined(NORMALMAP) && !defined(VERTEX_LIGHTING) - Morph_Compute(modelSpacePos, modelSpaceNorm, modelSpaceTan); - #else - Morph_Compute(modelSpacePos, modelSpaceNorm); - #endif - #endif - - #ifdef NUM_BONES - #ifndef VERTEX_LIGHTING - Skinning_Compute(modelSpacePos, modelSpaceNorm, modelSpaceTan); - #else - Skinning_Compute(modelSpacePos, modelSpaceNorm); - #endif - #endif - - gl_Position = TransformWorldViewProjection(modelSpacePos);// g_WorldViewProjectionMatrix * modelSpacePos; - texCoord = inTexCoord; - - // Animation - int iNumberOfTiles = int(m_NumberOfTiles); - - int selectedTile = 0; - - selectedTile += int(g_Time*float(m_Speed)); - - texCoord.x = (float((texCoord.x + mod(float(selectedTile), float(iNumberOfTiles))) / float(iNumberOfTiles))); ///selectedTile; - // Animation end - - #ifdef SEPARATE_TEXCOORD - texCoord2 = inTexCoord2; - #endif - - vec3 wvPosition = TransformWorldView(modelSpacePos).xyz;// (g_WorldViewMatrix * modelSpacePos).xyz; - vec3 wvNormal = normalize(TransformNormal(modelSpaceNorm));//normalize(g_NormalMatrix * modelSpaceNorm); - vec3 viewDir = normalize(-wvPosition); - - vec4 wvLightPos = (g_ViewMatrix * vec4(g_LightPosition.xyz,clamp(g_LightColor.w,0.0,1.0))); - wvLightPos.w = g_LightPosition.w; - vec4 lightColor = g_LightColor; - - #if (defined(NORMALMAP) || defined(PARALLAXMAP)) && !defined(VERTEX_LIGHTING) - vec3 wvTangent = normalize(TransformNormal(modelSpaceTan)); - vec3 wvBinormal = cross(wvNormal, wvTangent); - mat3 tbnMat = mat3(wvTangent, wvBinormal * inTangent.w,wvNormal); - #endif - - #if defined(NORMALMAP) && !defined(VERTEX_LIGHTING) - vViewDir = -wvPosition * tbnMat; - #if (defined(PARALLAXMAP) || (defined(NORMALMAP_PARALLAX) && defined(NORMALMAP))) - vViewDirPrlx = vViewDir; - #endif - lightComputeDir(wvPosition, lightColor.w, wvLightPos, vLightDir, lightVec); - vLightDir.xyz = (vLightDir.xyz * tbnMat).xyz; - #elif !defined(VERTEX_LIGHTING) - vNormal = wvNormal; - vViewDir = viewDir; - #if defined(PARALLAXMAP) - vViewDirPrlx = -wvPosition * tbnMat; - #endif - lightComputeDir(wvPosition, lightColor.w, wvLightPos, vLightDir, lightVec); - #endif - - #ifdef MATERIAL_COLORS - AmbientSum = (m_Ambient * g_AmbientLightColor).rgb; - DiffuseSum = m_Diffuse * vec4(lightColor.rgb, 1.0); - SpecularSum = (m_Specular * lightColor).rgb; - #else - // Defaults: Ambient and diffuse are white, specular is black. - AmbientSum = g_AmbientLightColor.rgb; - DiffuseSum = vec4(lightColor.rgb, 1.0); - SpecularSum = vec3(0.0); - #endif - - #ifdef VERTEX_COLOR - AmbientSum *= inColor.rgb; - DiffuseSum *= inColor; - #endif - - #ifdef VERTEX_LIGHTING - float spotFallOff = 1.0; - vec4 vLightDir; - lightComputeDir(wvPosition, lightColor.w, wvLightPos, vLightDir, lightVec); - #if __VERSION__ >= 110 - // allow use of control flow - if(lightColor.w > 1.0){ - #endif - spotFallOff = computeSpotFalloff(g_LightDirection, lightVec); - #if __VERSION__ >= 110 - } - #endif - - vertexLightValues = computeLighting(wvNormal, viewDir, vLightDir.xyz, vLightDir.w * spotFallOff, m_Shininess); - #endif - - #ifdef USE_REFLECTION - computeRef(modelSpacePos); - #endif - - #ifdef USE_FOG - fog_distance = distance(g_CameraPosition, (TransformWorld(modelSpacePos)).xyz); - #endif +uniform mat4 g_WorldViewProjectionMatrix; + +uniform float g_Time; +uniform int m_NumberOfTiles; +uniform int m_Speed; + +in vec3 inPosition; +in vec2 inTexCoord; + +out vec2 texCoord; + +void main() { + vec4 modelSpacePos = vec4(inPosition, 1.0); + gl_Position = g_WorldViewProjectionMatrix * modelSpacePos; + texCoord = inTexCoord; + + int iNumberOfTiles = int(m_NumberOfTiles); + int selectedTile = int(g_Time * float(m_Speed)); + texCoord.x = float((texCoord.x + mod(float(selectedTile), float(iNumberOfTiles))) / float(iNumberOfTiles)); } \ No newline at end of file diff --git a/assets/Shaders/PostShadowSprite.frag b/assets/Shaders/PostShadowSprite.frag index 925bd8890..b8069b5a3 100644 --- a/assets/Shaders/PostShadowSprite.frag +++ b/assets/Shaders/PostShadowSprite.frag @@ -1,25 +1,25 @@ #import "Common/ShaderLib/GLSLCompat.glsllib" #import "Common/ShaderLib/Shadows.glsllib" #if defined(PSSM) || defined(FADE) -varying float shadowPosition; +in float shadowPosition; #endif -varying vec4 projCoord0; -varying vec4 projCoord1; -varying vec4 projCoord2; -varying vec4 projCoord3; +in vec4 projCoord0; +in vec4 projCoord1; +in vec4 projCoord2; +in vec4 projCoord3; #ifndef BACKFACE_SHADOWS - varying float nDotL; + in float nDotL; #endif #ifdef POINTLIGHT - varying vec4 projCoord4; - varying vec4 projCoord5; + in vec4 projCoord4; + in vec4 projCoord5; uniform vec3 m_LightPos; - varying vec4 worldPos; + in vec4 worldPos; #else #ifndef PSSM - varying float lightDot; + in float lightDot; #endif #endif @@ -30,7 +30,7 @@ varying vec4 projCoord3; uniform sampler2D m_DiffuseMap; #endif uniform float m_AlphaDiscardThreshold; - varying vec2 texCoord; + in vec2 texCoord; #endif #ifdef FADE diff --git a/assets/Shaders/PostShadowSprite.vert b/assets/Shaders/PostShadowSprite.vert index 2863ee01c..db094d083 100644 --- a/assets/Shaders/PostShadowSprite.vert +++ b/assets/Shaders/PostShadowSprite.vert @@ -1,6 +1,8 @@ #import "Common/ShaderLib/GLSLCompat.glsllib" #import "Common/ShaderLib/Instancing.glsllib" #import "Common/ShaderLib/Skinning.glsllib" +#import "Common/ShaderLib/MorphAnim.glsllib" + uniform mat4 m_LightViewProjectionMatrix0; uniform mat4 m_LightViewProjectionMatrix1; uniform mat4 m_LightViewProjectionMatrix2; @@ -11,41 +13,41 @@ uniform float g_Time; uniform int m_NumberOfTiles; uniform int m_Speed; -varying vec4 projCoord0; -varying vec4 projCoord1; -varying vec4 projCoord2; -varying vec4 projCoord3; +out vec4 projCoord0; +out vec4 projCoord1; +out vec4 projCoord2; +out vec4 projCoord3; #ifdef POINTLIGHT uniform mat4 m_LightViewProjectionMatrix4; uniform mat4 m_LightViewProjectionMatrix5; uniform vec3 m_LightPos; - varying vec4 projCoord4; - varying vec4 projCoord5; - varying vec4 worldPos; + out vec4 projCoord4; + out vec4 projCoord5; + out vec4 worldPos; #else uniform vec3 m_LightDir; #ifndef PSSM uniform vec3 m_LightPos; - varying float lightDot; + out float lightDot; #endif #endif #if defined(PSSM) || defined(FADE) -varying float shadowPosition; +out float shadowPosition; #endif -varying vec2 texCoord; +out vec2 texCoord; -attribute vec3 inPosition; +in vec3 inPosition; #ifndef BACKFACE_SHADOWS - attribute vec3 inNormal; - varying float nDotL; + in vec3 inNormal; + out float nDotL; #endif #ifdef DISCARD_ALPHA - attribute vec2 inTexCoord; + in vec2 inTexCoord; #endif const mat4 biasMat = mat4(0.5, 0.0, 0.0, 0.0, @@ -56,7 +58,7 @@ const mat4 biasMat = mat4(0.5, 0.0, 0.0, 0.0, void main(){ vec4 modelSpacePos = vec4(inPosition, 1.0); - + #ifdef NUM_MORPH_TARGETS Morph_Compute(modelSpacePos); #endif @@ -69,7 +71,7 @@ void main(){ #if defined(PSSM) || defined(FADE) shadowPosition = gl_Position.z; - #endif + #endif #ifndef POINTLIGHT vec4 worldPos=vec4(0.0); diff --git a/assets/Shaders/PreShadowSprite.frag b/assets/Shaders/PreShadowSprite.frag deleted file mode 100644 index 0e20de0ec..000000000 --- a/assets/Shaders/PreShadowSprite.frag +++ /dev/null @@ -1,28 +0,0 @@ -#import "Common/ShaderLib/GLSLCompat.glsllib" -varying vec2 texCoord; - -#ifdef DISCARD_ALPHA - #ifdef COLOR_MAP - uniform sampler2D m_ColorMap; - #else - uniform sampler2D m_DiffuseMap; - #endif - uniform float m_AlphaDiscardThreshold; -#endif - - -void main(){ - #ifdef DISCARD_ALPHA - #ifdef COLOR_MAP - if (texture2D(m_ColorMap, texCoord).a <= m_AlphaDiscardThreshold){ - discard; - } - #else - if (texture2D(m_DiffuseMap, texCoord).a <= m_AlphaDiscardThreshold){ - discard; - } - #endif - #endif - - gl_FragColor = vec4(1.0); -} \ No newline at end of file diff --git a/assets/Shaders/PreShadowSprite.vert b/assets/Shaders/PreShadowSprite.vert deleted file mode 100644 index 92906457d..000000000 --- a/assets/Shaders/PreShadowSprite.vert +++ /dev/null @@ -1,38 +0,0 @@ -#import "Common/ShaderLib/GLSLCompat.glsllib" -#import "Common/ShaderLib/Instancing.glsllib" -#import "Common/ShaderLib/Skinning.glsllib" -#import "Common/ShaderLib/MorphAnim.glsllib" - -attribute vec3 inPosition; -attribute vec2 inTexCoord; - -// Animation -uniform float g_Time; -uniform int m_NumberOfTiles; -uniform int m_Speed; - -varying vec2 texCoord; - -void main(){ - vec4 modelSpacePos = vec4(inPosition, 1.0); - - #ifdef NUM_MORPH_TARGETS - Morph_Compute(modelSpacePos, modelSpaceNorm); - #endif - - #ifdef NUM_BONES - Skinning_Compute(modelSpacePos); - #endif - gl_Position = TransformWorldViewProjection(modelSpacePos); - texCoord = inTexCoord; - - // Animation - int iNumberOfTiles = int(m_NumberOfTiles); - - int selectedTile = 0; - - selectedTile += int(g_Time*float(m_Speed)); - - texCoord.x = (float((texCoord.x + mod(float(selectedTile), float(iNumberOfTiles))) / float(iNumberOfTiles))); ///selectedTile; - // Animation end -} \ No newline at end of file diff --git a/assets/Shaders/SPLightingSprite.frag b/assets/Shaders/SPLightingSprite.frag deleted file mode 100644 index f8a3310b0..000000000 --- a/assets/Shaders/SPLightingSprite.frag +++ /dev/null @@ -1,265 +0,0 @@ -#import "Common/ShaderLib/GLSLCompat.glsllib" -#import "Common/ShaderLib/Parallax.glsllib" -#import "Common/ShaderLib/Optics.glsllib" -#ifndef VERTEX_LIGHTING - #import "Common/ShaderLib/BlinnPhongLighting.glsllib" - #import "Common/ShaderLib/Lighting.glsllib" -#endif - -// fog - jayfella -#ifdef USE_FOG -#import "Common/ShaderLib/MaterialFog.glsllib" -varying float fog_distance; -uniform vec4 m_FogColor; - -#ifdef FOG_LINEAR -uniform vec2 m_LinearFog; -#endif - -#ifdef FOG_EXP -uniform float m_ExpFog; -#endif - -#ifdef FOG_EXPSQ -uniform float m_ExpSqFog; -#endif - -#endif // end fog - -varying vec2 texCoord; -#ifdef SEPARATE_TEXCOORD - varying vec2 texCoord2; -#endif - -varying vec3 AmbientSum; -varying vec4 DiffuseSum; -varying vec3 SpecularSum; - -#ifndef VERTEX_LIGHTING - uniform mat4 g_ViewMatrix; - uniform vec4 g_LightData[NB_LIGHTS]; - varying vec3 vPos; -#endif - -#ifdef DIFFUSEMAP - uniform sampler2D m_DiffuseMap; -#endif - -#ifdef SPECULARMAP - uniform sampler2D m_SpecularMap; -#endif - -#ifdef PARALLAXMAP - uniform sampler2D m_ParallaxMap; -#endif -#if (defined(PARALLAXMAP) || (defined(NORMALMAP_PARALLAX) && defined(NORMALMAP))) && !defined(VERTEX_LIGHTING) - uniform float m_ParallaxHeight; -#endif - -#ifdef LIGHTMAP - uniform sampler2D m_LightMap; -#endif - -#ifdef NORMALMAP - uniform sampler2D m_NormalMap; - varying vec4 vTangent; -#endif -varying vec3 vNormal; - -#ifdef ALPHAMAP - uniform sampler2D m_AlphaMap; -#endif - -#ifdef COLORRAMP - uniform sampler2D m_ColorRamp; -#endif - -uniform float m_AlphaDiscardThreshold; - -#ifndef VERTEX_LIGHTING -uniform float m_Shininess; - - #ifdef USE_REFLECTION - uniform float m_ReflectionPower; - uniform float m_ReflectionIntensity; - varying vec4 refVec; - - uniform ENVMAP m_EnvMap; - #endif -#endif - -void main(){ - #if !defined(VERTEX_LIGHTING) - #if defined(NORMALMAP) - mat3 tbnMat = mat3(vTangent.xyz, vTangent.w * cross( (vNormal), (vTangent.xyz)), vNormal.xyz); - - if (!gl_FrontFacing) - { - tbnMat[2] = -tbnMat[2]; - } - - vec3 viewDir = normalize(-vPos.xyz * tbnMat); - #else - vec3 viewDir = normalize(-vPos.xyz); - #endif - #endif - - vec2 newTexCoord; - - #if (defined(PARALLAXMAP) || (defined(NORMALMAP_PARALLAX) && defined(NORMALMAP))) && !defined(VERTEX_LIGHTING) - - #ifdef STEEP_PARALLAX - #ifdef NORMALMAP_PARALLAX - //parallax map is stored in the alpha channel of the normal map - newTexCoord = steepParallaxOffset(m_NormalMap, viewDir, texCoord, m_ParallaxHeight); - #else - //parallax map is a texture - newTexCoord = steepParallaxOffset(m_ParallaxMap, viewDir, texCoord, m_ParallaxHeight); - #endif - #else - #ifdef NORMALMAP_PARALLAX - //parallax map is stored in the alpha channel of the normal map - newTexCoord = classicParallaxOffset(m_NormalMap, viewDir, texCoord, m_ParallaxHeight); - #else - //parallax map is a texture - newTexCoord = classicParallaxOffset(m_ParallaxMap, viewDir, texCoord, m_ParallaxHeight); - #endif - #endif - #else - newTexCoord = texCoord; - #endif - - #ifdef DIFFUSEMAP - vec4 diffuseColor = texture2D(m_DiffuseMap, newTexCoord); - #else - vec4 diffuseColor = vec4(1.0); - #endif - - float alpha = DiffuseSum.a * diffuseColor.a; - - #ifdef ALPHAMAP - alpha = alpha * texture2D(m_AlphaMap, newTexCoord).r; - #endif - - #ifdef DISCARD_ALPHA - if(alpha < m_AlphaDiscardThreshold){ - discard; - } - #endif - - // *********************** - // Read from textures - // *********************** - #if defined(NORMALMAP) && !defined(VERTEX_LIGHTING) - vec4 normalHeight = texture2D(m_NormalMap, newTexCoord); - //Note the -2.0 and -1.0. We invert the green channel of the normal map, - //as it's compliant with normal maps generated with blender. - //see http://hub.jmonkeyengine.org/forum/topic/parallax-mapping-fundamental-bug/#post-256898 - //for more explanation. - vec3 normal = normalize((normalHeight.xyz * vec3(2.0,-2.0,2.0) - vec3(1.0,-1.0,1.0))); - #elif !defined(VERTEX_LIGHTING) - vec3 normal = normalize(vNormal); - - if (!gl_FrontFacing) - { - normal = -normal; - } - #endif - - #ifdef SPECULARMAP - vec4 specularColor = texture2D(m_SpecularMap, newTexCoord); - #else - vec4 specularColor = vec4(1.0); - #endif - - #ifdef LIGHTMAP - vec3 lightMapColor; - #ifdef SEPARATE_TEXCOORD - lightMapColor = texture2D(m_LightMap, texCoord2).rgb; - #else - lightMapColor = texture2D(m_LightMap, texCoord).rgb; - #endif - specularColor.rgb *= lightMapColor; - diffuseColor.rgb *= lightMapColor; - #endif - - #ifdef VERTEX_LIGHTING - gl_FragColor.rgb = AmbientSum.rgb * diffuseColor.rgb - + DiffuseSum.rgb * diffuseColor.rgb - + SpecularSum.rgb * specularColor.rgb; - #else - - int i = 0; - gl_FragColor.rgb = AmbientSum * diffuseColor.rgb; - - #ifdef USE_REFLECTION - vec4 refColor = Optics_GetEnvColor(m_EnvMap, refVec.xyz); - #endif - - for( int i = 0;i < NB_LIGHTS; i+=3){ - vec4 lightColor = g_LightData[i]; - vec4 lightData1 = g_LightData[i+1]; - vec4 lightDir; - vec3 lightVec; - lightComputeDir(vPos, lightColor.w, lightData1, lightDir,lightVec); - - float spotFallOff = 1.0; - #if __VERSION__ >= 110 - // allow use of control flow - if(lightColor.w > 1.0){ - #endif - spotFallOff = computeSpotFalloff(g_LightData[i+2], lightVec); - #if __VERSION__ >= 110 - } - #endif - - #ifdef NORMALMAP - //Normal map -> lighting is computed in tangent space - lightDir.xyz = normalize(lightDir.xyz * tbnMat); - #else - //no Normal map -> lighting is computed in view space - lightDir.xyz = normalize(lightDir.xyz); - #endif - - vec2 light = computeLighting(normal, viewDir, lightDir.xyz, lightDir.w * spotFallOff , m_Shininess); - - // Workaround, since it is not possible to modify varying variables - vec4 SpecularSum2 = vec4(SpecularSum, 1.0); - #ifdef USE_REFLECTION - // Interpolate light specularity toward reflection color - // Multiply result by specular map - specularColor = mix(SpecularSum2 * light.y, refColor, refVec.w) * specularColor; - - SpecularSum2 = vec4(1.0); - light.y = 1.0; - #endif - - vec3 DiffuseSum2 = DiffuseSum.rgb; - #ifdef COLORRAMP - DiffuseSum2.rgb *= texture2D(m_ColorRamp, vec2(light.x, 0.0)).rgb; - SpecularSum2.rgb *= texture2D(m_ColorRamp, vec2(light.y, 0.0)).rgb; - light.xy = vec2(1.0); - #endif - - gl_FragColor.rgb += DiffuseSum2.rgb * lightColor.rgb * diffuseColor.rgb * vec3(light.x) + - SpecularSum2.rgb * lightColor.rgb * specularColor.rgb * vec3(light.y); - } - - #endif - - // add fog after the lighting because shadows will cause the fog to darken - // which just results in the geometry looking like it's changed color - #ifdef USE_FOG - #ifdef FOG_LINEAR - gl_FragColor = getFogLinear(gl_FragColor, m_FogColor, m_LinearFog.x, m_LinearFog.y, fog_distance); - #endif - #ifdef FOG_EXP - gl_FragColor = getFogExp(gl_FragColor, m_FogColor, m_ExpFog, fog_distance); - #endif - #ifdef FOG_EXPSQ - gl_FragColor = getFogExpSquare(gl_FragColor, m_FogColor, m_ExpSqFog, fog_distance); - #endif - #endif // end fog - - gl_FragColor.a = alpha; -} \ No newline at end of file diff --git a/assets/Shaders/SPLightingSprite.vert b/assets/Shaders/SPLightingSprite.vert deleted file mode 100644 index cc7813a42..000000000 --- a/assets/Shaders/SPLightingSprite.vert +++ /dev/null @@ -1,216 +0,0 @@ -#import "Common/ShaderLib/GLSLCompat.glsllib" -#import "Common/ShaderLib/Instancing.glsllib" -#import "Common/ShaderLib/Skinning.glsllib" -#import "Common/ShaderLib/Lighting.glsllib" -#import "Common/ShaderLib/MorphAnim.glsllib" - -#ifdef VERTEX_LIGHTING - #import "Common/ShaderLib/BlinnPhongLighting.glsllib" -#endif - -// fog - jayfella -#ifdef USE_FOG -varying float fog_distance; -uniform vec3 g_CameraPosition; -#endif - -// Animation -uniform float g_Time; -uniform int m_NumberOfTiles; -uniform int m_Speed; - -uniform vec4 m_Ambient; -uniform vec4 m_Diffuse; -uniform vec4 m_Specular; -uniform float m_Shininess; - -#if defined(VERTEX_LIGHTING) - uniform vec4 g_LightData[NB_LIGHTS]; -#endif -uniform vec4 g_AmbientLightColor; -varying vec2 texCoord; - -#ifdef SEPARATE_TEXCOORD - varying vec2 texCoord2; - attribute vec2 inTexCoord2; -#endif - -varying vec3 AmbientSum; -varying vec4 DiffuseSum; -varying vec3 SpecularSum; - -attribute vec3 inPosition; -attribute vec2 inTexCoord; -attribute vec3 inNormal; - -#ifdef VERTEX_COLOR - attribute vec4 inColor; -#endif - -#ifndef VERTEX_LIGHTING - varying vec3 vNormal; - varying vec3 vPos; - #ifdef NORMALMAP - attribute vec4 inTangent; - varying vec4 vTangent; - #endif -#else - #ifdef COLORRAMP - uniform sampler2D m_ColorRamp; - #endif -#endif - -#ifdef USE_REFLECTION - uniform vec3 g_CameraPosition; - uniform vec3 m_FresnelParams; - varying vec4 refVec; - - /** - * Input: - * attribute inPosition - * attribute inNormal - * uniform g_WorldMatrix - * uniform g_CameraPosition - * - * Output: - * varying refVec - */ - void computeRef(in vec4 modelSpacePos){ - // vec3 worldPos = (g_WorldMatrix * modelSpacePos).xyz; - vec3 worldPos = TransformWorld(modelSpacePos).xyz; - - vec3 I = normalize( g_CameraPosition - worldPos ).xyz; - // vec3 N = normalize( (g_WorldMatrix * vec4(inNormal, 0.0)).xyz ); - vec3 N = normalize( TransformWorld(vec4(inNormal, 0.0)).xyz ); - - refVec.xyz = reflect(I, N); - refVec.w = m_FresnelParams.x + m_FresnelParams.y * pow(1.0 + dot(I, N), m_FresnelParams.z); - } -#endif - -void main(){ - vec4 modelSpacePos = vec4(inPosition, 1.0); - vec3 modelSpaceNorm = inNormal; - - #if defined(NORMALMAP) && !defined(VERTEX_LIGHTING) - vec3 modelSpaceTan = inTangent.xyz; - #endif - - #ifdef NUM_MORPH_TARGETS - #if defined(NORMALMAP) && !defined(VERTEX_LIGHTING) - Morph_Compute(modelSpacePos, modelSpaceNorm, modelSpaceTan); - #else - Morph_Compute(modelSpacePos, modelSpaceNorm); - #endif - #endif - - #ifdef NUM_BONES - #if defined(NORMALMAP) && !defined(VERTEX_LIGHTING) - Skinning_Compute(modelSpacePos, modelSpaceNorm, modelSpaceTan); - #else - Skinning_Compute(modelSpacePos, modelSpaceNorm); - #endif - #endif - - gl_Position = TransformWorldViewProjection(modelSpacePos); - texCoord = inTexCoord; - - // Animation - int iNumberOfTiles = int(m_NumberOfTiles); - - int selectedTile = 0; - - selectedTile += int(g_Time*float(m_Speed)); - - texCoord.x = (float((texCoord.x + mod(float(selectedTile), float(iNumberOfTiles))) / float(iNumberOfTiles))); ///selectedTile; - // Animation end - - #ifdef SEPARATE_TEXCOORD - texCoord2 = inTexCoord2; - #endif - - vec3 wvPosition = TransformWorldView(modelSpacePos).xyz; - vec3 wvNormal = normalize(TransformNormal(modelSpaceNorm)); - vec3 viewDir = normalize(-wvPosition); - - - #if defined(NORMALMAP) && !defined(VERTEX_LIGHTING) - vTangent = vec4(TransformNormal(modelSpaceTan).xyz,inTangent.w); - vNormal = wvNormal; - vPos = wvPosition; - #elif !defined(VERTEX_LIGHTING) - vNormal = wvNormal; - vPos = wvPosition; - #endif - - #ifdef MATERIAL_COLORS - AmbientSum = m_Ambient.rgb * g_AmbientLightColor.rgb; - SpecularSum = m_Specular.rgb; - DiffuseSum = m_Diffuse; - #else - // Defaults: Ambient and diffuse are white, specular is black. - AmbientSum = g_AmbientLightColor.rgb; - SpecularSum = vec3(0.0); - DiffuseSum = vec4(1.0); - #endif - #ifdef VERTEX_COLOR - AmbientSum *= inColor.rgb; - DiffuseSum *= inColor; - #endif - #ifdef VERTEX_LIGHTING - int i = 0; - vec3 diffuseAccum = vec3(0.0); - vec3 specularAccum = vec3(0.0); - vec4 diffuseColor; - vec3 specularColor; - for (int i =0;i < NB_LIGHTS; i+=3){ - vec4 lightColor = g_LightData[i]; - vec4 lightData1 = g_LightData[i+1]; - #ifdef MATERIAL_COLORS - diffuseColor = m_Diffuse * vec4(lightColor.rgb, 1.0); - specularColor = m_Specular.rgb * lightColor.rgb; - #else - diffuseColor = vec4(lightColor.rgb, 1.0); - specularColor = vec3(0.0); - #endif - - vec4 lightDir; - vec3 lightVec; - lightComputeDir(wvPosition, lightColor.w, lightData1, lightDir, lightVec); - // lightDir = normalize(lightDir); - // lightVec = normalize(lightVec); - - float spotFallOff = 1.0; - #if __VERSION__ >= 110 - // allow use of control flow - if(lightColor.w > 1.0){ - #endif - vec4 lightDirection = g_LightData[i+2]; - spotFallOff = computeSpotFalloff(lightDirection, lightVec); - #if __VERSION__ >= 110 - } - #endif - vec2 light = computeLighting(wvNormal, viewDir, lightDir.xyz, lightDir.w * spotFallOff, m_Shininess); - - #ifdef COLORRAMP - diffuseAccum += texture2D(m_ColorRamp, vec2(light.x, 0.0)).rgb * diffuseColor.rgb; - specularAccum += texture2D(m_ColorRamp, vec2(light.y, 0.0)).rgb * specularColor; - #else - diffuseAccum += light.x * diffuseColor.rgb; - specularAccum += light.y * specularColor; - #endif - } - - DiffuseSum.rgb *= diffuseAccum.rgb; - SpecularSum.rgb *= specularAccum.rgb; - #endif - - - #ifdef USE_REFLECTION - computeRef(modelSpacePos); - #endif - - #ifdef USE_FOG - fog_distance = distance(g_CameraPosition, (TransformWorld(modelSpacePos)).xyz); - #endif -} \ No newline at end of file diff --git a/build.gradle b/build.gradle index b26429786..4160ff0d0 100644 --- a/build.gradle +++ b/build.gradle @@ -60,8 +60,8 @@ dependencies { implementation "org.jmonkeyengine:jme3-niftygui:$jmonkeyengine_version" implementation "com.badlogicgames.gdx:gdx-ai:1.8.2" implementation "javax.vecmath:vecmath:1.5.2" - implementation "com.simsilica:zay-es:1.5.0" - implementation "com.simsilica:zay-es-net:1.5.2" + implementation "com.simsilica:zay-es:1.6.0" + implementation "com.simsilica:zay-es-net:1.6.0" implementation "com.simsilica:sio2:1.8.0" implementation "com.simsilica:sim-ethereal:1.8.0" } diff --git a/src/toniarts/openkeeper/Main.java b/src/toniarts/openkeeper/Main.java index b3c35747b..69fed8023 100644 --- a/src/toniarts/openkeeper/Main.java +++ b/src/toniarts/openkeeper/Main.java @@ -87,7 +87,7 @@ * * @author Toni Helenius */ -public class Main extends SimpleApplication { +public final class Main extends SimpleApplication { private static final Logger logger = System.getLogger(Main.class.getName()); @@ -120,6 +120,9 @@ public static void main(String[] args) throws InvocationTargetException, Interru app.showSettings = false; initSettings(app); + // set a better logging format + System.setProperty("java.util.logging.SimpleFormatter.format", "%1$tF %1$tT %4$s %2$s - %5$s%6$s%n"); + // Finally start it if everything went ok if (checkSetup(app)) { app.start(); diff --git a/src/toniarts/openkeeper/animation/PoseTrack.java b/src/toniarts/openkeeper/animation/PoseTrack.java index 3e5ac96b6..bf4d12f37 100644 --- a/src/toniarts/openkeeper/animation/PoseTrack.java +++ b/src/toniarts/openkeeper/animation/PoseTrack.java @@ -55,7 +55,7 @@ public final class PoseTrack extends MorphTrack { private PoseTrack.PoseFrame[] frames; - public static class PoseFrame implements Savable, Cloneable { + public static final class PoseFrame implements Savable, Cloneable { Pose[] poses; float[] weights; diff --git a/src/toniarts/openkeeper/audio/plugins/MP2Loader.java b/src/toniarts/openkeeper/audio/plugins/MP2Loader.java index cb2c9cd89..f71cd659a 100644 --- a/src/toniarts/openkeeper/audio/plugins/MP2Loader.java +++ b/src/toniarts/openkeeper/audio/plugins/MP2Loader.java @@ -40,7 +40,7 @@ * * @author Toni Helenius */ -public class MP2Loader implements AssetLoader { +public final class MP2Loader implements AssetLoader { private static final Logger logger = System.getLogger(MP2Loader.class.getName()); @@ -54,7 +54,7 @@ public class MP2Loader implements AssetLoader { /** * Masks the real input stream to decode the MP2 */ - private static class MPxStream extends InputStream { + private static final class MPxStream extends InputStream { private final Decoder decoder; private final InputStream inputStream; diff --git a/src/toniarts/openkeeper/audio/plugins/converter/MpegToWav.java b/src/toniarts/openkeeper/audio/plugins/converter/MpegToWav.java index df37d4c49..44b59739e 100644 --- a/src/toniarts/openkeeper/audio/plugins/converter/MpegToWav.java +++ b/src/toniarts/openkeeper/audio/plugins/converter/MpegToWav.java @@ -34,7 +34,7 @@ * * @author Toni Helenius */ -public class MpegToWav { +public final class MpegToWav { public static void main(String[] args) { ByteBuffer header = ByteBuffer.wrap(new byte[]{ diff --git a/src/toniarts/openkeeper/audio/plugins/decoder/LayerIIDecoder.java b/src/toniarts/openkeeper/audio/plugins/decoder/LayerIIDecoder.java index 21951e0eb..257a3f584 100644 --- a/src/toniarts/openkeeper/audio/plugins/decoder/LayerIIDecoder.java +++ b/src/toniarts/openkeeper/audio/plugins/decoder/LayerIIDecoder.java @@ -27,7 +27,7 @@ * * @author Michael Scheerer */ -class LayerIIDecoder extends LayerIDecoder { +final class LayerIIDecoder extends LayerIDecoder { // ISO/IEC 11172-3 Annex B Table B.4 private final static double E[] = { diff --git a/src/toniarts/openkeeper/audio/plugins/decoder/MpxReader.java b/src/toniarts/openkeeper/audio/plugins/decoder/MpxReader.java index 15efe078e..fa4815e1f 100644 --- a/src/toniarts/openkeeper/audio/plugins/decoder/MpxReader.java +++ b/src/toniarts/openkeeper/audio/plugins/decoder/MpxReader.java @@ -34,7 +34,7 @@ * * @author Michael Scheerer */ -public class MpxReader extends Frame { +public final class MpxReader extends Frame { private final static byte SYSTEM_SYNC_PATTERN = 0x1; // Prefix // ISO/IEC 13818-2 6.3.3 diff --git a/src/toniarts/openkeeper/audio/plugins/decoder/tag/Tag.java b/src/toniarts/openkeeper/audio/plugins/decoder/tag/Tag.java index 538ee188a..766e8309e 100644 --- a/src/toniarts/openkeeper/audio/plugins/decoder/tag/Tag.java +++ b/src/toniarts/openkeeper/audio/plugins/decoder/tag/Tag.java @@ -311,7 +311,7 @@ public Map getHashtable() { */ @Override public Object clone() { - class BaseTag extends HashMap implements Information { + final class BaseTag extends HashMap implements Information { @Override public Map getHashtable() { diff --git a/src/toniarts/openkeeper/audio/plugins/decoder/tag/TagContent.java b/src/toniarts/openkeeper/audio/plugins/decoder/tag/TagContent.java index adc6bf188..81374bd73 100644 --- a/src/toniarts/openkeeper/audio/plugins/decoder/tag/TagContent.java +++ b/src/toniarts/openkeeper/audio/plugins/decoder/tag/TagContent.java @@ -33,7 +33,7 @@ * * @author Michael Scheerer */ -public class TagContent extends HashMap implements Information { +public final class TagContent extends HashMap implements Information { /** * String content keys diff --git a/src/toniarts/openkeeper/cinematics/CameraSweepData.java b/src/toniarts/openkeeper/cinematics/CameraSweepData.java index a61d1f29b..e3e0bba55 100644 --- a/src/toniarts/openkeeper/cinematics/CameraSweepData.java +++ b/src/toniarts/openkeeper/cinematics/CameraSweepData.java @@ -30,7 +30,7 @@ * * @author Toni Helenius */ -public class CameraSweepData implements Savable { +public final class CameraSweepData implements Savable { private List entries; diff --git a/src/toniarts/openkeeper/cinematics/CameraSweepDataEntry.java b/src/toniarts/openkeeper/cinematics/CameraSweepDataEntry.java index 78be64d01..40f6c4576 100644 --- a/src/toniarts/openkeeper/cinematics/CameraSweepDataEntry.java +++ b/src/toniarts/openkeeper/cinematics/CameraSweepDataEntry.java @@ -30,7 +30,7 @@ * * @author Toni Helenius */ -public class CameraSweepDataEntry implements Savable { +public final class CameraSweepDataEntry implements Savable { private Vector3f position; private Quaternion rotation; diff --git a/src/toniarts/openkeeper/cinematics/CameraSweepDataLoader.java b/src/toniarts/openkeeper/cinematics/CameraSweepDataLoader.java index 28760402b..3151a5a3a 100644 --- a/src/toniarts/openkeeper/cinematics/CameraSweepDataLoader.java +++ b/src/toniarts/openkeeper/cinematics/CameraSweepDataLoader.java @@ -26,7 +26,7 @@ * * @author Toni Helenius */ -public class CameraSweepDataLoader implements AssetLoader { +public final class CameraSweepDataLoader implements AssetLoader { public static final String FILE_EXTENSION = "csd"; diff --git a/src/toniarts/openkeeper/cinematics/Cinematic.java b/src/toniarts/openkeeper/cinematics/Cinematic.java index 18b80825a..53a093123 100644 --- a/src/toniarts/openkeeper/cinematics/Cinematic.java +++ b/src/toniarts/openkeeper/cinematics/Cinematic.java @@ -47,7 +47,7 @@ * * @author Toni Helenius */ -public class Cinematic extends com.jme3.cinematic.Cinematic { +public final class Cinematic extends com.jme3.cinematic.Cinematic { private final AssetManager assetManager; private static final boolean IS_DEBUG = false; diff --git a/src/toniarts/openkeeper/common/RoomInstance.java b/src/toniarts/openkeeper/common/RoomInstance.java index caa54f311..291307766 100644 --- a/src/toniarts/openkeeper/common/RoomInstance.java +++ b/src/toniarts/openkeeper/common/RoomInstance.java @@ -26,7 +26,7 @@ * * @author Toni Helenius */ -public class RoomInstance extends EntityInstance { +public final class RoomInstance extends EntityInstance { private List wallSections; private final Thing.Room.Direction direction; diff --git a/src/toniarts/openkeeper/game/FunnyCameraContol.java b/src/toniarts/openkeeper/game/FunnyCameraContol.java index 59d08c626..86f470baf 100644 --- a/src/toniarts/openkeeper/game/FunnyCameraContol.java +++ b/src/toniarts/openkeeper/game/FunnyCameraContol.java @@ -34,7 +34,7 @@ * * @author ArchDemon */ -public class FunnyCameraContol implements Control, JmeCloneable { +public final class FunnyCameraContol implements Control, JmeCloneable { protected Spatial target = null; protected float distance = 10; diff --git a/src/toniarts/openkeeper/game/MapSelector.java b/src/toniarts/openkeeper/game/MapSelector.java index 88ade9672..25867a239 100644 --- a/src/toniarts/openkeeper/game/MapSelector.java +++ b/src/toniarts/openkeeper/game/MapSelector.java @@ -38,7 +38,7 @@ * * @author ArchDemon */ -public class MapSelector { +public final class MapSelector { private static final Logger logger = System.getLogger(MapSelector.class.getName()); @@ -165,7 +165,7 @@ public GameMapContainer getMap(String map) { /** * Compares the maps by their name */ - private static class MapComparator implements Comparator { + private static final class MapComparator implements Comparator { @Override public int compare(GameMapContainer o1, GameMapContainer o2) { diff --git a/src/toniarts/openkeeper/game/component/AttackTarget.java b/src/toniarts/openkeeper/game/component/AttackTarget.java index b1c32abf5..5e8803f8b 100644 --- a/src/toniarts/openkeeper/game/component/AttackTarget.java +++ b/src/toniarts/openkeeper/game/component/AttackTarget.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class AttackTarget implements EntityComponent { +public final class AttackTarget implements EntityComponent { public EntityId entityId; diff --git a/src/toniarts/openkeeper/game/component/ChickenAi.java b/src/toniarts/openkeeper/game/component/ChickenAi.java index 5a01c1e8d..d7381d8ab 100644 --- a/src/toniarts/openkeeper/game/component/ChickenAi.java +++ b/src/toniarts/openkeeper/game/component/ChickenAi.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class ChickenAi implements EntityComponent { +public final class ChickenAi implements EntityComponent { public double stateStartTime; private int chickenState; diff --git a/src/toniarts/openkeeper/game/component/ChickenGenerator.java b/src/toniarts/openkeeper/game/component/ChickenGenerator.java index 9f3ddf692..ba42d1609 100644 --- a/src/toniarts/openkeeper/game/component/ChickenGenerator.java +++ b/src/toniarts/openkeeper/game/component/ChickenGenerator.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class ChickenGenerator implements EntityComponent { +public final class ChickenGenerator implements EntityComponent { public ChickenGenerator() { // For serialization diff --git a/src/toniarts/openkeeper/game/component/CreatureAi.java b/src/toniarts/openkeeper/game/component/CreatureAi.java index 55abf60a0..464785eaa 100644 --- a/src/toniarts/openkeeper/game/component/CreatureAi.java +++ b/src/toniarts/openkeeper/game/component/CreatureAi.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class CreatureAi implements EntityComponent { +public final class CreatureAi implements EntityComponent { public double stateStartTime; private int creatureState; diff --git a/src/toniarts/openkeeper/game/component/CreatureComponent.java b/src/toniarts/openkeeper/game/component/CreatureComponent.java index 4890b7b3f..4819bf5db 100644 --- a/src/toniarts/openkeeper/game/component/CreatureComponent.java +++ b/src/toniarts/openkeeper/game/component/CreatureComponent.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class CreatureComponent implements EntityComponent { +public final class CreatureComponent implements EntityComponent { public String name; public String bloodType; diff --git a/src/toniarts/openkeeper/game/component/CreatureEfficiency.java b/src/toniarts/openkeeper/game/component/CreatureEfficiency.java index 2e64ed0ac..38a3e3c2d 100644 --- a/src/toniarts/openkeeper/game/component/CreatureEfficiency.java +++ b/src/toniarts/openkeeper/game/component/CreatureEfficiency.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class CreatureEfficiency implements EntityComponent { +public final class CreatureEfficiency implements EntityComponent { public int efficiencyPercentage; diff --git a/src/toniarts/openkeeper/game/component/CreatureExperience.java b/src/toniarts/openkeeper/game/component/CreatureExperience.java index a13dac26e..eda2030f2 100644 --- a/src/toniarts/openkeeper/game/component/CreatureExperience.java +++ b/src/toniarts/openkeeper/game/component/CreatureExperience.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class CreatureExperience implements EntityComponent { +public final class CreatureExperience implements EntityComponent { public int level; public int experience; diff --git a/src/toniarts/openkeeper/game/component/CreatureFall.java b/src/toniarts/openkeeper/game/component/CreatureFall.java index 50d7a0f36..4b142c07a 100644 --- a/src/toniarts/openkeeper/game/component/CreatureFall.java +++ b/src/toniarts/openkeeper/game/component/CreatureFall.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class CreatureFall implements EntityComponent { +public final class CreatureFall implements EntityComponent { public CreatureFall() { // For serialization diff --git a/src/toniarts/openkeeper/game/component/CreatureHunger.java b/src/toniarts/openkeeper/game/component/CreatureHunger.java index 3fa43d33e..fe5e7bd1d 100644 --- a/src/toniarts/openkeeper/game/component/CreatureHunger.java +++ b/src/toniarts/openkeeper/game/component/CreatureHunger.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class CreatureHunger implements EntityComponent { +public final class CreatureHunger implements EntityComponent { public double lastEatTime; diff --git a/src/toniarts/openkeeper/game/component/CreatureImprisoned.java b/src/toniarts/openkeeper/game/component/CreatureImprisoned.java index e18a5c8ef..6687622ef 100644 --- a/src/toniarts/openkeeper/game/component/CreatureImprisoned.java +++ b/src/toniarts/openkeeper/game/component/CreatureImprisoned.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class CreatureImprisoned implements EntityComponent { +public final class CreatureImprisoned implements EntityComponent { public double startTime; public double healthCheckTime; diff --git a/src/toniarts/openkeeper/game/component/CreatureMeleeAttack.java b/src/toniarts/openkeeper/game/component/CreatureMeleeAttack.java index a5c75414a..03224b068 100644 --- a/src/toniarts/openkeeper/game/component/CreatureMeleeAttack.java +++ b/src/toniarts/openkeeper/game/component/CreatureMeleeAttack.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class CreatureMeleeAttack extends Attack { +public final class CreatureMeleeAttack extends Attack { public int attackType; public int damage; diff --git a/src/toniarts/openkeeper/game/component/CreatureMood.java b/src/toniarts/openkeeper/game/component/CreatureMood.java index 0b9748ca1..6820e9468 100644 --- a/src/toniarts/openkeeper/game/component/CreatureMood.java +++ b/src/toniarts/openkeeper/game/component/CreatureMood.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class CreatureMood implements EntityComponent { +public final class CreatureMood implements EntityComponent { public int moodValue; diff --git a/src/toniarts/openkeeper/game/component/CreatureRecuperating.java b/src/toniarts/openkeeper/game/component/CreatureRecuperating.java index a546e9ff5..20c823d9a 100644 --- a/src/toniarts/openkeeper/game/component/CreatureRecuperating.java +++ b/src/toniarts/openkeeper/game/component/CreatureRecuperating.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class CreatureRecuperating implements EntityComponent { +public final class CreatureRecuperating implements EntityComponent { public double startTime; public double healthCheckTime; diff --git a/src/toniarts/openkeeper/game/component/CreatureSleep.java b/src/toniarts/openkeeper/game/component/CreatureSleep.java index 2daee6965..7f1aa811e 100644 --- a/src/toniarts/openkeeper/game/component/CreatureSleep.java +++ b/src/toniarts/openkeeper/game/component/CreatureSleep.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class CreatureSleep implements EntityComponent { +public final class CreatureSleep implements EntityComponent { public EntityId lairObjectId; public double lastSleepTime; diff --git a/src/toniarts/openkeeper/game/component/CreatureSpell.java b/src/toniarts/openkeeper/game/component/CreatureSpell.java index 103181ead..58ee54979 100644 --- a/src/toniarts/openkeeper/game/component/CreatureSpell.java +++ b/src/toniarts/openkeeper/game/component/CreatureSpell.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class CreatureSpell extends Attack { +public final class CreatureSpell extends Attack { public short creatureSpellId; public EntityId creatureId; diff --git a/src/toniarts/openkeeper/game/component/CreatureSpells.java b/src/toniarts/openkeeper/game/component/CreatureSpells.java index 35449190c..9c8d3a5e1 100644 --- a/src/toniarts/openkeeper/game/component/CreatureSpells.java +++ b/src/toniarts/openkeeper/game/component/CreatureSpells.java @@ -27,7 +27,7 @@ * * @author Toni Helenius */ -public class CreatureSpells implements EntityComponent { +public final class CreatureSpells implements EntityComponent { public List creatureSpells; diff --git a/src/toniarts/openkeeper/game/component/CreatureTortured.java b/src/toniarts/openkeeper/game/component/CreatureTortured.java index 458cad228..ecffb1f6e 100644 --- a/src/toniarts/openkeeper/game/component/CreatureTortured.java +++ b/src/toniarts/openkeeper/game/component/CreatureTortured.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class CreatureTortured implements EntityComponent { +public final class CreatureTortured implements EntityComponent { public double timeTortured; public double tortureCheckTime; diff --git a/src/toniarts/openkeeper/game/component/CreatureViewState.java b/src/toniarts/openkeeper/game/component/CreatureViewState.java index fa17438ec..08a3edb43 100644 --- a/src/toniarts/openkeeper/game/component/CreatureViewState.java +++ b/src/toniarts/openkeeper/game/component/CreatureViewState.java @@ -25,7 +25,7 @@ * * @author Toni Helenius */ -public class CreatureViewState implements EntityComponent { +public final class CreatureViewState implements EntityComponent { public short creatureId; public double stateStartTime; diff --git a/src/toniarts/openkeeper/game/component/Damage.java b/src/toniarts/openkeeper/game/component/Damage.java index 432586821..123d27896 100644 --- a/src/toniarts/openkeeper/game/component/Damage.java +++ b/src/toniarts/openkeeper/game/component/Damage.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class Damage implements EntityComponent { +public final class Damage implements EntityComponent { public int damage; diff --git a/src/toniarts/openkeeper/game/component/Death.java b/src/toniarts/openkeeper/game/component/Death.java index 39d4f61be..02aee9285 100644 --- a/src/toniarts/openkeeper/game/component/Death.java +++ b/src/toniarts/openkeeper/game/component/Death.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class Death implements EntityComponent { +public final class Death implements EntityComponent { public double startTime; diff --git a/src/toniarts/openkeeper/game/component/Decay.java b/src/toniarts/openkeeper/game/component/Decay.java index d289e4bdd..9db233a46 100644 --- a/src/toniarts/openkeeper/game/component/Decay.java +++ b/src/toniarts/openkeeper/game/component/Decay.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class Decay implements EntityComponent { +public final class Decay implements EntityComponent { public double startTime; public double duration; diff --git a/src/toniarts/openkeeper/game/component/DoorComponent.java b/src/toniarts/openkeeper/game/component/DoorComponent.java index 06817d75d..0591b338b 100644 --- a/src/toniarts/openkeeper/game/component/DoorComponent.java +++ b/src/toniarts/openkeeper/game/component/DoorComponent.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class DoorComponent implements EntityComponent { +public final class DoorComponent implements EntityComponent { public short doorId; public boolean locked; diff --git a/src/toniarts/openkeeper/game/component/DoorViewState.java b/src/toniarts/openkeeper/game/component/DoorViewState.java index 1d43f2622..ef8d22fc8 100644 --- a/src/toniarts/openkeeper/game/component/DoorViewState.java +++ b/src/toniarts/openkeeper/game/component/DoorViewState.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class DoorViewState implements EntityComponent { +public final class DoorViewState implements EntityComponent { public short doorId; public boolean locked; diff --git a/src/toniarts/openkeeper/game/component/Fearless.java b/src/toniarts/openkeeper/game/component/Fearless.java index 9b8cc6b3e..0391cd1b3 100644 --- a/src/toniarts/openkeeper/game/component/Fearless.java +++ b/src/toniarts/openkeeper/game/component/Fearless.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class Fearless implements EntityComponent { +public final class Fearless implements EntityComponent { public Double startTime; diff --git a/src/toniarts/openkeeper/game/component/FollowTarget.java b/src/toniarts/openkeeper/game/component/FollowTarget.java index dda7c446a..ad71cb449 100644 --- a/src/toniarts/openkeeper/game/component/FollowTarget.java +++ b/src/toniarts/openkeeper/game/component/FollowTarget.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class FollowTarget implements EntityComponent { +public final class FollowTarget implements EntityComponent { public EntityId entityId; diff --git a/src/toniarts/openkeeper/game/component/Food.java b/src/toniarts/openkeeper/game/component/Food.java index 8535a7d54..d76fc8577 100644 --- a/src/toniarts/openkeeper/game/component/Food.java +++ b/src/toniarts/openkeeper/game/component/Food.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class Food implements EntityComponent { +public final class Food implements EntityComponent { public Food() { // For serialization diff --git a/src/toniarts/openkeeper/game/component/Gold.java b/src/toniarts/openkeeper/game/component/Gold.java index c343af1ab..61412d12e 100644 --- a/src/toniarts/openkeeper/game/component/Gold.java +++ b/src/toniarts/openkeeper/game/component/Gold.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class Gold implements EntityComponent { +public final class Gold implements EntityComponent { public int gold; public int maxGold; // Mainly for information on the rendering end diff --git a/src/toniarts/openkeeper/game/component/HauledBy.java b/src/toniarts/openkeeper/game/component/HauledBy.java index ba89de521..cfce20644 100644 --- a/src/toniarts/openkeeper/game/component/HauledBy.java +++ b/src/toniarts/openkeeper/game/component/HauledBy.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class HauledBy implements EntityComponent { +public final class HauledBy implements EntityComponent { public EntityId entityId; diff --git a/src/toniarts/openkeeper/game/component/Health.java b/src/toniarts/openkeeper/game/component/Health.java index 2691dc712..faeec0171 100644 --- a/src/toniarts/openkeeper/game/component/Health.java +++ b/src/toniarts/openkeeper/game/component/Health.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class Health implements EntityComponent { +public final class Health implements EntityComponent { public int health; public int maxHealth; diff --git a/src/toniarts/openkeeper/game/component/InHand.java b/src/toniarts/openkeeper/game/component/InHand.java index cd8f1acd5..98f4e4aac 100644 --- a/src/toniarts/openkeeper/game/component/InHand.java +++ b/src/toniarts/openkeeper/game/component/InHand.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class InHand implements EntityComponent { +public final class InHand implements EntityComponent { public int index; /** diff --git a/src/toniarts/openkeeper/game/component/Interaction.java b/src/toniarts/openkeeper/game/component/Interaction.java index 8e9324779..237896caf 100644 --- a/src/toniarts/openkeeper/game/component/Interaction.java +++ b/src/toniarts/openkeeper/game/component/Interaction.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class Interaction implements EntityComponent { +public final class Interaction implements EntityComponent { public boolean interactable; public boolean slappable; diff --git a/src/toniarts/openkeeper/game/component/Mana.java b/src/toniarts/openkeeper/game/component/Mana.java index 8088b78aa..c6ab81019 100644 --- a/src/toniarts/openkeeper/game/component/Mana.java +++ b/src/toniarts/openkeeper/game/component/Mana.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class Mana implements EntityComponent { +public final class Mana implements EntityComponent { public int manaGeneration; diff --git a/src/toniarts/openkeeper/game/component/MapTile.java b/src/toniarts/openkeeper/game/component/MapTile.java index 3c3781d0d..240248424 100644 --- a/src/toniarts/openkeeper/game/component/MapTile.java +++ b/src/toniarts/openkeeper/game/component/MapTile.java @@ -27,7 +27,7 @@ * * @author Toni Helenius */ -public class MapTile implements EntityComponent { +public final class MapTile implements EntityComponent { // TODO: Get rid of these, not a correct place to store this information public Map selection; diff --git a/src/toniarts/openkeeper/game/component/Mobile.java b/src/toniarts/openkeeper/game/component/Mobile.java index db5cd0e35..b1948b983 100644 --- a/src/toniarts/openkeeper/game/component/Mobile.java +++ b/src/toniarts/openkeeper/game/component/Mobile.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class Mobile implements EntityComponent { +public final class Mobile implements EntityComponent { public boolean canFly; public boolean canWalkOnWater; diff --git a/src/toniarts/openkeeper/game/component/Navigation.java b/src/toniarts/openkeeper/game/component/Navigation.java index 1eb6fc042..f7d759913 100644 --- a/src/toniarts/openkeeper/game/component/Navigation.java +++ b/src/toniarts/openkeeper/game/component/Navigation.java @@ -26,7 +26,7 @@ * * @author Toni Helenius */ -public class Navigation implements EntityComponent { +public final class Navigation implements EntityComponent { public Point target; public Point faceTarget; diff --git a/src/toniarts/openkeeper/game/component/ObjectComponent.java b/src/toniarts/openkeeper/game/component/ObjectComponent.java index 08bde6ec9..a7c43437c 100644 --- a/src/toniarts/openkeeper/game/component/ObjectComponent.java +++ b/src/toniarts/openkeeper/game/component/ObjectComponent.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class ObjectComponent implements EntityComponent { +public final class ObjectComponent implements EntityComponent { public short objectId; diff --git a/src/toniarts/openkeeper/game/component/ObjectViewState.java b/src/toniarts/openkeeper/game/component/ObjectViewState.java index 2c78a99ac..4314dd22e 100644 --- a/src/toniarts/openkeeper/game/component/ObjectViewState.java +++ b/src/toniarts/openkeeper/game/component/ObjectViewState.java @@ -25,7 +25,7 @@ * * @author Toni Helenius */ -public class ObjectViewState implements EntityComponent { +public final class ObjectViewState implements EntityComponent { public short objectId; public GameObject.State state; diff --git a/src/toniarts/openkeeper/game/component/Objective.java b/src/toniarts/openkeeper/game/component/Objective.java index 95b453f65..f82d1fbd1 100644 --- a/src/toniarts/openkeeper/game/component/Objective.java +++ b/src/toniarts/openkeeper/game/component/Objective.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class Objective implements EntityComponent { +public final class Objective implements EntityComponent { public Thing.HeroParty.Objective objective; public short objectiveTargetPlayerId; diff --git a/src/toniarts/openkeeper/game/component/Owner.java b/src/toniarts/openkeeper/game/component/Owner.java index f63d8a2dc..e56afa023 100644 --- a/src/toniarts/openkeeper/game/component/Owner.java +++ b/src/toniarts/openkeeper/game/component/Owner.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class Owner implements EntityComponent { +public final class Owner implements EntityComponent { public short ownerId; diff --git a/src/toniarts/openkeeper/game/component/Party.java b/src/toniarts/openkeeper/game/component/Party.java index 5caffe1d9..803cf3157 100644 --- a/src/toniarts/openkeeper/game/component/Party.java +++ b/src/toniarts/openkeeper/game/component/Party.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class Party implements EntityComponent { +public final class Party implements EntityComponent { public long partyId; diff --git a/src/toniarts/openkeeper/game/component/Placeable.java b/src/toniarts/openkeeper/game/component/Placeable.java index e9ae1c55b..23fc1f469 100644 --- a/src/toniarts/openkeeper/game/component/Placeable.java +++ b/src/toniarts/openkeeper/game/component/Placeable.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class Placeable implements EntityComponent { +public final class Placeable implements EntityComponent { public Placeable() { // For serialization diff --git a/src/toniarts/openkeeper/game/component/PlayerObjective.java b/src/toniarts/openkeeper/game/component/PlayerObjective.java index 3d5520d5c..7ac2555f7 100644 --- a/src/toniarts/openkeeper/game/component/PlayerObjective.java +++ b/src/toniarts/openkeeper/game/component/PlayerObjective.java @@ -25,7 +25,7 @@ * * @author Toni Helenius */ -public class PlayerObjective implements EntityComponent { +public final class PlayerObjective implements EntityComponent { public ObjectiveType objective; diff --git a/src/toniarts/openkeeper/game/component/PortalGem.java b/src/toniarts/openkeeper/game/component/PortalGem.java index a1be09477..b4a10ae8f 100644 --- a/src/toniarts/openkeeper/game/component/PortalGem.java +++ b/src/toniarts/openkeeper/game/component/PortalGem.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class PortalGem implements EntityComponent { +public final class PortalGem implements EntityComponent { public PortalGem() { // For serialization diff --git a/src/toniarts/openkeeper/game/component/Position.java b/src/toniarts/openkeeper/game/component/Position.java index 51020506c..aa6f97ee4 100644 --- a/src/toniarts/openkeeper/game/component/Position.java +++ b/src/toniarts/openkeeper/game/component/Position.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class Position implements EntityComponent { +public final class Position implements EntityComponent { public float rotation; // We are essentially 2D game, so around y-axis public Vector3f position; diff --git a/src/toniarts/openkeeper/game/component/Possessed.java b/src/toniarts/openkeeper/game/component/Possessed.java index 5c3ef7189..97937a243 100644 --- a/src/toniarts/openkeeper/game/component/Possessed.java +++ b/src/toniarts/openkeeper/game/component/Possessed.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class Possessed implements EntityComponent { +public final class Possessed implements EntityComponent { /** * We mark the mana drain here so that we can easily get the information. diff --git a/src/toniarts/openkeeper/game/component/Regeneration.java b/src/toniarts/openkeeper/game/component/Regeneration.java index a64b1fe73..9e0dcda82 100644 --- a/src/toniarts/openkeeper/game/component/Regeneration.java +++ b/src/toniarts/openkeeper/game/component/Regeneration.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class Regeneration implements EntityComponent { +public final class Regeneration implements EntityComponent { public int ownLandHealthIncrease; public Double timeOnOwnLand; diff --git a/src/toniarts/openkeeper/game/component/RoomStorage.java b/src/toniarts/openkeeper/game/component/RoomStorage.java index 84d66dcf0..f90d358b8 100644 --- a/src/toniarts/openkeeper/game/component/RoomStorage.java +++ b/src/toniarts/openkeeper/game/component/RoomStorage.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class RoomStorage implements EntityComponent { +public final class RoomStorage implements EntityComponent { // TODO: maybe replace with room ID public AbstractRoomController.ObjectType objectType; diff --git a/src/toniarts/openkeeper/game/component/Senses.java b/src/toniarts/openkeeper/game/component/Senses.java index 6c7a4dce7..d391b3486 100644 --- a/src/toniarts/openkeeper/game/component/Senses.java +++ b/src/toniarts/openkeeper/game/component/Senses.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class Senses implements EntityComponent { +public final class Senses implements EntityComponent { public float distanceCanHear; public float distanceCanSee; diff --git a/src/toniarts/openkeeper/game/component/Slapped.java b/src/toniarts/openkeeper/game/component/Slapped.java index d10e8cb34..0bdce8747 100644 --- a/src/toniarts/openkeeper/game/component/Slapped.java +++ b/src/toniarts/openkeeper/game/component/Slapped.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class Slapped implements EntityComponent { +public final class Slapped implements EntityComponent { public double startTime; diff --git a/src/toniarts/openkeeper/game/component/Spellbook.java b/src/toniarts/openkeeper/game/component/Spellbook.java index 53010172c..b6c16c415 100644 --- a/src/toniarts/openkeeper/game/component/Spellbook.java +++ b/src/toniarts/openkeeper/game/component/Spellbook.java @@ -25,7 +25,7 @@ * * @author Toni Helenius */ -public class Spellbook implements EntityComponent { +public final class Spellbook implements EntityComponent { public ResearchableType type; public short typeId; diff --git a/src/toniarts/openkeeper/game/component/TaskComponent.java b/src/toniarts/openkeeper/game/component/TaskComponent.java index 0b1569493..1f97c55af 100644 --- a/src/toniarts/openkeeper/game/component/TaskComponent.java +++ b/src/toniarts/openkeeper/game/component/TaskComponent.java @@ -26,7 +26,7 @@ * * @author Toni Helenius */ -public class TaskComponent implements EntityComponent { +public final class TaskComponent implements EntityComponent { public long taskId; public EntityId targetEntity; diff --git a/src/toniarts/openkeeper/game/component/Threat.java b/src/toniarts/openkeeper/game/component/Threat.java index 7215b4287..a25f1af21 100644 --- a/src/toniarts/openkeeper/game/component/Threat.java +++ b/src/toniarts/openkeeper/game/component/Threat.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class Threat implements EntityComponent { +public final class Threat implements EntityComponent { public int threat; diff --git a/src/toniarts/openkeeper/game/component/TrapComponent.java b/src/toniarts/openkeeper/game/component/TrapComponent.java index 8a951114a..b6bc3dadf 100644 --- a/src/toniarts/openkeeper/game/component/TrapComponent.java +++ b/src/toniarts/openkeeper/game/component/TrapComponent.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class TrapComponent implements EntityComponent { +public final class TrapComponent implements EntityComponent { public short trapId; diff --git a/src/toniarts/openkeeper/game/component/TrapViewState.java b/src/toniarts/openkeeper/game/component/TrapViewState.java index d6e572b76..d0b5085ca 100644 --- a/src/toniarts/openkeeper/game/component/TrapViewState.java +++ b/src/toniarts/openkeeper/game/component/TrapViewState.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class TrapViewState implements EntityComponent { +public final class TrapViewState implements EntityComponent { public short trapId; public boolean blueprint; diff --git a/src/toniarts/openkeeper/game/component/Trigger.java b/src/toniarts/openkeeper/game/component/Trigger.java index 9e3f92bd7..397bdbb79 100644 --- a/src/toniarts/openkeeper/game/component/Trigger.java +++ b/src/toniarts/openkeeper/game/component/Trigger.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class Trigger implements EntityComponent { +public final class Trigger implements EntityComponent { public int triggerId; diff --git a/src/toniarts/openkeeper/game/component/Unconscious.java b/src/toniarts/openkeeper/game/component/Unconscious.java index e22cad1da..3f80e54f7 100644 --- a/src/toniarts/openkeeper/game/component/Unconscious.java +++ b/src/toniarts/openkeeper/game/component/Unconscious.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class Unconscious implements EntityComponent { +public final class Unconscious implements EntityComponent { public double startTime; diff --git a/src/toniarts/openkeeper/game/console/ConsoleInputListener.java b/src/toniarts/openkeeper/game/console/ConsoleInputListener.java index 9b9a29e51..2ef2a7b9a 100644 --- a/src/toniarts/openkeeper/game/console/ConsoleInputListener.java +++ b/src/toniarts/openkeeper/game/console/ConsoleInputListener.java @@ -29,7 +29,7 @@ * * @author ArchDemon */ -public class ConsoleInputListener implements RawInputListener { +public final class ConsoleInputListener implements RawInputListener { private final AppState app; public ConsoleInputListener(AppState app) { diff --git a/src/toniarts/openkeeper/game/console/ConsoleState.java b/src/toniarts/openkeeper/game/console/ConsoleState.java index f09cc2f74..5843aa9fd 100644 --- a/src/toniarts/openkeeper/game/console/ConsoleState.java +++ b/src/toniarts/openkeeper/game/console/ConsoleState.java @@ -28,7 +28,7 @@ * * @author ArchDemon */ -public class ConsoleState extends AbstractPauseAwareState { +public final class ConsoleState extends AbstractPauseAwareState { private Main app; private GameConsole console; diff --git a/src/toniarts/openkeeper/game/console/GameConsole.java b/src/toniarts/openkeeper/game/console/GameConsole.java index 1b92f7e08..b267021f5 100644 --- a/src/toniarts/openkeeper/game/console/GameConsole.java +++ b/src/toniarts/openkeeper/game/console/GameConsole.java @@ -34,7 +34,7 @@ * * @author ArchDemon */ -public class GameConsole { +public final class GameConsole { private final Console console; private ConsoleCommands consoleCommands; @@ -120,7 +120,7 @@ public Console getConsole() { return console; } - public class SimpleCommand implements ConsoleCommand { + public final class SimpleCommand implements ConsoleCommand { @Override public void execute(final String[] args) { @@ -155,7 +155,7 @@ public void execute(final String[] args) { } } - private class ParameterCommand implements ConsoleCommand { + private final class ParameterCommand implements ConsoleCommand { @Override public void execute(final String[] args) { diff --git a/src/toniarts/openkeeper/game/controller/CreaturesController.java b/src/toniarts/openkeeper/game/controller/CreaturesController.java index 2a0779aaf..6022d851b 100644 --- a/src/toniarts/openkeeper/game/controller/CreaturesController.java +++ b/src/toniarts/openkeeper/game/controller/CreaturesController.java @@ -86,7 +86,7 @@ * * @author Toni Helenius */ -public class CreaturesController implements ICreaturesController { +public final class CreaturesController implements ICreaturesController { private static final Logger logger = System.getLogger(CreaturesController.class.getName()); diff --git a/src/toniarts/openkeeper/game/controller/DoorsController.java b/src/toniarts/openkeeper/game/controller/DoorsController.java index cc7718e7e..ea5e3846a 100644 --- a/src/toniarts/openkeeper/game/controller/DoorsController.java +++ b/src/toniarts/openkeeper/game/controller/DoorsController.java @@ -50,7 +50,7 @@ * * @author Toni Helenius */ -public class DoorsController implements IDoorsController { +public final class DoorsController implements IDoorsController { private static final Logger logger = System.getLogger(DoorsController.class.getName()); diff --git a/src/toniarts/openkeeper/game/controller/GameController.java b/src/toniarts/openkeeper/game/controller/GameController.java index 9124af549..496e58b66 100644 --- a/src/toniarts/openkeeper/game/controller/GameController.java +++ b/src/toniarts/openkeeper/game/controller/GameController.java @@ -88,7 +88,7 @@ * * @author Toni Helenius */ -public class GameController implements IGameLogicUpdatable, AutoCloseable, IGameTimer, ILevelInfo, IGameController { +public final class GameController implements IGameLogicUpdatable, AutoCloseable, IGameTimer, ILevelInfo, IGameController { private static final Logger logger = System.getLogger(GameController.class.getName()); diff --git a/src/toniarts/openkeeper/game/controller/GameWorldController.java b/src/toniarts/openkeeper/game/controller/GameWorldController.java index a7721a62f..33e77d526 100644 --- a/src/toniarts/openkeeper/game/controller/GameWorldController.java +++ b/src/toniarts/openkeeper/game/controller/GameWorldController.java @@ -89,7 +89,7 @@ * * @author Toni Helenius */ -public class GameWorldController implements IGameWorldController, IPlayerActions { +public final class GameWorldController implements IGameWorldController, IPlayerActions { private static final System.Logger logger = System.getLogger(GameWorldController.class.getName()); diff --git a/src/toniarts/openkeeper/game/controller/ObjectsController.java b/src/toniarts/openkeeper/game/controller/ObjectsController.java index f6ce2e665..5a02160d6 100644 --- a/src/toniarts/openkeeper/game/controller/ObjectsController.java +++ b/src/toniarts/openkeeper/game/controller/ObjectsController.java @@ -66,7 +66,7 @@ * * @author Toni Helenius */ -public class ObjectsController implements IObjectsController { +public final class ObjectsController implements IObjectsController { private static final Logger logger = System.getLogger(ObjectsController.class.getName()); diff --git a/src/toniarts/openkeeper/game/controller/PlayerController.java b/src/toniarts/openkeeper/game/controller/PlayerController.java index ca02a2e6d..9dda8ba55 100644 --- a/src/toniarts/openkeeper/game/controller/PlayerController.java +++ b/src/toniarts/openkeeper/game/controller/PlayerController.java @@ -42,7 +42,7 @@ * * @author Toni Helenius */ -public class PlayerController implements IPlayerController { +public final class PlayerController implements IPlayerController { private final Keeper keeper; private final PlayerGoldControl goldControl; diff --git a/src/toniarts/openkeeper/game/controller/ShotsController.java b/src/toniarts/openkeeper/game/controller/ShotsController.java index 01fcf982b..e187a8be3 100644 --- a/src/toniarts/openkeeper/game/controller/ShotsController.java +++ b/src/toniarts/openkeeper/game/controller/ShotsController.java @@ -35,7 +35,7 @@ * * @author Toni Helenius */ -public class ShotsController implements IShotsController { +public final class ShotsController implements IShotsController { private static final Logger logger = System.getLogger(ShotsController.class.getName()); diff --git a/src/toniarts/openkeeper/game/controller/TrapsController.java b/src/toniarts/openkeeper/game/controller/TrapsController.java index 037d5d03d..92a86537b 100644 --- a/src/toniarts/openkeeper/game/controller/TrapsController.java +++ b/src/toniarts/openkeeper/game/controller/TrapsController.java @@ -45,7 +45,7 @@ * * @author Toni Helenius */ -public class TrapsController implements ITrapsController { +public final class TrapsController implements ITrapsController { private static final Logger logger = System.getLogger(TrapsController.class.getName()); diff --git a/src/toniarts/openkeeper/game/controller/chicken/ChickenController.java b/src/toniarts/openkeeper/game/controller/chicken/ChickenController.java index 9e8c9bdc3..d270273e0 100644 --- a/src/toniarts/openkeeper/game/controller/chicken/ChickenController.java +++ b/src/toniarts/openkeeper/game/controller/chicken/ChickenController.java @@ -47,7 +47,7 @@ * * @author Toni Helenius */ -public class ChickenController extends EntityController implements IChickenController { +public final class ChickenController extends EntityController implements IChickenController { private static final Logger logger = System.getLogger(ChickenController.class.getName()); diff --git a/src/toniarts/openkeeper/game/controller/creature/CreatureController.java b/src/toniarts/openkeeper/game/controller/creature/CreatureController.java index 3fd738d4e..07a90f39f 100644 --- a/src/toniarts/openkeeper/game/controller/creature/CreatureController.java +++ b/src/toniarts/openkeeper/game/controller/creature/CreatureController.java @@ -102,7 +102,7 @@ * * @author Toni Helenius */ -public class CreatureController extends EntityController implements ICreatureController { +public final class CreatureController extends EntityController implements ICreatureController { private static final Logger logger = System.getLogger(CreatureController.class.getName()); diff --git a/src/toniarts/openkeeper/game/controller/creature/PartyController.java b/src/toniarts/openkeeper/game/controller/creature/PartyController.java index 6cb01aa67..ec136349e 100644 --- a/src/toniarts/openkeeper/game/controller/creature/PartyController.java +++ b/src/toniarts/openkeeper/game/controller/creature/PartyController.java @@ -40,7 +40,7 @@ * * @author ArchDemon */ -public class PartyController implements IPartyController { +public final class PartyController implements IPartyController { private static final AtomicLong PARTY_ID_GENERATOR = new AtomicLong(1); diff --git a/src/toniarts/openkeeper/game/controller/door/DoorController.java b/src/toniarts/openkeeper/game/controller/door/DoorController.java index 651be0463..4445efb4b 100644 --- a/src/toniarts/openkeeper/game/controller/door/DoorController.java +++ b/src/toniarts/openkeeper/game/controller/door/DoorController.java @@ -29,7 +29,7 @@ * * @author Toni Helenius */ -public class DoorController extends EntityController implements IDoorController { +public final class DoorController extends EntityController implements IDoorController { private final Door door; diff --git a/src/toniarts/openkeeper/game/controller/map/FlashTileControl.java b/src/toniarts/openkeeper/game/controller/map/FlashTileControl.java index 1203327fc..4d6014ab6 100644 --- a/src/toniarts/openkeeper/game/controller/map/FlashTileControl.java +++ b/src/toniarts/openkeeper/game/controller/map/FlashTileControl.java @@ -32,7 +32,7 @@ * * @author ArchDemon */ -public class FlashTileControl extends Control { +public final class FlashTileControl extends Control { private float time; private List points; diff --git a/src/toniarts/openkeeper/game/controller/object/ObjectController.java b/src/toniarts/openkeeper/game/controller/object/ObjectController.java index 82cfd383f..bdc2db982 100644 --- a/src/toniarts/openkeeper/game/controller/object/ObjectController.java +++ b/src/toniarts/openkeeper/game/controller/object/ObjectController.java @@ -33,7 +33,7 @@ * * @author Toni Helenius */ -public class ObjectController extends EntityController implements IObjectController { +public final class ObjectController extends EntityController implements IObjectController { private final GameObject object; diff --git a/src/toniarts/openkeeper/game/controller/player/PlayerCreatureControl.java b/src/toniarts/openkeeper/game/controller/player/PlayerCreatureControl.java index 1e67d1a75..c25203685 100644 --- a/src/toniarts/openkeeper/game/controller/player/PlayerCreatureControl.java +++ b/src/toniarts/openkeeper/game/controller/player/PlayerCreatureControl.java @@ -33,7 +33,7 @@ * * @author Toni Helenius */ -public class PlayerCreatureControl extends AbstractPlayerControl, Short> { +public final class PlayerCreatureControl extends AbstractPlayerControl, Short> { private List creatureListeners; private final Creature imp; diff --git a/src/toniarts/openkeeper/game/controller/player/PlayerDoorControl.java b/src/toniarts/openkeeper/game/controller/player/PlayerDoorControl.java index 7af7e6361..e278a2f72 100644 --- a/src/toniarts/openkeeper/game/controller/player/PlayerDoorControl.java +++ b/src/toniarts/openkeeper/game/controller/player/PlayerDoorControl.java @@ -28,7 +28,7 @@ * * @author Toni Helenius */ -public class PlayerDoorControl extends AbstractResearchablePlayerControl /*implements RoomListener*/ { +public final class PlayerDoorControl extends AbstractResearchablePlayerControl /*implements RoomListener*/ { private final int doorCount = 0; diff --git a/src/toniarts/openkeeper/game/controller/player/PlayerGoldControl.java b/src/toniarts/openkeeper/game/controller/player/PlayerGoldControl.java index 02489b38c..2a7fef18b 100644 --- a/src/toniarts/openkeeper/game/controller/player/PlayerGoldControl.java +++ b/src/toniarts/openkeeper/game/controller/player/PlayerGoldControl.java @@ -24,7 +24,7 @@ * * @author ArchDemon */ -public class PlayerGoldControl { +public final class PlayerGoldControl { private int goldMax = 0; private final Keeper keeper; diff --git a/src/toniarts/openkeeper/game/controller/player/PlayerHandControl.java b/src/toniarts/openkeeper/game/controller/player/PlayerHandControl.java index 50b452b7b..530f0868b 100644 --- a/src/toniarts/openkeeper/game/controller/player/PlayerHandControl.java +++ b/src/toniarts/openkeeper/game/controller/player/PlayerHandControl.java @@ -30,7 +30,7 @@ * * @author Toni Helenius */ -public class PlayerHandControl { +public final class PlayerHandControl { private final EntityId[] stack; private final EntityData entityData; diff --git a/src/toniarts/openkeeper/game/controller/player/PlayerManaControl.java b/src/toniarts/openkeeper/game/controller/player/PlayerManaControl.java index 8993c90ff..884337532 100644 --- a/src/toniarts/openkeeper/game/controller/player/PlayerManaControl.java +++ b/src/toniarts/openkeeper/game/controller/player/PlayerManaControl.java @@ -28,7 +28,7 @@ * * @author ArchDemon */ -public class PlayerManaControl { +public final class PlayerManaControl { private final Keeper keeper; private final SafeArrayList listeners = new SafeArrayList<>(PlayerManaListener.class); diff --git a/src/toniarts/openkeeper/game/controller/player/PlayerResearchControl.java b/src/toniarts/openkeeper/game/controller/player/PlayerResearchControl.java index b6d9f008a..435a500cc 100644 --- a/src/toniarts/openkeeper/game/controller/player/PlayerResearchControl.java +++ b/src/toniarts/openkeeper/game/controller/player/PlayerResearchControl.java @@ -29,7 +29,7 @@ * * @author Toni Helenius */ -public class PlayerResearchControl { +public final class PlayerResearchControl { private final Keeper keeper; private final KwdFile kwdFile; diff --git a/src/toniarts/openkeeper/game/controller/player/PlayerRoomControl.java b/src/toniarts/openkeeper/game/controller/player/PlayerRoomControl.java index ff0fc0413..feca36f5b 100644 --- a/src/toniarts/openkeeper/game/controller/player/PlayerRoomControl.java +++ b/src/toniarts/openkeeper/game/controller/player/PlayerRoomControl.java @@ -35,7 +35,7 @@ * * @author Toni Helenius */ -public class PlayerRoomControl extends AbstractResearchablePlayerControl implements RoomListener { +public final class PlayerRoomControl extends AbstractResearchablePlayerControl implements RoomListener { private int roomCount = 0; private boolean portalsOpen = true; diff --git a/src/toniarts/openkeeper/game/controller/player/PlayerSpellControl.java b/src/toniarts/openkeeper/game/controller/player/PlayerSpellControl.java index e1dc5a70e..7eea8163a 100644 --- a/src/toniarts/openkeeper/game/controller/player/PlayerSpellControl.java +++ b/src/toniarts/openkeeper/game/controller/player/PlayerSpellControl.java @@ -31,7 +31,7 @@ * * @author Toni Helenius */ -public class PlayerSpellControl extends AbstractResearchablePlayerControl { +public final class PlayerSpellControl extends AbstractResearchablePlayerControl { public PlayerSpellControl(Keeper keeper, List keeperSpells) { super(keeper, keeper.getAvailableSpells(), keeperSpells); diff --git a/src/toniarts/openkeeper/game/controller/player/PlayerStatsControl.java b/src/toniarts/openkeeper/game/controller/player/PlayerStatsControl.java index 352d740a5..29d0b10fd 100644 --- a/src/toniarts/openkeeper/game/controller/player/PlayerStatsControl.java +++ b/src/toniarts/openkeeper/game/controller/player/PlayerStatsControl.java @@ -25,7 +25,7 @@ * * @author Toni Helenius */ -public class PlayerStatsControl { +public final class PlayerStatsControl { private final Map slapsMap = new HashMap<>(); private final Map pickUpsMap = new HashMap<>(); diff --git a/src/toniarts/openkeeper/game/controller/player/PlayerTrapControl.java b/src/toniarts/openkeeper/game/controller/player/PlayerTrapControl.java index a1f385c83..a181dbca8 100644 --- a/src/toniarts/openkeeper/game/controller/player/PlayerTrapControl.java +++ b/src/toniarts/openkeeper/game/controller/player/PlayerTrapControl.java @@ -28,7 +28,7 @@ * * @author Toni Helenius */ -public class PlayerTrapControl extends AbstractResearchablePlayerControl /*implements RoomListener*/ { +public final class PlayerTrapControl extends AbstractResearchablePlayerControl /*implements RoomListener*/ { private final int trapCount = 0; diff --git a/src/toniarts/openkeeper/game/controller/room/CasinoController.java b/src/toniarts/openkeeper/game/controller/room/CasinoController.java index 8f06f9700..2695f3a59 100644 --- a/src/toniarts/openkeeper/game/controller/room/CasinoController.java +++ b/src/toniarts/openkeeper/game/controller/room/CasinoController.java @@ -25,7 +25,7 @@ * * @author Toni Helenius */ -public class CasinoController extends NormalRoomController { +public final class CasinoController extends NormalRoomController { public CasinoController(KwdFile kwdFile, RoomInstance roomInstance, IObjectsController objectsController) { super(kwdFile, roomInstance, objectsController); diff --git a/src/toniarts/openkeeper/game/controller/room/CombatPitController.java b/src/toniarts/openkeeper/game/controller/room/CombatPitController.java index 75cdc44a2..0057b237e 100644 --- a/src/toniarts/openkeeper/game/controller/room/CombatPitController.java +++ b/src/toniarts/openkeeper/game/controller/room/CombatPitController.java @@ -26,7 +26,7 @@ * * @author ArchDemon */ -public class CombatPitController extends DoubleQuadController { +public final class CombatPitController extends DoubleQuadController { private Point door; diff --git a/src/toniarts/openkeeper/game/controller/room/FiveByFiveRotatedController.java b/src/toniarts/openkeeper/game/controller/room/FiveByFiveRotatedController.java index 2c3449e1f..908e1029e 100644 --- a/src/toniarts/openkeeper/game/controller/room/FiveByFiveRotatedController.java +++ b/src/toniarts/openkeeper/game/controller/room/FiveByFiveRotatedController.java @@ -35,7 +35,7 @@ * * @author Toni Helenius */ -public class FiveByFiveRotatedController extends AbstractRoomController implements ICreatureEntrance { +public final class FiveByFiveRotatedController extends AbstractRoomController implements ICreatureEntrance { public static final short OBJECT_HEART_ID = 13; public static final short OBJECT_ARCHES_ID = 86; diff --git a/src/toniarts/openkeeper/game/controller/room/HatcheryController.java b/src/toniarts/openkeeper/game/controller/room/HatcheryController.java index 177d2ba05..50cc7be4b 100644 --- a/src/toniarts/openkeeper/game/controller/room/HatcheryController.java +++ b/src/toniarts/openkeeper/game/controller/room/HatcheryController.java @@ -32,7 +32,7 @@ * * @author Toni Helenius */ -public class HatcheryController extends NormalRoomController implements IChickenGenerator { +public final class HatcheryController extends NormalRoomController implements IChickenGenerator { private double lastSpawnTime; private final IGameTimer gameTimer; diff --git a/src/toniarts/openkeeper/game/controller/room/HeroGateFrontEndController.java b/src/toniarts/openkeeper/game/controller/room/HeroGateFrontEndController.java index c1cb673a0..e7cc253cd 100644 --- a/src/toniarts/openkeeper/game/controller/room/HeroGateFrontEndController.java +++ b/src/toniarts/openkeeper/game/controller/room/HeroGateFrontEndController.java @@ -28,7 +28,7 @@ * * @author Toni Helenius */ -public class HeroGateFrontEndController extends NormalRoomController { +public final class HeroGateFrontEndController extends NormalRoomController { private static final short OBJECT_BANNER_ONE_ID = 89; //private static final int OBJECT_CANDLE_STICK_ID = 110; // empty resource? diff --git a/src/toniarts/openkeeper/game/controller/room/LairController.java b/src/toniarts/openkeeper/game/controller/room/LairController.java index 38b7479ff..69ccfa37b 100644 --- a/src/toniarts/openkeeper/game/controller/room/LairController.java +++ b/src/toniarts/openkeeper/game/controller/room/LairController.java @@ -27,7 +27,7 @@ * * @author Toni Helenius */ -public class LairController extends NormalRoomController { +public final class LairController extends NormalRoomController { public LairController(KwdFile kwdFile, RoomInstance roomInstance, IObjectsController objectsController, IGameTimer gameTimer) { diff --git a/src/toniarts/openkeeper/game/controller/room/LibraryController.java b/src/toniarts/openkeeper/game/controller/room/LibraryController.java index f99af6fb3..6a045e796 100644 --- a/src/toniarts/openkeeper/game/controller/room/LibraryController.java +++ b/src/toniarts/openkeeper/game/controller/room/LibraryController.java @@ -28,7 +28,7 @@ * * @author Toni Helenius */ -public class LibraryController extends NormalRoomController { +public final class LibraryController extends NormalRoomController { public LibraryController(KwdFile kwdFile, RoomInstance roomInstance, IObjectsController objectsController, IGameTimer gameTimer) { diff --git a/src/toniarts/openkeeper/game/controller/room/PrisonController.java b/src/toniarts/openkeeper/game/controller/room/PrisonController.java index b14f2fe50..348b2986b 100644 --- a/src/toniarts/openkeeper/game/controller/room/PrisonController.java +++ b/src/toniarts/openkeeper/game/controller/room/PrisonController.java @@ -30,7 +30,7 @@ * * @author ArchDemon */ -public class PrisonController extends DoubleQuadController { +public final class PrisonController extends DoubleQuadController { private static final short OBJECT_DOOR_ID = 109; private static final short OBJECT_DOORBAR_ID = 116; diff --git a/src/toniarts/openkeeper/game/controller/room/TempleController.java b/src/toniarts/openkeeper/game/controller/room/TempleController.java index 7440034c7..cb213787e 100644 --- a/src/toniarts/openkeeper/game/controller/room/TempleController.java +++ b/src/toniarts/openkeeper/game/controller/room/TempleController.java @@ -35,7 +35,7 @@ * * @author Toni Helenius */ -public class TempleController extends DoubleQuadController { +public final class TempleController extends DoubleQuadController { public static final short OBJECT_TEMPLE_HAND_ID = 66; private static final int MIN_HAND_SIZE = 5; diff --git a/src/toniarts/openkeeper/game/controller/room/ThreeByThreeController.java b/src/toniarts/openkeeper/game/controller/room/ThreeByThreeController.java index 53da4ae42..a10160eee 100644 --- a/src/toniarts/openkeeper/game/controller/room/ThreeByThreeController.java +++ b/src/toniarts/openkeeper/game/controller/room/ThreeByThreeController.java @@ -27,7 +27,7 @@ * * @author Toni Helenius */ -public class ThreeByThreeController extends AbstractRoomController implements ICreatureEntrance { +public final class ThreeByThreeController extends AbstractRoomController implements ICreatureEntrance { private double lastSpawnTime = Double.MIN_VALUE; diff --git a/src/toniarts/openkeeper/game/controller/room/TortureChamberController.java b/src/toniarts/openkeeper/game/controller/room/TortureChamberController.java index 6d354fab0..7814f8931 100644 --- a/src/toniarts/openkeeper/game/controller/room/TortureChamberController.java +++ b/src/toniarts/openkeeper/game/controller/room/TortureChamberController.java @@ -28,7 +28,7 @@ * * @author Toni Helenius */ -public class TortureChamberController extends NormalRoomController { +public final class TortureChamberController extends NormalRoomController { public TortureChamberController(KwdFile kwdFile, RoomInstance roomInstance, IObjectsController objectsController, IGameTimer gameTimer) { diff --git a/src/toniarts/openkeeper/game/controller/room/TrainingRoomController.java b/src/toniarts/openkeeper/game/controller/room/TrainingRoomController.java index 78691e5cd..b63e5a128 100644 --- a/src/toniarts/openkeeper/game/controller/room/TrainingRoomController.java +++ b/src/toniarts/openkeeper/game/controller/room/TrainingRoomController.java @@ -27,7 +27,7 @@ * * @author Toni Helenius */ -public class TrainingRoomController extends NormalRoomController { +public final class TrainingRoomController extends NormalRoomController { public TrainingRoomController(KwdFile kwdFile, RoomInstance roomInstance, IObjectsController objectsController, IGameTimer gameTimer) { diff --git a/src/toniarts/openkeeper/game/controller/room/TreasuryController.java b/src/toniarts/openkeeper/game/controller/room/TreasuryController.java index 6db65358d..429d97412 100644 --- a/src/toniarts/openkeeper/game/controller/room/TreasuryController.java +++ b/src/toniarts/openkeeper/game/controller/room/TreasuryController.java @@ -29,7 +29,7 @@ * * @author Toni Helenius */ -public class TreasuryController extends NormalRoomController { +public final class TreasuryController extends NormalRoomController { private final Integer goldPerTile; diff --git a/src/toniarts/openkeeper/game/controller/room/WorkshopController.java b/src/toniarts/openkeeper/game/controller/room/WorkshopController.java index 0e35ccac2..93dac3416 100644 --- a/src/toniarts/openkeeper/game/controller/room/WorkshopController.java +++ b/src/toniarts/openkeeper/game/controller/room/WorkshopController.java @@ -33,7 +33,7 @@ * * @author Toni Helenius */ -public class WorkshopController extends NormalRoomController { +public final class WorkshopController extends NormalRoomController { public WorkshopController(KwdFile kwdFile, RoomInstance roomInstance, IObjectsController objectsController) { super(kwdFile, roomInstance, objectsController); diff --git a/src/toniarts/openkeeper/game/controller/trap/TrapController.java b/src/toniarts/openkeeper/game/controller/trap/TrapController.java index cfc8003f1..5f4d1dca0 100644 --- a/src/toniarts/openkeeper/game/controller/trap/TrapController.java +++ b/src/toniarts/openkeeper/game/controller/trap/TrapController.java @@ -27,7 +27,7 @@ * * @author Toni Helenius */ -public class TrapController extends EntityController implements ITrapController { +public final class TrapController extends EntityController implements ITrapController { private final Trap trap; diff --git a/src/toniarts/openkeeper/game/data/ActionPoint.java b/src/toniarts/openkeeper/game/data/ActionPoint.java index 0d1233a56..bcee36cc0 100644 --- a/src/toniarts/openkeeper/game/data/ActionPoint.java +++ b/src/toniarts/openkeeper/game/data/ActionPoint.java @@ -29,7 +29,7 @@ * * @author ArchDemon */ -public class ActionPoint extends Container implements ITriggerable { +public final class ActionPoint extends Container implements ITriggerable { private final int id; private final int triggerId; diff --git a/src/toniarts/openkeeper/game/data/CustomMPDLevel.java b/src/toniarts/openkeeper/game/data/CustomMPDLevel.java index 3d02f8ebc..0f04e30bf 100644 --- a/src/toniarts/openkeeper/game/data/CustomMPDLevel.java +++ b/src/toniarts/openkeeper/game/data/CustomMPDLevel.java @@ -22,7 +22,7 @@ * * @author ufdada */ -public class CustomMPDLevel extends GeneralLevel { +public final class CustomMPDLevel extends GeneralLevel { private final KwdFile kwdFile; diff --git a/src/toniarts/openkeeper/game/data/GameResult.java b/src/toniarts/openkeeper/game/data/GameResult.java index c1c13c848..fa9f797ac 100644 --- a/src/toniarts/openkeeper/game/data/GameResult.java +++ b/src/toniarts/openkeeper/game/data/GameResult.java @@ -23,7 +23,7 @@ * * @author archdemon */ -public class GameResult { +public final class GameResult { public enum ResultType { TOTAL_RATING, diff --git a/src/toniarts/openkeeper/game/data/HiScores.java b/src/toniarts/openkeeper/game/data/HiScores.java index 9fb442345..ce1356b6a 100644 --- a/src/toniarts/openkeeper/game/data/HiScores.java +++ b/src/toniarts/openkeeper/game/data/HiScores.java @@ -42,9 +42,9 @@ * * @author ArchDemon */ -public class HiScores implements Savable { +public final class HiScores implements Savable { - public static class HiScoresEntry implements Savable, Comparable { + public static final class HiScoresEntry implements Savable, Comparable { protected int score; protected String name; diff --git a/src/toniarts/openkeeper/game/data/Keeper.java b/src/toniarts/openkeeper/game/data/Keeper.java index 3e9c6ee8f..04a1a14f5 100644 --- a/src/toniarts/openkeeper/game/data/Keeper.java +++ b/src/toniarts/openkeeper/game/data/Keeper.java @@ -36,7 +36,7 @@ * * @author Toni Helenius */ -public class Keeper implements Comparable, IIndexable, Savable { +public final class Keeper implements Comparable, IIndexable, Savable { private boolean ai; private AIType aiType = AIType.MASTER_KEEPER; diff --git a/src/toniarts/openkeeper/game/data/Level.java b/src/toniarts/openkeeper/game/data/Level.java index 23c572a6e..d1983d96e 100644 --- a/src/toniarts/openkeeper/game/data/Level.java +++ b/src/toniarts/openkeeper/game/data/Level.java @@ -24,7 +24,7 @@ import toniarts.openkeeper.tools.convert.map.KwdFile; import toniarts.openkeeper.utils.PathUtils; -public class Level extends GeneralLevel { +public final class Level extends GeneralLevel { private KwdFile kwdFile; private static final Logger logger = System.getLogger(Level.class.getName()); diff --git a/src/toniarts/openkeeper/game/data/PlayerSpell.java b/src/toniarts/openkeeper/game/data/PlayerSpell.java index eb5bb0f7f..14c2e1a18 100644 --- a/src/toniarts/openkeeper/game/data/PlayerSpell.java +++ b/src/toniarts/openkeeper/game/data/PlayerSpell.java @@ -27,7 +27,7 @@ * * @author Toni Helenius */ -public class PlayerSpell extends ResearchableEntity { +public final class PlayerSpell extends ResearchableEntity { public PlayerSpell() { } diff --git a/src/toniarts/openkeeper/game/data/Settings.java b/src/toniarts/openkeeper/game/data/Settings.java index edd2caf72..7bb6ad682 100644 --- a/src/toniarts/openkeeper/game/data/Settings.java +++ b/src/toniarts/openkeeper/game/data/Settings.java @@ -43,7 +43,7 @@ * * @author Toni Helenius */ -public class Settings { +public final class Settings { public enum SettingCategory { diff --git a/src/toniarts/openkeeper/game/logic/ChickenAiSystem.java b/src/toniarts/openkeeper/game/logic/ChickenAiSystem.java index 1c95a4943..da456d656 100644 --- a/src/toniarts/openkeeper/game/logic/ChickenAiSystem.java +++ b/src/toniarts/openkeeper/game/logic/ChickenAiSystem.java @@ -40,7 +40,7 @@ * * @author Toni Helenius */ -public class ChickenAiSystem implements IGameLogicUpdatable { +public final class ChickenAiSystem implements IGameLogicUpdatable { private final EntitySet chickenEntities; private final EntitySet chickenViewEntities; diff --git a/src/toniarts/openkeeper/game/logic/ChickenSpawnSystem.java b/src/toniarts/openkeeper/game/logic/ChickenSpawnSystem.java index 4552ab201..916c7e918 100644 --- a/src/toniarts/openkeeper/game/logic/ChickenSpawnSystem.java +++ b/src/toniarts/openkeeper/game/logic/ChickenSpawnSystem.java @@ -50,7 +50,7 @@ * * @author Toni Helenius */ -public class ChickenSpawnSystem implements IGameLogicUpdatable { +public final class ChickenSpawnSystem implements IGameLogicUpdatable { private final IObjectsController objectsController; private final IMapController mapController; @@ -248,7 +248,7 @@ private void processChangedChickenEntities(Set entities) { } } - private class EntranceListener implements RoomListener { + private final class EntranceListener implements RoomListener { private final short playerId; diff --git a/src/toniarts/openkeeper/game/logic/CreatureAiSystem.java b/src/toniarts/openkeeper/game/logic/CreatureAiSystem.java index 00ac8cee5..73e170695 100644 --- a/src/toniarts/openkeeper/game/logic/CreatureAiSystem.java +++ b/src/toniarts/openkeeper/game/logic/CreatureAiSystem.java @@ -37,7 +37,7 @@ * * @author Toni Helenius */ -public class CreatureAiSystem implements IGameLogicUpdatable { +public final class CreatureAiSystem implements IGameLogicUpdatable { private final EntitySet creatureEntities; diff --git a/src/toniarts/openkeeper/game/logic/CreatureExperienceSystem.java b/src/toniarts/openkeeper/game/logic/CreatureExperienceSystem.java index 33f6475eb..8d130a15a 100644 --- a/src/toniarts/openkeeper/game/logic/CreatureExperienceSystem.java +++ b/src/toniarts/openkeeper/game/logic/CreatureExperienceSystem.java @@ -48,7 +48,7 @@ * * @author Toni Helenius */ -public class CreatureExperienceSystem implements IGameLogicUpdatable { +public final class CreatureExperienceSystem implements IGameLogicUpdatable { private enum ExperienceGainReason { NONE, diff --git a/src/toniarts/openkeeper/game/logic/CreatureFallSystem.java b/src/toniarts/openkeeper/game/logic/CreatureFallSystem.java index 3235dcf92..abc1fe45d 100644 --- a/src/toniarts/openkeeper/game/logic/CreatureFallSystem.java +++ b/src/toniarts/openkeeper/game/logic/CreatureFallSystem.java @@ -33,7 +33,7 @@ * * @author Toni Helenius */ -public class CreatureFallSystem implements IGameLogicUpdatable { +public final class CreatureFallSystem implements IGameLogicUpdatable { private final EntityData entityData; private final EntitySet fallEntities; diff --git a/src/toniarts/openkeeper/game/logic/CreatureMoodSystem.java b/src/toniarts/openkeeper/game/logic/CreatureMoodSystem.java index 12f9336be..0f0f356c2 100644 --- a/src/toniarts/openkeeper/game/logic/CreatureMoodSystem.java +++ b/src/toniarts/openkeeper/game/logic/CreatureMoodSystem.java @@ -28,7 +28,7 @@ * * @author Toni Helenius */ -public class CreatureMoodSystem implements IGameLogicUpdatable { +public final class CreatureMoodSystem implements IGameLogicUpdatable { private final EntityData entityData; private final EntitySet moodEntities; diff --git a/src/toniarts/openkeeper/game/logic/CreatureSpawnSystem.java b/src/toniarts/openkeeper/game/logic/CreatureSpawnSystem.java index 293be1dc5..094e1a6a8 100644 --- a/src/toniarts/openkeeper/game/logic/CreatureSpawnSystem.java +++ b/src/toniarts/openkeeper/game/logic/CreatureSpawnSystem.java @@ -54,7 +54,7 @@ * * @author Toni Helenius */ -public class CreatureSpawnSystem implements IGameLogicUpdatable { +public final class CreatureSpawnSystem implements IGameLogicUpdatable { private final ICreaturesController creaturesController; private final int minimumImpCount; @@ -223,7 +223,7 @@ public void stop() { * In DK 2 it is not possible to place spawn points in game, but but we * don't know that */ - private class EntranceListener implements RoomListener { + private final class EntranceListener implements RoomListener { private final short playerId; diff --git a/src/toniarts/openkeeper/game/logic/CreatureTorturingSystem.java b/src/toniarts/openkeeper/game/logic/CreatureTorturingSystem.java index 4bdb2043c..794fb96a2 100644 --- a/src/toniarts/openkeeper/game/logic/CreatureTorturingSystem.java +++ b/src/toniarts/openkeeper/game/logic/CreatureTorturingSystem.java @@ -33,7 +33,7 @@ * * @author Toni Helenius */ -public class CreatureTorturingSystem implements IGameLogicUpdatable { +public final class CreatureTorturingSystem implements IGameLogicUpdatable { private final EntityData entityData; private final ICreaturesController creaturesController; diff --git a/src/toniarts/openkeeper/game/logic/CreatureViewSystem.java b/src/toniarts/openkeeper/game/logic/CreatureViewSystem.java index 161ba3e51..f88a8244d 100644 --- a/src/toniarts/openkeeper/game/logic/CreatureViewSystem.java +++ b/src/toniarts/openkeeper/game/logic/CreatureViewSystem.java @@ -42,7 +42,7 @@ * * @author Toni Helenius */ -public class CreatureViewSystem implements IGameLogicUpdatable { +public final class CreatureViewSystem implements IGameLogicUpdatable { private final EntityData entityData; private final EntitySet creatureViewEntities; diff --git a/src/toniarts/openkeeper/game/logic/DeathSystem.java b/src/toniarts/openkeeper/game/logic/DeathSystem.java index cc50ca5a4..34b551612 100644 --- a/src/toniarts/openkeeper/game/logic/DeathSystem.java +++ b/src/toniarts/openkeeper/game/logic/DeathSystem.java @@ -35,7 +35,7 @@ * * @author Toni Helenius */ -public class DeathSystem implements IGameLogicUpdatable { +public final class DeathSystem implements IGameLogicUpdatable { private final IEntityPositionLookup entityPositionLookup; private final EntitySet deathEntities; diff --git a/src/toniarts/openkeeper/game/logic/DecaySystem.java b/src/toniarts/openkeeper/game/logic/DecaySystem.java index 61dc81eb3..831fe89fb 100644 --- a/src/toniarts/openkeeper/game/logic/DecaySystem.java +++ b/src/toniarts/openkeeper/game/logic/DecaySystem.java @@ -33,7 +33,7 @@ * * @author Toni Helenius */ -public class DecaySystem implements IGameLogicUpdatable { +public final class DecaySystem implements IGameLogicUpdatable { private final EntitySet decayEntities; private final EntityData entityData; diff --git a/src/toniarts/openkeeper/game/logic/DoorViewSystem.java b/src/toniarts/openkeeper/game/logic/DoorViewSystem.java index 2eb2779ad..2efa7ff8c 100644 --- a/src/toniarts/openkeeper/game/logic/DoorViewSystem.java +++ b/src/toniarts/openkeeper/game/logic/DoorViewSystem.java @@ -40,7 +40,7 @@ * * @author Toni Helenius */ -public class DoorViewSystem implements IGameLogicUpdatable { +public final class DoorViewSystem implements IGameLogicUpdatable { private final EntitySet doorEntities; diff --git a/src/toniarts/openkeeper/game/logic/DungeonHeartConstruction.java b/src/toniarts/openkeeper/game/logic/DungeonHeartConstruction.java index caa02c6a7..eaad9d397 100644 --- a/src/toniarts/openkeeper/game/logic/DungeonHeartConstruction.java +++ b/src/toniarts/openkeeper/game/logic/DungeonHeartConstruction.java @@ -34,7 +34,7 @@ * * @author Toni Helenius */ -public class DungeonHeartConstruction implements IGameLogicUpdatable { +public final class DungeonHeartConstruction implements IGameLogicUpdatable { private static final float GRAVITY = 9.81f; private final float velocity = 7f; @@ -164,7 +164,7 @@ private void showStepsAndArches(EntityId entityId) { } } - private static class PlugPiece { + private static final class PlugPiece { public PlugPiece() { } diff --git a/src/toniarts/openkeeper/game/logic/GameLogicManager.java b/src/toniarts/openkeeper/game/logic/GameLogicManager.java index eea5170a6..c783c93f7 100644 --- a/src/toniarts/openkeeper/game/logic/GameLogicManager.java +++ b/src/toniarts/openkeeper/game/logic/GameLogicManager.java @@ -26,7 +26,7 @@ * * @author Toni Helenius */ -public class GameLogicManager implements IGameLoopManager { +public final class GameLogicManager implements IGameLoopManager { private static final Logger logger = System.getLogger(GameLogicManager.class.getName()); diff --git a/src/toniarts/openkeeper/game/logic/HaulingSystem.java b/src/toniarts/openkeeper/game/logic/HaulingSystem.java index 702b10bee..e0d04025f 100644 --- a/src/toniarts/openkeeper/game/logic/HaulingSystem.java +++ b/src/toniarts/openkeeper/game/logic/HaulingSystem.java @@ -28,7 +28,7 @@ * * @author Toni Helenius */ -public class HaulingSystem implements IGameLogicUpdatable { +public final class HaulingSystem implements IGameLogicUpdatable { private final EntityData entityData; private final EntitySet hauledEntities; diff --git a/src/toniarts/openkeeper/game/logic/HealthSystem.java b/src/toniarts/openkeeper/game/logic/HealthSystem.java index f390a9cb5..11778018a 100644 --- a/src/toniarts/openkeeper/game/logic/HealthSystem.java +++ b/src/toniarts/openkeeper/game/logic/HealthSystem.java @@ -62,7 +62,7 @@ * * @author Toni Helenius */ -public class HealthSystem implements IGameLogicUpdatable { +public final class HealthSystem implements IGameLogicUpdatable { private final KwdFile kwdFile; private final EntityData entityData; diff --git a/src/toniarts/openkeeper/game/logic/LooseObjectSystem.java b/src/toniarts/openkeeper/game/logic/LooseObjectSystem.java index 4a397041c..733a86c53 100644 --- a/src/toniarts/openkeeper/game/logic/LooseObjectSystem.java +++ b/src/toniarts/openkeeper/game/logic/LooseObjectSystem.java @@ -44,7 +44,7 @@ * * @author Toni Helenius */ -public class LooseObjectSystem implements IGameLogicUpdatable { +public final class LooseObjectSystem implements IGameLogicUpdatable { private final EntitySet looseObjectEntities; diff --git a/src/toniarts/openkeeper/game/logic/ManaCalculatorLogic.java b/src/toniarts/openkeeper/game/logic/ManaCalculatorLogic.java index e5b9312b5..b3a6e027a 100644 --- a/src/toniarts/openkeeper/game/logic/ManaCalculatorLogic.java +++ b/src/toniarts/openkeeper/game/logic/ManaCalculatorLogic.java @@ -34,7 +34,7 @@ * * @author Toni Helenius */ -public class ManaCalculatorLogic implements IGameLogicUpdatable { +public final class ManaCalculatorLogic implements IGameLogicUpdatable { private float tick = 0; private final EntitySet manaEntities; diff --git a/src/toniarts/openkeeper/game/logic/MovementSystem.java b/src/toniarts/openkeeper/game/logic/MovementSystem.java index d68ba5a5d..abc697b0b 100644 --- a/src/toniarts/openkeeper/game/logic/MovementSystem.java +++ b/src/toniarts/openkeeper/game/logic/MovementSystem.java @@ -42,7 +42,7 @@ * * @author Toni Helenius */ -public class MovementSystem implements IGameLogicUpdatable { +public final class MovementSystem implements IGameLogicUpdatable { private final static boolean INDEPENDENT_FACING = false; diff --git a/src/toniarts/openkeeper/game/logic/PlayerCreatureSystem.java b/src/toniarts/openkeeper/game/logic/PlayerCreatureSystem.java index 043b7a804..9821abc0f 100644 --- a/src/toniarts/openkeeper/game/logic/PlayerCreatureSystem.java +++ b/src/toniarts/openkeeper/game/logic/PlayerCreatureSystem.java @@ -36,7 +36,7 @@ * * @author Toni Helenius */ -public class PlayerCreatureSystem implements IGameLogicUpdatable { +public final class PlayerCreatureSystem implements IGameLogicUpdatable { private final KwdFile kwdFile; private final EntitySet creatureEntities; diff --git a/src/toniarts/openkeeper/game/logic/PlayerSpellbookSystem.java b/src/toniarts/openkeeper/game/logic/PlayerSpellbookSystem.java index a17bdee92..688f632f0 100644 --- a/src/toniarts/openkeeper/game/logic/PlayerSpellbookSystem.java +++ b/src/toniarts/openkeeper/game/logic/PlayerSpellbookSystem.java @@ -39,7 +39,7 @@ * * @author Toni Helenius */ -public class PlayerSpellbookSystem implements IGameLogicUpdatable { +public final class PlayerSpellbookSystem implements IGameLogicUpdatable { private final KwdFile kwdFile; private final EntitySet spellbookEntities; diff --git a/src/toniarts/openkeeper/game/logic/PositionSystem.java b/src/toniarts/openkeeper/game/logic/PositionSystem.java index 91751e18e..bb7f3a713 100644 --- a/src/toniarts/openkeeper/game/logic/PositionSystem.java +++ b/src/toniarts/openkeeper/game/logic/PositionSystem.java @@ -50,7 +50,7 @@ * * @author Toni Helenius */ -public class PositionSystem implements IGameLogicUpdatable, IEntityPositionLookup { +public final class PositionSystem implements IGameLogicUpdatable, IEntityPositionLookup { private final EntityData entityData; private final IMapController mapController; diff --git a/src/toniarts/openkeeper/game/logic/PossessedSystem.java b/src/toniarts/openkeeper/game/logic/PossessedSystem.java index 26e124b42..41c64beb4 100644 --- a/src/toniarts/openkeeper/game/logic/PossessedSystem.java +++ b/src/toniarts/openkeeper/game/logic/PossessedSystem.java @@ -34,7 +34,7 @@ * * @author Toni Helenius */ -public class PossessedSystem implements IGameLogicUpdatable { +public final class PossessedSystem implements IGameLogicUpdatable { private final EntitySet possessedEntities; private final Map manaControls; diff --git a/src/toniarts/openkeeper/game/logic/SlapSystem.java b/src/toniarts/openkeeper/game/logic/SlapSystem.java index b72f65a70..f76a65e18 100644 --- a/src/toniarts/openkeeper/game/logic/SlapSystem.java +++ b/src/toniarts/openkeeper/game/logic/SlapSystem.java @@ -43,7 +43,7 @@ * * @author Toni Helenius */ -public class SlapSystem implements IGameLogicUpdatable { +public final class SlapSystem implements IGameLogicUpdatable { private final KwdFile kwdFile; private final EntitySet creatureEntities; diff --git a/src/toniarts/openkeeper/game/map/MapData.java b/src/toniarts/openkeeper/game/map/MapData.java index 402bd2b9a..6322e2b5c 100644 --- a/src/toniarts/openkeeper/game/map/MapData.java +++ b/src/toniarts/openkeeper/game/map/MapData.java @@ -37,7 +37,7 @@ * * @author Toni Helenius */ -public class MapData implements IMapData { +public final class MapData implements IMapData { private final int width; private final int height; diff --git a/src/toniarts/openkeeper/game/map/MapInformation.java b/src/toniarts/openkeeper/game/map/MapInformation.java index f006f2888..939cd7efa 100644 --- a/src/toniarts/openkeeper/game/map/MapInformation.java +++ b/src/toniarts/openkeeper/game/map/MapInformation.java @@ -35,7 +35,7 @@ * @param the map data container * @param the tile type of the map data container */ -public class MapInformation, S extends IMapTileInformation> implements IMapInformation { +public final class MapInformation, S extends IMapTileInformation> implements IMapInformation { private final T mapData; private final KwdFile kwdFile; diff --git a/src/toniarts/openkeeper/game/map/MapIterator.java b/src/toniarts/openkeeper/game/map/MapIterator.java index 16398fe51..1edf9a9f6 100644 --- a/src/toniarts/openkeeper/game/map/MapIterator.java +++ b/src/toniarts/openkeeper/game/map/MapIterator.java @@ -26,7 +26,7 @@ * @author Toni Helenius * @param the container map tile type */ -public class MapIterator implements Iterator { +public final class MapIterator implements Iterator { private final Point cursor = new Point(); private final IMapDataInformation mapDataInformation; diff --git a/src/toniarts/openkeeper/game/map/MapRoom.java b/src/toniarts/openkeeper/game/map/MapRoom.java index b42d9cea8..91bae0566 100644 --- a/src/toniarts/openkeeper/game/map/MapRoom.java +++ b/src/toniarts/openkeeper/game/map/MapRoom.java @@ -28,7 +28,7 @@ * * @author Toni Helenius */ -public class MapRoom implements Savable { +public final class MapRoom implements Savable { private int health; private int maxHealth; diff --git a/src/toniarts/openkeeper/game/map/MapTileController.java b/src/toniarts/openkeeper/game/map/MapTileController.java index 424957e07..71813a626 100644 --- a/src/toniarts/openkeeper/game/map/MapTileController.java +++ b/src/toniarts/openkeeper/game/map/MapTileController.java @@ -35,7 +35,7 @@ * * @author Toni Helenius */ -public class MapTileController extends AbstractMapTileInformation implements IMapTileController { +public final class MapTileController extends AbstractMapTileInformation implements IMapTileController { private final EntityData entityData; diff --git a/src/toniarts/openkeeper/game/navigation/NavigationService.java b/src/toniarts/openkeeper/game/navigation/NavigationService.java index 7487cc94b..7b4b51b35 100644 --- a/src/toniarts/openkeeper/game/navigation/NavigationService.java +++ b/src/toniarts/openkeeper/game/navigation/NavigationService.java @@ -39,7 +39,7 @@ * * @author Toni Helenius */ -public class NavigationService implements INavigationService { +public final class NavigationService implements INavigationService { private static final Logger logger = System.getLogger(NavigationService.class.getName()); diff --git a/src/toniarts/openkeeper/game/navigation/pathfinding/MapDistance.java b/src/toniarts/openkeeper/game/navigation/pathfinding/MapDistance.java index 8976cee41..ffda36463 100644 --- a/src/toniarts/openkeeper/game/navigation/pathfinding/MapDistance.java +++ b/src/toniarts/openkeeper/game/navigation/pathfinding/MapDistance.java @@ -25,7 +25,7 @@ * * @author Toni Helenius */ -public class MapDistance implements Heuristic { +public final class MapDistance implements Heuristic { @Override public float estimate(IMapTileInformation node, IMapTileInformation endNode) { diff --git a/src/toniarts/openkeeper/game/navigation/pathfinding/MapIndexedGraph.java b/src/toniarts/openkeeper/game/navigation/pathfinding/MapIndexedGraph.java index 540b19e4c..f212aca92 100644 --- a/src/toniarts/openkeeper/game/navigation/pathfinding/MapIndexedGraph.java +++ b/src/toniarts/openkeeper/game/navigation/pathfinding/MapIndexedGraph.java @@ -34,7 +34,7 @@ * * @author Toni Helenius */ -public class MapIndexedGraph implements IndexedGraph { +public final class MapIndexedGraph implements IndexedGraph { private final IMapController mapController; private final IEntityPositionLookup entityPositionLookup; diff --git a/src/toniarts/openkeeper/game/navigation/pathfinding/MapPathFinder.java b/src/toniarts/openkeeper/game/navigation/pathfinding/MapPathFinder.java index 7e7779aa1..fe378ff1d 100644 --- a/src/toniarts/openkeeper/game/navigation/pathfinding/MapPathFinder.java +++ b/src/toniarts/openkeeper/game/navigation/pathfinding/MapPathFinder.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class MapPathFinder extends IndexedAStarPathFinder { +public final class MapPathFinder extends IndexedAStarPathFinder { public MapPathFinder(MapIndexedGraph graph, boolean calculateMetrics) { super(graph, calculateMetrics); diff --git a/src/toniarts/openkeeper/game/navigation/steering/EntityLocation.java b/src/toniarts/openkeeper/game/navigation/steering/EntityLocation.java index 40f1563b1..527c86584 100644 --- a/src/toniarts/openkeeper/game/navigation/steering/EntityLocation.java +++ b/src/toniarts/openkeeper/game/navigation/steering/EntityLocation.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class EntityLocation implements Location { +public final class EntityLocation implements Location { private final Vector2 position; private float orientation; diff --git a/src/toniarts/openkeeper/game/navigation/steering/EntitySteeringBehavior.java b/src/toniarts/openkeeper/game/navigation/steering/EntitySteeringBehavior.java index 613405771..004a03248 100644 --- a/src/toniarts/openkeeper/game/navigation/steering/EntitySteeringBehavior.java +++ b/src/toniarts/openkeeper/game/navigation/steering/EntitySteeringBehavior.java @@ -27,7 +27,7 @@ * * @author Toni Helenius */ -public class EntitySteeringBehavior extends PrioritySteering implements Comparable { +public final class EntitySteeringBehavior extends PrioritySteering implements Comparable { private final ISteerableEntity steerableEntity; diff --git a/src/toniarts/openkeeper/game/navigation/steering/EntitySteeringFactory.java b/src/toniarts/openkeeper/game/navigation/steering/EntitySteeringFactory.java index cd0bd3de7..9c6e33307 100644 --- a/src/toniarts/openkeeper/game/navigation/steering/EntitySteeringFactory.java +++ b/src/toniarts/openkeeper/game/navigation/steering/EntitySteeringFactory.java @@ -29,7 +29,7 @@ * * @author Toni Helenius */ -public class EntitySteeringFactory { +public final class EntitySteeringFactory { private EntitySteeringFactory() { } diff --git a/src/toniarts/openkeeper/game/navigation/steering/SteerableEntity.java b/src/toniarts/openkeeper/game/navigation/steering/SteerableEntity.java index 5639b1a8a..98e8774b2 100644 --- a/src/toniarts/openkeeper/game/navigation/steering/SteerableEntity.java +++ b/src/toniarts/openkeeper/game/navigation/steering/SteerableEntity.java @@ -27,7 +27,7 @@ * * @author Toni Helenius */ -public class SteerableEntity implements ISteerableEntity { +public final class SteerableEntity implements ISteerableEntity { private final EntityId entityId; private final Vector2 position = new Vector2(); diff --git a/src/toniarts/openkeeper/game/navigation/steering/SteeringUtils.java b/src/toniarts/openkeeper/game/navigation/steering/SteeringUtils.java index 94eb3f664..114280067 100644 --- a/src/toniarts/openkeeper/game/navigation/steering/SteeringUtils.java +++ b/src/toniarts/openkeeper/game/navigation/steering/SteeringUtils.java @@ -29,7 +29,7 @@ * * @author Toni Helenius */ -public class SteeringUtils { +public final class SteeringUtils { private SteeringUtils() { // Nope... diff --git a/src/toniarts/openkeeper/game/network/ClientStateChangeListener.java b/src/toniarts/openkeeper/game/network/ClientStateChangeListener.java index ffdaafd55..f3e1e6461 100644 --- a/src/toniarts/openkeeper/game/network/ClientStateChangeListener.java +++ b/src/toniarts/openkeeper/game/network/ClientStateChangeListener.java @@ -23,7 +23,7 @@ * * @author ArchDemon */ -public class ClientStateChangeListener implements ClientStateListener { +public final class ClientStateChangeListener implements ClientStateListener { private final NetworkClient client; public ClientStateChangeListener(NetworkClient client) { diff --git a/src/toniarts/openkeeper/game/network/NetworkClient.java b/src/toniarts/openkeeper/game/network/NetworkClient.java index 9431c032d..150a73897 100644 --- a/src/toniarts/openkeeper/game/network/NetworkClient.java +++ b/src/toniarts/openkeeper/game/network/NetworkClient.java @@ -43,7 +43,7 @@ * * @author ArchDemon */ -public class NetworkClient implements ChatSession { +public final class NetworkClient implements ChatSession { private static final Logger logger = System.getLogger(NetworkClient.class.getName()); diff --git a/src/toniarts/openkeeper/game/network/NetworkConstants.java b/src/toniarts/openkeeper/game/network/NetworkConstants.java index 813d6df31..9c79cadfe 100644 --- a/src/toniarts/openkeeper/game/network/NetworkConstants.java +++ b/src/toniarts/openkeeper/game/network/NetworkConstants.java @@ -27,7 +27,7 @@ * * @author Toni Helenius */ -public class NetworkConstants { +public final class NetworkConstants { public final static int PROTOCOL_VERSION = 1; public final static String GAME_NAME = "OpenKeeper"; diff --git a/src/toniarts/openkeeper/game/network/NetworkServer.java b/src/toniarts/openkeeper/game/network/NetworkServer.java index 5a3eca061..27372c672 100644 --- a/src/toniarts/openkeeper/game/network/NetworkServer.java +++ b/src/toniarts/openkeeper/game/network/NetworkServer.java @@ -111,7 +111,7 @@ * * @author ArchDemon */ -public class NetworkServer { +public final class NetworkServer { private static boolean initialized = false; private final String host; diff --git a/src/toniarts/openkeeper/game/network/ServerConnectionListener.java b/src/toniarts/openkeeper/game/network/ServerConnectionListener.java index 56927f1c9..de4099e57 100644 --- a/src/toniarts/openkeeper/game/network/ServerConnectionListener.java +++ b/src/toniarts/openkeeper/game/network/ServerConnectionListener.java @@ -24,7 +24,7 @@ * * @author ArchDemon */ -public class ServerConnectionListener implements ConnectionListener { +public final class ServerConnectionListener implements ConnectionListener { private final NetworkServer host; diff --git a/src/toniarts/openkeeper/game/network/ServerListener.java b/src/toniarts/openkeeper/game/network/ServerListener.java index 0452856c5..3d75f51fc 100644 --- a/src/toniarts/openkeeper/game/network/ServerListener.java +++ b/src/toniarts/openkeeper/game/network/ServerListener.java @@ -27,7 +27,7 @@ * * @author ArchDemon */ -public class ServerListener implements MessageListener { +public final class ServerListener implements MessageListener { private final NetworkServer host; diff --git a/src/toniarts/openkeeper/game/network/chat/ChatClientService.java b/src/toniarts/openkeeper/game/network/chat/ChatClientService.java index 9ef107b34..9820e9a21 100644 --- a/src/toniarts/openkeeper/game/network/chat/ChatClientService.java +++ b/src/toniarts/openkeeper/game/network/chat/ChatClientService.java @@ -49,7 +49,7 @@ * * @author Paul Speed */ -public class ChatClientService extends AbstractClientService +public final class ChatClientService extends AbstractClientService implements ChatSession { private static final Logger logger = System.getLogger(ChatClientService.class.getName()); @@ -125,7 +125,7 @@ private ChatSession getDelegate() { * Shared with the server over RMI so that it can notify us about account * related stuff. */ - private class ChatSessionCallback implements ChatSessionListener { + private final class ChatSessionCallback implements ChatSessionListener { @Override public void playerJoined(int playerId, String playerName) { diff --git a/src/toniarts/openkeeper/game/network/chat/ChatHostedService.java b/src/toniarts/openkeeper/game/network/chat/ChatHostedService.java index 1e57e4f1c..4964df5ef 100644 --- a/src/toniarts/openkeeper/game/network/chat/ChatHostedService.java +++ b/src/toniarts/openkeeper/game/network/chat/ChatHostedService.java @@ -54,7 +54,7 @@ * * @author Paul Speed */ -public class ChatHostedService extends AbstractHostedConnectionService { +public final class ChatHostedService extends AbstractHostedConnectionService { private static final Logger logger = System.getLogger(ChatHostedService.class.getName()); @@ -161,7 +161,7 @@ protected void postMessage(ChatSessionImpl from, String message) { * at all it's convenient for our other code not to have to worry about the * internal delegate. */ - private class ChatSessionImpl implements ChatSession, ChatSessionListener { + private final class ChatSessionImpl implements ChatSession, ChatSessionListener { private final HostedConnection conn; private ChatSessionListener callback; diff --git a/src/toniarts/openkeeper/game/network/game/GameClientService.java b/src/toniarts/openkeeper/game/network/game/GameClientService.java index 2fa91e898..da6d8ef37 100644 --- a/src/toniarts/openkeeper/game/network/game/GameClientService.java +++ b/src/toniarts/openkeeper/game/network/game/GameClientService.java @@ -48,7 +48,7 @@ * * @author Toni Helenius */ -public class GameClientService extends AbstractClientService +public final class GameClientService extends AbstractClientService implements GameSessionClientService { private static final Logger logger = System.getLogger(GameClientService.class.getName()); @@ -222,7 +222,7 @@ public void placeTrap(short trapId, Point tile) { getDelegate().placeTrap(trapId, tile); } - private class ClientMessageListener implements MessageListener { + private final class ClientMessageListener implements MessageListener { public ClientMessageListener() { } @@ -242,7 +242,7 @@ public void messageReceived(Client source, Message message) { * Shared with the server over RMI so that it can notify us about account * related stuff. */ - private class GameSessionCallback implements GameSessionListener { + private final class GameSessionCallback implements GameSessionListener { @Override public void onGameDataLoaded(Collection players) { diff --git a/src/toniarts/openkeeper/game/network/game/GameHostedService.java b/src/toniarts/openkeeper/game/network/game/GameHostedService.java index d8f1aa3b3..81aa12cc4 100644 --- a/src/toniarts/openkeeper/game/network/game/GameHostedService.java +++ b/src/toniarts/openkeeper/game/network/game/GameHostedService.java @@ -56,7 +56,7 @@ * * @author Toni Helenius */ -public class GameHostedService extends AbstractHostedConnectionService implements GameSessionServerService { +public final class GameHostedService extends AbstractHostedConnectionService implements GameSessionServerService { /** * Someone is listening on the other end, for that we need a message type @@ -386,7 +386,7 @@ public void setPossession(EntityId target, short playerId) { } } - private class ServerMessageListener implements MessageListener { + private final class ServerMessageListener implements MessageListener { public ServerMessageListener() { } @@ -412,7 +412,7 @@ public void messageReceived(HostedConnection source, Message message) { * at all it's convenient for our other code not to have to worry about the * internal delegate. */ - private class GameSessionImpl implements GameSession, GameSessionListener { + private final class GameSessionImpl implements GameSession, GameSessionListener { private final HostedConnection conn; private final ClientInfo clientInfo; diff --git a/src/toniarts/openkeeper/game/network/lobby/LobbyClientService.java b/src/toniarts/openkeeper/game/network/lobby/LobbyClientService.java index a1c94f9e1..c25154861 100644 --- a/src/toniarts/openkeeper/game/network/lobby/LobbyClientService.java +++ b/src/toniarts/openkeeper/game/network/lobby/LobbyClientService.java @@ -34,7 +34,7 @@ * * @author Toni Helenius */ -public class LobbyClientService extends AbstractClientService +public final class LobbyClientService extends AbstractClientService implements toniarts.openkeeper.game.state.lobby.LobbyClientService { private static final Logger logger = System.getLogger(LobbyClientService.class.getName()); @@ -124,7 +124,7 @@ private LobbySession getDelegate() { * Shared with the server over RMI so that it can notify us about account * related stuff. */ - private class LobbySessionCallback implements LobbySessionListener { + private final class LobbySessionCallback implements LobbySessionListener { @Override public void onMapChanged(String mapName) { diff --git a/src/toniarts/openkeeper/game/network/lobby/LobbyHostedService.java b/src/toniarts/openkeeper/game/network/lobby/LobbyHostedService.java index 0461ad4ea..e58ae7687 100644 --- a/src/toniarts/openkeeper/game/network/lobby/LobbyHostedService.java +++ b/src/toniarts/openkeeper/game/network/lobby/LobbyHostedService.java @@ -44,7 +44,7 @@ * * @author Toni Helenius */ -public class LobbyHostedService extends AbstractHostedConnectionService implements LobbyService { +public final class LobbyHostedService extends AbstractHostedConnectionService implements LobbyService { private static final Logger logger = System.getLogger(LobbyHostedService.class.getName()); @@ -343,7 +343,7 @@ protected ClientInfo getClientInfo() { * at all it's convenient for our other code not to have to worry about the * internal delegate. */ - private class LobbySessionImpl extends AbstractLobbySessionImpl { + private final class LobbySessionImpl extends AbstractLobbySessionImpl { private final HostedConnection conn; private LobbySessionListener callback; diff --git a/src/toniarts/openkeeper/game/network/message/GameData.java b/src/toniarts/openkeeper/game/network/message/GameData.java index b51a0a539..353f3dfca 100644 --- a/src/toniarts/openkeeper/game/network/message/GameData.java +++ b/src/toniarts/openkeeper/game/network/message/GameData.java @@ -25,7 +25,7 @@ * * @author Toni Helenius */ -public class GameData { +public final class GameData { private Collection players; private MapData mapData; diff --git a/src/toniarts/openkeeper/game/network/message/GameLoadProgressData.java b/src/toniarts/openkeeper/game/network/message/GameLoadProgressData.java index 334bc1da9..01c19a214 100644 --- a/src/toniarts/openkeeper/game/network/message/GameLoadProgressData.java +++ b/src/toniarts/openkeeper/game/network/message/GameLoadProgressData.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class GameLoadProgressData extends AbstractMessage { +public final class GameLoadProgressData extends AbstractMessage { private short keeperId; private float progress; diff --git a/src/toniarts/openkeeper/game/network/message/MessagePlayerInfo.java b/src/toniarts/openkeeper/game/network/message/MessagePlayerInfo.java index 73c18b6f7..149a38066 100644 --- a/src/toniarts/openkeeper/game/network/message/MessagePlayerInfo.java +++ b/src/toniarts/openkeeper/game/network/message/MessagePlayerInfo.java @@ -26,7 +26,7 @@ * @author ArchDemon */ @Serializable -public class MessagePlayerInfo extends AbstractMessage { +public final class MessagePlayerInfo extends AbstractMessage { private String name; private int memory; diff --git a/src/toniarts/openkeeper/game/network/message/MessageServerInfo.java b/src/toniarts/openkeeper/game/network/message/MessageServerInfo.java index 84f9c7c17..36c0b6bfb 100644 --- a/src/toniarts/openkeeper/game/network/message/MessageServerInfo.java +++ b/src/toniarts/openkeeper/game/network/message/MessageServerInfo.java @@ -26,7 +26,7 @@ * @author ArchDemon */ @Serializable -public class MessageServerInfo extends AbstractMessage { +public final class MessageServerInfo extends AbstractMessage { private String name; private String map; diff --git a/src/toniarts/openkeeper/game/network/message/MessageTime.java b/src/toniarts/openkeeper/game/network/message/MessageTime.java index 99a1b0e3f..0cc12157d 100644 --- a/src/toniarts/openkeeper/game/network/message/MessageTime.java +++ b/src/toniarts/openkeeper/game/network/message/MessageTime.java @@ -29,7 +29,7 @@ * @author Paul Speed from MonkeyTrap example */ @Serializable -public class MessageTime extends AbstractMessage { +public final class MessageTime extends AbstractMessage { private long time; private long sent; diff --git a/src/toniarts/openkeeper/game/network/message/StreamedMessage.java b/src/toniarts/openkeeper/game/network/message/StreamedMessage.java index 43fb6fe75..2640f0cec 100644 --- a/src/toniarts/openkeeper/game/network/message/StreamedMessage.java +++ b/src/toniarts/openkeeper/game/network/message/StreamedMessage.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class StreamedMessage extends AbstractMessage { +public final class StreamedMessage extends AbstractMessage { private int totalSize; private byte[] payload; diff --git a/src/toniarts/openkeeper/game/network/session/AccountClientService.java b/src/toniarts/openkeeper/game/network/session/AccountClientService.java index e4d9631b0..b723d54b5 100644 --- a/src/toniarts/openkeeper/game/network/session/AccountClientService.java +++ b/src/toniarts/openkeeper/game/network/session/AccountClientService.java @@ -52,7 +52,7 @@ * * @author Paul Speed */ -public class AccountClientService extends AbstractClientService +public final class AccountClientService extends AbstractClientService implements AccountSession { private static final Logger logger = System.getLogger(AccountClientService.class.getName()); @@ -117,7 +117,7 @@ public void start() { * Shared with the server over RMI so that it can notify us about account * related stuff. */ - private class AccountSessionCallback implements AccountSessionListener { + private final class AccountSessionCallback implements AccountSessionListener { @Override public void notifyLoginStatus(boolean loggedIn) { diff --git a/src/toniarts/openkeeper/game/network/session/AccountEvent.java b/src/toniarts/openkeeper/game/network/session/AccountEvent.java index 33f925798..2703c97e3 100644 --- a/src/toniarts/openkeeper/game/network/session/AccountEvent.java +++ b/src/toniarts/openkeeper/game/network/session/AccountEvent.java @@ -46,7 +46,7 @@ * * @author Paul Speed */ -public class AccountEvent { +public final class AccountEvent { /** * Singals that a player has successfully logged in. diff --git a/src/toniarts/openkeeper/game/network/session/AccountHostedService.java b/src/toniarts/openkeeper/game/network/session/AccountHostedService.java index 3d721d930..3c7360a5f 100644 --- a/src/toniarts/openkeeper/game/network/session/AccountHostedService.java +++ b/src/toniarts/openkeeper/game/network/session/AccountHostedService.java @@ -55,7 +55,7 @@ * * @author Paul Speed */ -public class AccountHostedService extends AbstractHostedConnectionService { +public final class AccountHostedService extends AbstractHostedConnectionService { private static final Logger logger = System.getLogger(AccountHostedService.class.getName()); @@ -112,7 +112,7 @@ public void stopHostingOnConnection(HostedConnection conn) { /** * The connection-specific 'host' for the AccountSession. */ - private class AccountSessionImpl implements AccountSession { + private final class AccountSessionImpl implements AccountSession { private final HostedConnection conn; private AccountSessionListener callback; diff --git a/src/toniarts/openkeeper/game/network/streaming/StreamingClientService.java b/src/toniarts/openkeeper/game/network/streaming/StreamingClientService.java index da5815f62..28d64f25c 100644 --- a/src/toniarts/openkeeper/game/network/streaming/StreamingClientService.java +++ b/src/toniarts/openkeeper/game/network/streaming/StreamingClientService.java @@ -39,7 +39,7 @@ * * @author Toni Helenius */ -public class StreamingClientService extends AbstractClientService { +public final class StreamingClientService extends AbstractClientService { private static final Logger logger = System.getLogger(StreamingClientService.class.getName()); @@ -86,7 +86,7 @@ public void removeListener(int messageType, StreamedMessageListener listener) { /** * Listens to the messages and parses them up */ - private class StreamedMessageServiceListenerImpl implements MessageListener { + private final class StreamedMessageServiceListenerImpl implements MessageListener { @Override public void messageReceived(Client source, Message m) { diff --git a/src/toniarts/openkeeper/game/network/streaming/StreamingHostedService.java b/src/toniarts/openkeeper/game/network/streaming/StreamingHostedService.java index 974b719bd..adfd47357 100644 --- a/src/toniarts/openkeeper/game/network/streaming/StreamingHostedService.java +++ b/src/toniarts/openkeeper/game/network/streaming/StreamingHostedService.java @@ -33,7 +33,7 @@ * * @author Toni Helenius */ -public class StreamingHostedService extends AbstractHostedService { +public final class StreamingHostedService extends AbstractHostedService { private static final Logger logger = System.getLogger(StreamingHostedService.class.getName()); diff --git a/src/toniarts/openkeeper/game/sound/GlobalCategory.java b/src/toniarts/openkeeper/game/sound/GlobalCategory.java index fc0e8df60..5f451133a 100644 --- a/src/toniarts/openkeeper/game/sound/GlobalCategory.java +++ b/src/toniarts/openkeeper/game/sound/GlobalCategory.java @@ -28,7 +28,7 @@ * * @author ArchDemon */ -public class GlobalCategory { +public final class GlobalCategory { private static final Logger logger = System.getLogger(GlobalCategory.class.getName()); diff --git a/src/toniarts/openkeeper/game/sound/SoundCategory.java b/src/toniarts/openkeeper/game/sound/SoundCategory.java index b06ff7990..ee5118a18 100644 --- a/src/toniarts/openkeeper/game/sound/SoundCategory.java +++ b/src/toniarts/openkeeper/game/sound/SoundCategory.java @@ -38,7 +38,7 @@ * * @author archdemon */ -public class SoundCategory { +public final class SoundCategory { private static final Logger logger = System.getLogger(SoundCategory.class.getName()); diff --git a/src/toniarts/openkeeper/game/sound/SoundFile.java b/src/toniarts/openkeeper/game/sound/SoundFile.java index 4fb5d27f7..bfc6c28a2 100644 --- a/src/toniarts/openkeeper/game/sound/SoundFile.java +++ b/src/toniarts/openkeeper/game/sound/SoundFile.java @@ -20,7 +20,7 @@ * * @author archdemon */ -public class SoundFile implements Comparable { +public final class SoundFile implements Comparable { private final int id; private final SoundGroup group; diff --git a/src/toniarts/openkeeper/game/sound/SoundGroup.java b/src/toniarts/openkeeper/game/sound/SoundGroup.java index 6282e92ba..9f1b2aa22 100644 --- a/src/toniarts/openkeeper/game/sound/SoundGroup.java +++ b/src/toniarts/openkeeper/game/sound/SoundGroup.java @@ -33,7 +33,7 @@ * * @author archdemon */ -public class SoundGroup { +public final class SoundGroup { private static final Logger logger = System.getLogger(SoundGroup.class.getName()); diff --git a/src/toniarts/openkeeper/game/state/ConnectionState.java b/src/toniarts/openkeeper/game/state/ConnectionState.java index 11bec4d1f..52301101c 100644 --- a/src/toniarts/openkeeper/game/state/ConnectionState.java +++ b/src/toniarts/openkeeper/game/state/ConnectionState.java @@ -236,7 +236,7 @@ protected void onDisconnected(DisconnectInfo info) { } } - private class ConnectionObserver implements ClientStateListener, ErrorListener { + private final class ConnectionObserver implements ClientStateListener, ErrorListener { @Override public void clientConnected(final Client c) { @@ -257,7 +257,7 @@ public void handleError(Client source, Throwable t) { } } - private class AccountObserver implements AccountSessionListener { + private final class AccountObserver implements AccountSessionListener { @Override public void notifyLoginStatus(final boolean loggedIn) { @@ -270,7 +270,7 @@ public interface ConnectionErrorListener { public void showError(final String title, final String message, final Throwable e, final boolean fatal); } - private class Connector extends Thread { + private final class Connector extends Thread { public Connector() { super("GameConnector"); diff --git a/src/toniarts/openkeeper/game/state/EndGameState.java b/src/toniarts/openkeeper/game/state/EndGameState.java index 7c45c0133..275aad0f2 100644 --- a/src/toniarts/openkeeper/game/state/EndGameState.java +++ b/src/toniarts/openkeeper/game/state/EndGameState.java @@ -34,7 +34,7 @@ * * @author Toni Helenius */ -public class EndGameState extends AbstractAppState implements RawInputListener { +public final class EndGameState extends AbstractAppState implements RawInputListener { private Main app; private AppStateManager stateManager; diff --git a/src/toniarts/openkeeper/game/state/GameClientState.java b/src/toniarts/openkeeper/game/state/GameClientState.java index 3d0b3f3fd..50d8ff8ea 100644 --- a/src/toniarts/openkeeper/game/state/GameClientState.java +++ b/src/toniarts/openkeeper/game/state/GameClientState.java @@ -59,7 +59,7 @@ * * @author Toni Helenius */ -public class GameClientState extends AbstractPauseAwareState { +public final class GameClientState extends AbstractPauseAwareState { private static final Logger logger = System.getLogger(GameClientState.class.getName()); @@ -294,7 +294,7 @@ public TextParser getTextParser() { return textParser; } - private class GameSessionListenerImpl implements GameSessionListener { + private final class GameSessionListenerImpl implements GameSessionListener { private final Object mapDataLoadingObject = new Object(); private volatile boolean mapDataLoaded = false; diff --git a/src/toniarts/openkeeper/game/state/GameServerState.java b/src/toniarts/openkeeper/game/state/GameServerState.java index 3f0273cd5..dd441e993 100644 --- a/src/toniarts/openkeeper/game/state/GameServerState.java +++ b/src/toniarts/openkeeper/game/state/GameServerState.java @@ -51,7 +51,7 @@ * * @author Toni Helenius */ -public class GameServerState extends AbstractAppState { +public final class GameServerState extends AbstractAppState { private static final Logger logger = System.getLogger(GameServerState.class.getName()); @@ -162,7 +162,7 @@ public void cleanup() { /** * Load the game */ - private class GameLoader extends Thread { + private final class GameLoader extends Thread { private final List players; @@ -211,7 +211,7 @@ public void run() { /** * Listen for basically clients' requests */ - private class GameSessionServiceListenerImpl implements GameSessionServiceListener { + private final class GameSessionServiceListenerImpl implements GameSessionServiceListener { @Override public void onStartGame() { @@ -371,7 +371,7 @@ public void onCheatTriggered(CheatState.CheatType cheat, short playerId) { /** * Listen for the map changes */ - private class MapListenerImpl implements MapListener { + private final class MapListenerImpl implements MapListener { @Override public void onTilesChange(List updatedTiles) { @@ -387,7 +387,7 @@ public void onTileFlash(List points, boolean enabled, short keeperId) { /** * Listen for the player actions */ - private class PlayerActionListenerImpl implements PlayerActionListener { + private final class PlayerActionListenerImpl implements PlayerActionListener { @Override public void onBuild(short keeperId, List tiles) { diff --git a/src/toniarts/openkeeper/game/state/MainMenuInteraction.java b/src/toniarts/openkeeper/game/state/MainMenuInteraction.java index 679ccf961..2935a6d1d 100644 --- a/src/toniarts/openkeeper/game/state/MainMenuInteraction.java +++ b/src/toniarts/openkeeper/game/state/MainMenuInteraction.java @@ -19,7 +19,7 @@ * * This is for the level pick up */ -public class MainMenuInteraction implements RawInputListener { +public final class MainMenuInteraction implements RawInputListener { private final MainMenuState mainMenuState; private FrontEndLevelControl currentControl; diff --git a/src/toniarts/openkeeper/game/state/MainMenuScreenController.java b/src/toniarts/openkeeper/game/state/MainMenuScreenController.java index f11509ba2..b04ec5b1a 100644 --- a/src/toniarts/openkeeper/game/state/MainMenuScreenController.java +++ b/src/toniarts/openkeeper/game/state/MainMenuScreenController.java @@ -91,7 +91,7 @@ * * @author ArchDemon */ -public class MainMenuScreenController implements IMainMenuScreenController { +public final class MainMenuScreenController implements IMainMenuScreenController { private static final Logger logger = System.getLogger(MainMenuScreenController.class.getName()); @@ -1134,7 +1134,7 @@ public void applySoundSettings() { nifty.gotoScreen(SCREEN_OPTIONS_MAIN_ID); } - public static class Cutscene { + public static final class Cutscene { protected String image; protected String click; diff --git a/src/toniarts/openkeeper/game/state/MainMenuState.java b/src/toniarts/openkeeper/game/state/MainMenuState.java index c536d0fc0..542d545fa 100644 --- a/src/toniarts/openkeeper/game/state/MainMenuState.java +++ b/src/toniarts/openkeeper/game/state/MainMenuState.java @@ -77,7 +77,7 @@ * * @author Toni Helenius */ -public class MainMenuState extends AbstractAppState { +public final class MainMenuState extends AbstractAppState { private static final Logger logger = System.getLogger(MainMenuState.class.getName()); @@ -561,7 +561,7 @@ protected String getMapThumbnail(KwdFile map) { return asset; } - private class MainMenuConnectionErrorListener implements ConnectionErrorListener { + private final class MainMenuConnectionErrorListener implements ConnectionErrorListener { @Override public void showError(String title, String message, Throwable e, boolean fatal) { @@ -575,7 +575,7 @@ public void showError(String title, String message, Throwable e, boolean fatal) /** * Main menu version of the player entity view state */ - private static class MainMenuEntityViewState extends PlayerEntityViewState { + private static final class MainMenuEntityViewState extends PlayerEntityViewState { public MainMenuEntityViewState(KwdFile kwdFile, AssetManager assetManager, EntityData entityData, short playerId, TextParser textParser, Node rootNode) { super(kwdFile, assetManager, entityData, playerId, textParser, rootNode); @@ -585,7 +585,7 @@ public MainMenuEntityViewState(KwdFile kwdFile, AssetManager assetManager, Entit } - private static class MainMenuPlayerService implements PlayerService { + private static final class MainMenuPlayerService implements PlayerService { @Override public void setWidescreen(boolean enable, short playerId) { diff --git a/src/toniarts/openkeeper/game/state/PlayerScreenController.java b/src/toniarts/openkeeper/game/state/PlayerScreenController.java index 022db099a..757a8dfc3 100644 --- a/src/toniarts/openkeeper/game/state/PlayerScreenController.java +++ b/src/toniarts/openkeeper/game/state/PlayerScreenController.java @@ -117,7 +117,7 @@ * * @author ArchDemon */ -public class PlayerScreenController implements IPlayerScreenController { +public final class PlayerScreenController implements IPlayerScreenController { private enum PauseMenuState { @@ -191,6 +191,13 @@ public void select(String iState, String id) { state.interactionState.setInteractionState(type, Integer.parseInt(id)); } + public void toggleGui() { + if (!nifty.getCurrentScreen().getScreenId().equals(SCREEN_EMPTY_ID)) + nifty.gotoScreen(SCREEN_EMPTY_ID); + else + nifty.gotoScreen(SCREEN_HUD_ID); + } + @Override public void togglePanel() { // FIXME work but not properly. Map should not move with other things. Need HUD redesign @@ -1173,7 +1180,7 @@ public void playButtonSound(String category) { * Simple class to handle the population, methods and updates of the * creature cards and worker amounts */ - private static class CreatureCardManager { + private static final class CreatureCardManager { private final IPlayerScreenController playerScreenController; private final KwdFile kwdFile; @@ -1426,7 +1433,7 @@ private void updateWorkerStatistics() { workerAmountControl.setTotal(impTotal); } - private class EventListener implements CreatureCardEventListener { + private final class EventListener implements CreatureCardEventListener { private final Map selectionIndices = new HashMap<>(); @@ -1501,7 +1508,7 @@ private boolean isCreatureState(Entity entity, CreatureUIState state) { } - private static class GameMenu { + private static final class GameMenu { protected String title; protected String action; diff --git a/src/toniarts/openkeeper/game/state/PlayerState.java b/src/toniarts/openkeeper/game/state/PlayerState.java index 5d2f4645e..8c7a07b06 100644 --- a/src/toniarts/openkeeper/game/state/PlayerState.java +++ b/src/toniarts/openkeeper/game/state/PlayerState.java @@ -63,7 +63,7 @@ * * @author Toni Helenius */ -public class PlayerState extends AbstractAppState implements PlayerListener { +public final class PlayerState extends AbstractAppState implements PlayerListener { protected final Main app; diff --git a/src/toniarts/openkeeper/game/state/SoundState.java b/src/toniarts/openkeeper/game/state/SoundState.java index 2c49330ba..b7b05960c 100644 --- a/src/toniarts/openkeeper/game/state/SoundState.java +++ b/src/toniarts/openkeeper/game/state/SoundState.java @@ -42,7 +42,7 @@ * * @author ArchDemon */ -public class SoundState extends AbstractPauseAwareState { +public final class SoundState extends AbstractPauseAwareState { public enum Background { AMBIENCE("AMBIENCE"), @@ -239,7 +239,7 @@ public void update(float tpf) { super.update(tpf); } - private class BackgroundState { + private static final class BackgroundState { private SoundCategory sc; diff --git a/src/toniarts/openkeeper/game/state/loading/LoadingState.java b/src/toniarts/openkeeper/game/state/loading/LoadingState.java index 825726d70..2c111c948 100644 --- a/src/toniarts/openkeeper/game/state/loading/LoadingState.java +++ b/src/toniarts/openkeeper/game/state/loading/LoadingState.java @@ -180,7 +180,7 @@ public void cleanup() { */ abstract public void onLoadComplete(); - private class LoadingThread extends Thread { + private final class LoadingThread extends Thread { public LoadingThread(String name) { super(name); diff --git a/src/toniarts/openkeeper/game/state/lobby/ClientInfo.java b/src/toniarts/openkeeper/game/state/lobby/ClientInfo.java index 02931431c..6e82f270c 100644 --- a/src/toniarts/openkeeper/game/state/lobby/ClientInfo.java +++ b/src/toniarts/openkeeper/game/state/lobby/ClientInfo.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class ClientInfo { +public final class ClientInfo { private int systemMemory; private long ping; diff --git a/src/toniarts/openkeeper/game/state/lobby/LobbyState.java b/src/toniarts/openkeeper/game/state/lobby/LobbyState.java index 9728d3998..c777e51e4 100644 --- a/src/toniarts/openkeeper/game/state/lobby/LobbyState.java +++ b/src/toniarts/openkeeper/game/state/lobby/LobbyState.java @@ -40,7 +40,7 @@ * * @author Toni Helenius */ -public class LobbyState extends AbstractAppState { +public final class LobbyState extends AbstractAppState { private Main app; private AppStateManager stateManager; diff --git a/src/toniarts/openkeeper/game/state/lobby/LobbyUtils.java b/src/toniarts/openkeeper/game/state/lobby/LobbyUtils.java index f63d2f8b3..4177edad4 100644 --- a/src/toniarts/openkeeper/game/state/lobby/LobbyUtils.java +++ b/src/toniarts/openkeeper/game/state/lobby/LobbyUtils.java @@ -30,7 +30,7 @@ * * @author Toni Helenius */ -public class LobbyUtils { +public final class LobbyUtils { private LobbyUtils() { // No, nope... diff --git a/src/toniarts/openkeeper/game/state/lobby/LocalLobby.java b/src/toniarts/openkeeper/game/state/lobby/LocalLobby.java index 399a64716..9bf221597 100644 --- a/src/toniarts/openkeeper/game/state/lobby/LocalLobby.java +++ b/src/toniarts/openkeeper/game/state/lobby/LocalLobby.java @@ -33,7 +33,7 @@ * * @author Toni Helenius */ -public class LocalLobby implements LobbyService, LobbyClientService { +public final class LocalLobby implements LobbyService, LobbyClientService { private final Map players = HashMap.newHashMap(4); private final List listeners = new CopyOnWriteArrayList<>(); diff --git a/src/toniarts/openkeeper/game/state/session/LocalGameSession.java b/src/toniarts/openkeeper/game/state/session/LocalGameSession.java index fe884e70a..279d1d6a0 100644 --- a/src/toniarts/openkeeper/game/state/session/LocalGameSession.java +++ b/src/toniarts/openkeeper/game/state/session/LocalGameSession.java @@ -44,7 +44,7 @@ * * @author Toni Helenius */ -public class LocalGameSession implements GameSessionServerService, GameSessionClientService { +public final class LocalGameSession implements GameSessionServerService, GameSessionClientService { private static final Logger logger = System.getLogger(LocalGameSession.class.getName()); private static final short PLAYER_ID = Player.KEEPER1_ID; diff --git a/src/toniarts/openkeeper/game/task/TaskManager.java b/src/toniarts/openkeeper/game/task/TaskManager.java index 43ca6bc31..9dd5a03a0 100644 --- a/src/toniarts/openkeeper/game/task/TaskManager.java +++ b/src/toniarts/openkeeper/game/task/TaskManager.java @@ -104,7 +104,7 @@ * * @author Toni Helenius */ -public class TaskManager implements ITaskManager, IGameLogicUpdatable { +public final class TaskManager implements ITaskManager, IGameLogicUpdatable { private static final Logger logger = System.getLogger(TaskManager.class.getName()); diff --git a/src/toniarts/openkeeper/game/task/creature/ClaimLair.java b/src/toniarts/openkeeper/game/task/creature/ClaimLair.java index baa343e0e..899ae4ea2 100644 --- a/src/toniarts/openkeeper/game/task/creature/ClaimLair.java +++ b/src/toniarts/openkeeper/game/task/creature/ClaimLair.java @@ -35,7 +35,7 @@ * * @author Toni Helenius */ -public class ClaimLair extends AbstractCapacityCriticalRoomTask { +public final class ClaimLair extends AbstractCapacityCriticalRoomTask { private boolean executed = false; diff --git a/src/toniarts/openkeeper/game/task/creature/GoToEat.java b/src/toniarts/openkeeper/game/task/creature/GoToEat.java index ff84a8bb9..295eb1c02 100644 --- a/src/toniarts/openkeeper/game/task/creature/GoToEat.java +++ b/src/toniarts/openkeeper/game/task/creature/GoToEat.java @@ -35,7 +35,7 @@ * * @author Toni Helenius */ -public class GoToEat extends AbstractTask { +public final class GoToEat extends AbstractTask { private boolean executed = false; private final IEntityPositionLookup entityPositionLookup; diff --git a/src/toniarts/openkeeper/game/task/creature/GoToSleep.java b/src/toniarts/openkeeper/game/task/creature/GoToSleep.java index 8bb726e02..ac020fc2c 100644 --- a/src/toniarts/openkeeper/game/task/creature/GoToSleep.java +++ b/src/toniarts/openkeeper/game/task/creature/GoToSleep.java @@ -29,7 +29,7 @@ * * @author Toni Helenius */ -public class GoToSleep extends AbstractTileTask { +public final class GoToSleep extends AbstractTileTask { private boolean executed = false; private final ICreatureController creature; diff --git a/src/toniarts/openkeeper/game/task/creature/Research.java b/src/toniarts/openkeeper/game/task/creature/Research.java index 45f78c229..b305af67d 100644 --- a/src/toniarts/openkeeper/game/task/creature/Research.java +++ b/src/toniarts/openkeeper/game/task/creature/Research.java @@ -37,7 +37,7 @@ * * @author Toni Helenius */ -public class Research extends AbstractCapacityCriticalRoomTask { +public final class Research extends AbstractCapacityCriticalRoomTask { private final PlayerResearchControl researchControl; private final IObjectsController objectsController; diff --git a/src/toniarts/openkeeper/game/task/creature/Train.java b/src/toniarts/openkeeper/game/task/creature/Train.java index b0135874f..af08d59e3 100644 --- a/src/toniarts/openkeeper/game/task/creature/Train.java +++ b/src/toniarts/openkeeper/game/task/creature/Train.java @@ -38,7 +38,7 @@ * * @author Toni Helenius */ -public class Train extends AbstractCapacityCriticalRoomTask { +public final class Train extends AbstractCapacityCriticalRoomTask { private final IGameWorldController gameWorldController; private final IPlayerController playerController; diff --git a/src/toniarts/openkeeper/game/task/objective/KillPlayer.java b/src/toniarts/openkeeper/game/task/objective/KillPlayer.java index 700529ce9..eeee94f35 100644 --- a/src/toniarts/openkeeper/game/task/objective/KillPlayer.java +++ b/src/toniarts/openkeeper/game/task/objective/KillPlayer.java @@ -37,7 +37,7 @@ * * @author Toni Helenius */ -public class KillPlayer extends AbstractObjectiveTask { +public final class KillPlayer extends AbstractObjectiveTask { protected final short targetPlayerId; protected final ICreatureController creature; diff --git a/src/toniarts/openkeeper/game/task/objective/ObjectiveDigTileTask.java b/src/toniarts/openkeeper/game/task/objective/ObjectiveDigTileTask.java index 69ba245be..257f02ad9 100644 --- a/src/toniarts/openkeeper/game/task/objective/ObjectiveDigTileTask.java +++ b/src/toniarts/openkeeper/game/task/objective/ObjectiveDigTileTask.java @@ -29,7 +29,7 @@ * * @author Toni Helenius */ -public class ObjectiveDigTileTask extends DigTileTask { +public final class ObjectiveDigTileTask extends DigTileTask { public ObjectiveDigTileTask(final INavigationService navigationService, final IMapController mapController, Point p, short playerId) { super(navigationService, mapController, p, playerId); diff --git a/src/toniarts/openkeeper/game/task/objective/SendToActionPoint.java b/src/toniarts/openkeeper/game/task/objective/SendToActionPoint.java index 951192a20..3157f2f64 100644 --- a/src/toniarts/openkeeper/game/task/objective/SendToActionPoint.java +++ b/src/toniarts/openkeeper/game/task/objective/SendToActionPoint.java @@ -28,7 +28,7 @@ * * @author Toni Helenius */ -public class SendToActionPoint extends GoToTask { +public final class SendToActionPoint extends GoToTask { protected final ActionPoint actionPoint; private boolean executed = false; diff --git a/src/toniarts/openkeeper/game/task/worker/CaptureEnemyCreatureTask.java b/src/toniarts/openkeeper/game/task/worker/CaptureEnemyCreatureTask.java index 182b447e6..644d81959 100644 --- a/src/toniarts/openkeeper/game/task/worker/CaptureEnemyCreatureTask.java +++ b/src/toniarts/openkeeper/game/task/worker/CaptureEnemyCreatureTask.java @@ -34,7 +34,7 @@ * * @author Toni Helenius */ -public class CaptureEnemyCreatureTask extends AbstractTileTask { +public final class CaptureEnemyCreatureTask extends AbstractTileTask { private final ICreatureController creature; private final ITaskManager taskManager; diff --git a/src/toniarts/openkeeper/game/task/worker/CarryCreatureToLairTask.java b/src/toniarts/openkeeper/game/task/worker/CarryCreatureToLairTask.java index b57d934bb..8831532de 100644 --- a/src/toniarts/openkeeper/game/task/worker/CarryCreatureToLairTask.java +++ b/src/toniarts/openkeeper/game/task/worker/CarryCreatureToLairTask.java @@ -30,7 +30,7 @@ * * @author Toni Helenius */ -public class CarryCreatureToLairTask extends AbstractTileTask { +public final class CarryCreatureToLairTask extends AbstractTileTask { private final ICreatureController creature; private boolean executed = false; diff --git a/src/toniarts/openkeeper/game/task/worker/CarryEnemyCreatureToPrison.java b/src/toniarts/openkeeper/game/task/worker/CarryEnemyCreatureToPrison.java index b31c5c251..d188614b3 100644 --- a/src/toniarts/openkeeper/game/task/worker/CarryEnemyCreatureToPrison.java +++ b/src/toniarts/openkeeper/game/task/worker/CarryEnemyCreatureToPrison.java @@ -33,7 +33,7 @@ * * @author Toni Helenius */ -public class CarryEnemyCreatureToPrison extends AbstractCapacityCriticalRoomTask { +public final class CarryEnemyCreatureToPrison extends AbstractCapacityCriticalRoomTask { private final ICreatureController creature; private boolean executed = false; diff --git a/src/toniarts/openkeeper/game/task/worker/CarryGoldToTreasuryTask.java b/src/toniarts/openkeeper/game/task/worker/CarryGoldToTreasuryTask.java index 15cd31cb5..398b65fdf 100644 --- a/src/toniarts/openkeeper/game/task/worker/CarryGoldToTreasuryTask.java +++ b/src/toniarts/openkeeper/game/task/worker/CarryGoldToTreasuryTask.java @@ -33,7 +33,7 @@ * * @author Toni Helenius */ -public class CarryGoldToTreasuryTask extends AbstractRoomTask { +public final class CarryGoldToTreasuryTask extends AbstractRoomTask { private final IGameWorldController gameWorldController; private boolean executed = false; diff --git a/src/toniarts/openkeeper/game/task/worker/CarryObjectToStorageTask.java b/src/toniarts/openkeeper/game/task/worker/CarryObjectToStorageTask.java index aa209a277..e74fd994d 100644 --- a/src/toniarts/openkeeper/game/task/worker/CarryObjectToStorageTask.java +++ b/src/toniarts/openkeeper/game/task/worker/CarryObjectToStorageTask.java @@ -35,7 +35,7 @@ * * @author Toni Helenius */ -public class CarryObjectToStorageTask extends AbstractCapacityCriticalRoomTask { +public final class CarryObjectToStorageTask extends AbstractCapacityCriticalRoomTask { private final IObjectController gameObject; private boolean executed = false; diff --git a/src/toniarts/openkeeper/game/task/worker/ClaimRoomTask.java b/src/toniarts/openkeeper/game/task/worker/ClaimRoomTask.java index 499f24229..15286db94 100644 --- a/src/toniarts/openkeeper/game/task/worker/ClaimRoomTask.java +++ b/src/toniarts/openkeeper/game/task/worker/ClaimRoomTask.java @@ -27,7 +27,7 @@ * * @author Toni Helenius */ -public class ClaimRoomTask extends ClaimTileTask { +public final class ClaimRoomTask extends ClaimTileTask { public ClaimRoomTask(final INavigationService navigationService, final IMapController mapController, Point p, short playerId) { super(navigationService, mapController, p, playerId); diff --git a/src/toniarts/openkeeper/game/task/worker/ClaimWallTileTask.java b/src/toniarts/openkeeper/game/task/worker/ClaimWallTileTask.java index 97a418981..0bb643352 100644 --- a/src/toniarts/openkeeper/game/task/worker/ClaimWallTileTask.java +++ b/src/toniarts/openkeeper/game/task/worker/ClaimWallTileTask.java @@ -28,7 +28,7 @@ * * @author Toni Helenius */ -public class ClaimWallTileTask extends DigTileTask { +public final class ClaimWallTileTask extends DigTileTask { public ClaimWallTileTask(final INavigationService navigationService, final IMapController mapController, Point p, short playerId) { super(navigationService, mapController, p, playerId); diff --git a/src/toniarts/openkeeper/game/task/worker/FetchObjectTask.java b/src/toniarts/openkeeper/game/task/worker/FetchObjectTask.java index e601b81ce..953cab07b 100644 --- a/src/toniarts/openkeeper/game/task/worker/FetchObjectTask.java +++ b/src/toniarts/openkeeper/game/task/worker/FetchObjectTask.java @@ -33,7 +33,7 @@ * * @author Toni Helenius */ -public class FetchObjectTask extends AbstractTileTask { +public final class FetchObjectTask extends AbstractTileTask { private final IObjectController gameObject; private final TaskManager taskManager; diff --git a/src/toniarts/openkeeper/game/task/worker/RepairWallTileTask.java b/src/toniarts/openkeeper/game/task/worker/RepairWallTileTask.java index 158fe3a58..e4311c5a1 100644 --- a/src/toniarts/openkeeper/game/task/worker/RepairWallTileTask.java +++ b/src/toniarts/openkeeper/game/task/worker/RepairWallTileTask.java @@ -28,7 +28,7 @@ * * @author Toni Helenius */ -public class RepairWallTileTask extends DigTileTask { +public final class RepairWallTileTask extends DigTileTask { public RepairWallTileTask(final INavigationService navigationService, final IMapController mapController, Point p, short playerId) { super(navigationService, mapController, p, playerId); diff --git a/src/toniarts/openkeeper/game/task/worker/RescueCreatureTask.java b/src/toniarts/openkeeper/game/task/worker/RescueCreatureTask.java index c412fad7b..0ea334446 100644 --- a/src/toniarts/openkeeper/game/task/worker/RescueCreatureTask.java +++ b/src/toniarts/openkeeper/game/task/worker/RescueCreatureTask.java @@ -34,7 +34,7 @@ * * @author Toni Helenius */ -public class RescueCreatureTask extends AbstractTileTask { +public final class RescueCreatureTask extends AbstractTileTask { private final ICreatureController creature; private final TaskManager taskManager; diff --git a/src/toniarts/openkeeper/game/trigger/TriggerActionData.java b/src/toniarts/openkeeper/game/trigger/TriggerActionData.java index f0702b3c4..a18defcdc 100644 --- a/src/toniarts/openkeeper/game/trigger/TriggerActionData.java +++ b/src/toniarts/openkeeper/game/trigger/TriggerActionData.java @@ -24,7 +24,7 @@ */ -public class TriggerActionData extends TriggerData { +public final class TriggerActionData extends TriggerData { private TriggerAction.ActionType actionType; diff --git a/src/toniarts/openkeeper/game/trigger/TriggerGenericData.java b/src/toniarts/openkeeper/game/trigger/TriggerGenericData.java index ff806df9a..10b9e72e5 100644 --- a/src/toniarts/openkeeper/game/trigger/TriggerGenericData.java +++ b/src/toniarts/openkeeper/game/trigger/TriggerGenericData.java @@ -25,7 +25,7 @@ * * @author ArchDemon */ -public class TriggerGenericData extends TriggerData { +public final class TriggerGenericData extends TriggerData { private static final Logger logger = System.getLogger(TriggerGenericData.class.getName()); diff --git a/src/toniarts/openkeeper/game/trigger/TriggerLoader.java b/src/toniarts/openkeeper/game/trigger/TriggerLoader.java index 912334b3a..331a938ae 100644 --- a/src/toniarts/openkeeper/game/trigger/TriggerLoader.java +++ b/src/toniarts/openkeeper/game/trigger/TriggerLoader.java @@ -28,7 +28,7 @@ * * @author ArchDemon */ -public class TriggerLoader { +public final class TriggerLoader { private final Map triggers; diff --git a/src/toniarts/openkeeper/game/trigger/actionpoint/ActionPointTriggerControl.java b/src/toniarts/openkeeper/game/trigger/actionpoint/ActionPointTriggerControl.java index 178834919..5cf3e0640 100644 --- a/src/toniarts/openkeeper/game/trigger/actionpoint/ActionPointTriggerControl.java +++ b/src/toniarts/openkeeper/game/trigger/actionpoint/ActionPointTriggerControl.java @@ -37,7 +37,7 @@ * * @author ArchDemon */ -public class ActionPointTriggerControl extends TriggerControl { +public final class ActionPointTriggerControl extends TriggerControl { private static final Logger logger = System.getLogger(ActionPointTriggerControl.class.getName()); diff --git a/src/toniarts/openkeeper/game/trigger/actionpoint/ActionPointTriggerLogicController.java b/src/toniarts/openkeeper/game/trigger/actionpoint/ActionPointTriggerLogicController.java index 354e49b02..923cd8fa5 100644 --- a/src/toniarts/openkeeper/game/trigger/actionpoint/ActionPointTriggerLogicController.java +++ b/src/toniarts/openkeeper/game/trigger/actionpoint/ActionPointTriggerLogicController.java @@ -30,7 +30,7 @@ * * @author ArchDemon */ -public class ActionPointTriggerLogicController implements IGameLogicUpdatable { +public final class ActionPointTriggerLogicController implements IGameLogicUpdatable { private final SafeArrayList triggers = new SafeArrayList<>(ActionPointTriggerControl.class); diff --git a/src/toniarts/openkeeper/game/trigger/creature/CreatureTriggerControl.java b/src/toniarts/openkeeper/game/trigger/creature/CreatureTriggerControl.java index fe48776c1..198b930a4 100644 --- a/src/toniarts/openkeeper/game/trigger/creature/CreatureTriggerControl.java +++ b/src/toniarts/openkeeper/game/trigger/creature/CreatureTriggerControl.java @@ -36,7 +36,7 @@ * * @author ArchDemon */ -public class CreatureTriggerControl extends AbstractThingTriggerControl { +public final class CreatureTriggerControl extends AbstractThingTriggerControl { public CreatureTriggerControl(final IGameController gameController, final ILevelInfo levelInfo, final IGameTimer gameTimer, final IMapController mapController, final ICreaturesController creaturesController, final int triggerId, final short playerId, diff --git a/src/toniarts/openkeeper/game/trigger/creature/CreatureTriggerLogicController.java b/src/toniarts/openkeeper/game/trigger/creature/CreatureTriggerLogicController.java index 82d2c0b52..dd62c3ef2 100644 --- a/src/toniarts/openkeeper/game/trigger/creature/CreatureTriggerLogicController.java +++ b/src/toniarts/openkeeper/game/trigger/creature/CreatureTriggerLogicController.java @@ -39,7 +39,7 @@ * * @author Toni Helenius */ -public class CreatureTriggerLogicController extends AbstractThingTriggerLogicController { +public final class CreatureTriggerLogicController extends AbstractThingTriggerLogicController { public CreatureTriggerLogicController(final IGameController gameController, final ILevelInfo levelInfo, final IGameTimer gameTimer, final IMapController mapController, final ICreaturesController creaturesController, final PlayerService playerService, final EntityData entityData) { diff --git a/src/toniarts/openkeeper/game/trigger/door/DoorTriggerControl.java b/src/toniarts/openkeeper/game/trigger/door/DoorTriggerControl.java index 343567009..2805901e3 100644 --- a/src/toniarts/openkeeper/game/trigger/door/DoorTriggerControl.java +++ b/src/toniarts/openkeeper/game/trigger/door/DoorTriggerControl.java @@ -32,7 +32,7 @@ * * @author Toni Helenius */ -public class DoorTriggerControl extends AbstractThingTriggerControl { +public final class DoorTriggerControl extends AbstractThingTriggerControl { public DoorTriggerControl(final IGameController gameController, final ILevelInfo levelInfo, final IGameTimer gameTimer, final IMapController mapController, final ICreaturesController creaturesController, final int triggerId, final short playerId, diff --git a/src/toniarts/openkeeper/game/trigger/door/DoorTriggerLogicController.java b/src/toniarts/openkeeper/game/trigger/door/DoorTriggerLogicController.java index 060b74e36..45162602b 100644 --- a/src/toniarts/openkeeper/game/trigger/door/DoorTriggerLogicController.java +++ b/src/toniarts/openkeeper/game/trigger/door/DoorTriggerLogicController.java @@ -39,7 +39,7 @@ * * @author Toni Helenius */ -public class DoorTriggerLogicController extends AbstractThingTriggerLogicController { +public final class DoorTriggerLogicController extends AbstractThingTriggerLogicController { public DoorTriggerLogicController(final IGameController gameController, final ILevelInfo levelInfo, final IGameTimer gameTimer, final IMapController mapController, final ICreaturesController creaturesController, final PlayerService playerService, final EntityData entityData, diff --git a/src/toniarts/openkeeper/game/trigger/object/ObjectTriggerControl.java b/src/toniarts/openkeeper/game/trigger/object/ObjectTriggerControl.java index 862de2be3..a31ca1fd6 100644 --- a/src/toniarts/openkeeper/game/trigger/object/ObjectTriggerControl.java +++ b/src/toniarts/openkeeper/game/trigger/object/ObjectTriggerControl.java @@ -32,7 +32,7 @@ * * @author Toni Helenius */ -public class ObjectTriggerControl extends AbstractThingTriggerControl { +public final class ObjectTriggerControl extends AbstractThingTriggerControl { public ObjectTriggerControl(final IGameController gameController, final ILevelInfo levelInfo, final IGameTimer gameTimer, final IMapController mapController, final ICreaturesController creaturesController, final int triggerId, final short playerId, diff --git a/src/toniarts/openkeeper/game/trigger/object/ObjectTriggerLogicController.java b/src/toniarts/openkeeper/game/trigger/object/ObjectTriggerLogicController.java index f24ce5b1a..4f83ee5cb 100644 --- a/src/toniarts/openkeeper/game/trigger/object/ObjectTriggerLogicController.java +++ b/src/toniarts/openkeeper/game/trigger/object/ObjectTriggerLogicController.java @@ -39,7 +39,7 @@ * * @author Toni Helenius */ -public class ObjectTriggerLogicController extends AbstractThingTriggerLogicController { +public final class ObjectTriggerLogicController extends AbstractThingTriggerLogicController { public ObjectTriggerLogicController(final IGameController gameController, final ILevelInfo levelInfo, final IGameTimer gameTimer, final IMapController mapController, final ICreaturesController creaturesController, final PlayerService playerService, final EntityData entityData, diff --git a/src/toniarts/openkeeper/game/trigger/party/PartyTriggerControl.java b/src/toniarts/openkeeper/game/trigger/party/PartyTriggerControl.java index 5e2e41e49..e8c291bfb 100644 --- a/src/toniarts/openkeeper/game/trigger/party/PartyTriggerControl.java +++ b/src/toniarts/openkeeper/game/trigger/party/PartyTriggerControl.java @@ -27,7 +27,7 @@ import toniarts.openkeeper.game.trigger.TriggerGenericData; import toniarts.openkeeper.tools.convert.map.TriggerGeneric; -public class PartyTriggerControl extends TriggerControl { +public final class PartyTriggerControl extends TriggerControl { private final IPartyController partyController; diff --git a/src/toniarts/openkeeper/game/trigger/party/PartyTriggerLogicController.java b/src/toniarts/openkeeper/game/trigger/party/PartyTriggerLogicController.java index 1051cd7c6..096d95170 100644 --- a/src/toniarts/openkeeper/game/trigger/party/PartyTriggerLogicController.java +++ b/src/toniarts/openkeeper/game/trigger/party/PartyTriggerLogicController.java @@ -29,7 +29,7 @@ * * @author ArchDemon */ -public class PartyTriggerLogicController implements IGameLogicUpdatable { +public final class PartyTriggerLogicController implements IGameLogicUpdatable { private final SafeArrayList partyControllers = new SafeArrayList<>(PartyTriggerControl.class); diff --git a/src/toniarts/openkeeper/game/trigger/player/PlayerTriggerLogicController.java b/src/toniarts/openkeeper/game/trigger/player/PlayerTriggerLogicController.java index 8df4b71fd..2b1ebc10d 100644 --- a/src/toniarts/openkeeper/game/trigger/player/PlayerTriggerLogicController.java +++ b/src/toniarts/openkeeper/game/trigger/player/PlayerTriggerLogicController.java @@ -33,7 +33,7 @@ * * @author Toni Helenius */ -public class PlayerTriggerLogicController implements IGameLogicUpdatable { +public final class PlayerTriggerLogicController implements IGameLogicUpdatable { private final SafeArrayList playerTriggerControls = new SafeArrayList<>(PlayerTriggerControl.class); diff --git a/src/toniarts/openkeeper/gui/Cursor.java b/src/toniarts/openkeeper/gui/Cursor.java index 749140f35..f1b266367 100644 --- a/src/toniarts/openkeeper/gui/Cursor.java +++ b/src/toniarts/openkeeper/gui/Cursor.java @@ -28,7 +28,7 @@ import toniarts.openkeeper.tools.convert.AssetsConverter; import toniarts.openkeeper.utils.PathUtils; -public class Cursor extends JmeCursor { +public final class Cursor extends JmeCursor { public static final int DELAY = 30; diff --git a/src/toniarts/openkeeper/gui/nifty/CreatureCardControl.java b/src/toniarts/openkeeper/gui/nifty/CreatureCardControl.java index 417cd2f2a..34e9b0f59 100644 --- a/src/toniarts/openkeeper/gui/nifty/CreatureCardControl.java +++ b/src/toniarts/openkeeper/gui/nifty/CreatureCardControl.java @@ -28,7 +28,7 @@ * * @author archdemon */ -public class CreatureCardControl extends AbstractCreatureCardControl { +public final class CreatureCardControl extends AbstractCreatureCardControl { private short creatureId; private Nifty nifty; diff --git a/src/toniarts/openkeeper/gui/nifty/CustomTabControl.java b/src/toniarts/openkeeper/gui/nifty/CustomTabControl.java index bdae03c26..27b466420 100644 --- a/src/toniarts/openkeeper/gui/nifty/CustomTabControl.java +++ b/src/toniarts/openkeeper/gui/nifty/CustomTabControl.java @@ -32,7 +32,7 @@ * * @author ArchDemon */ -public class CustomTabControl extends AbstractController implements Tab, TabGroupMember { +public final class CustomTabControl extends AbstractController implements Tab, TabGroupMember { private static final Logger logger = System.getLogger(CustomTabControl.class.getName()); /** diff --git a/src/toniarts/openkeeper/gui/nifty/CustomTabGroupControl.java b/src/toniarts/openkeeper/gui/nifty/CustomTabGroupControl.java index 004c8a966..72231231c 100644 --- a/src/toniarts/openkeeper/gui/nifty/CustomTabGroupControl.java +++ b/src/toniarts/openkeeper/gui/nifty/CustomTabGroupControl.java @@ -41,7 +41,7 @@ * * @author ArchDemon */ -public class CustomTabGroupControl extends AbstractController implements TabGroup { +public final class CustomTabGroupControl extends AbstractController implements TabGroup { /** * This class is used for the event handlers that are needed for the tab diff --git a/src/toniarts/openkeeper/gui/nifty/NiftyUtils.java b/src/toniarts/openkeeper/gui/nifty/NiftyUtils.java index 1ee43a166..4c00ea6ec 100644 --- a/src/toniarts/openkeeper/gui/nifty/NiftyUtils.java +++ b/src/toniarts/openkeeper/gui/nifty/NiftyUtils.java @@ -32,7 +32,7 @@ * * @author Toni Helenius */ -public class NiftyUtils { +public final class NiftyUtils { private NiftyUtils() { } diff --git a/src/toniarts/openkeeper/gui/nifty/WorkerAmountControl.java b/src/toniarts/openkeeper/gui/nifty/WorkerAmountControl.java index e07ba53fb..7a9db4eb8 100644 --- a/src/toniarts/openkeeper/gui/nifty/WorkerAmountControl.java +++ b/src/toniarts/openkeeper/gui/nifty/WorkerAmountControl.java @@ -28,7 +28,7 @@ * * @author archdemon */ -public class WorkerAmountControl extends AbstractCreatureCardControl { +public final class WorkerAmountControl extends AbstractCreatureCardControl { public enum State { TOTAL(0), diff --git a/src/toniarts/openkeeper/gui/nifty/WorkerEqualControl.java b/src/toniarts/openkeeper/gui/nifty/WorkerEqualControl.java index 5727a721c..5408b09cf 100644 --- a/src/toniarts/openkeeper/gui/nifty/WorkerEqualControl.java +++ b/src/toniarts/openkeeper/gui/nifty/WorkerEqualControl.java @@ -29,7 +29,7 @@ * * @author archdemon */ -public class WorkerEqualControl extends AbstractController { +public final class WorkerEqualControl extends AbstractController { private Nifty nifty; private Element element; diff --git a/src/toniarts/openkeeper/gui/nifty/autoscrolltext/AutoScrollTextControl.java b/src/toniarts/openkeeper/gui/nifty/autoscrolltext/AutoScrollTextControl.java index 2de751825..0c435ee49 100644 --- a/src/toniarts/openkeeper/gui/nifty/autoscrolltext/AutoScrollTextControl.java +++ b/src/toniarts/openkeeper/gui/nifty/autoscrolltext/AutoScrollTextControl.java @@ -38,7 +38,7 @@ * * @author Toni Helenius */ -public class AutoScrollTextControl extends AbstractController implements Label { +public final class AutoScrollTextControl extends AbstractController implements Label { private static final Logger logger = System.getLogger(AutoScrollTextControl.class.getName()); diff --git a/src/toniarts/openkeeper/gui/nifty/chat/ChatBoxViewConverter.java b/src/toniarts/openkeeper/gui/nifty/chat/ChatBoxViewConverter.java index 0fcbb15a5..e72de06f1 100644 --- a/src/toniarts/openkeeper/gui/nifty/chat/ChatBoxViewConverter.java +++ b/src/toniarts/openkeeper/gui/nifty/chat/ChatBoxViewConverter.java @@ -30,7 +30,7 @@ * @author Mark * @version 0.1 */ -public class ChatBoxViewConverter implements ListBoxViewConverter { +public final class ChatBoxViewConverter implements ListBoxViewConverter { private static final Logger logger = System.getLogger(ChatBoxViewConverter.class.getName()); diff --git a/src/toniarts/openkeeper/gui/nifty/chat/ChatBuilder.java b/src/toniarts/openkeeper/gui/nifty/chat/ChatBuilder.java index 1ac14552c..65ab62d9f 100644 --- a/src/toniarts/openkeeper/gui/nifty/chat/ChatBuilder.java +++ b/src/toniarts/openkeeper/gui/nifty/chat/ChatBuilder.java @@ -23,7 +23,7 @@ /** * @author ractoc */ -public class ChatBuilder extends ControlBuilder { +public final class ChatBuilder extends ControlBuilder { public ChatBuilder(final int lines) { super("nifty-chat"); diff --git a/src/toniarts/openkeeper/gui/nifty/chat/ChatControl.java b/src/toniarts/openkeeper/gui/nifty/chat/ChatControl.java index 386cbd467..e499bb2ab 100644 --- a/src/toniarts/openkeeper/gui/nifty/chat/ChatControl.java +++ b/src/toniarts/openkeeper/gui/nifty/chat/ChatControl.java @@ -41,7 +41,7 @@ * @author Mark * @version 0.1 */ -public class ChatControl extends AbstractController implements KeyInputHandler, Chat { +public final class ChatControl extends AbstractController implements KeyInputHandler, Chat { private static final Logger logger = System.getLogger(ChatControl.class.getName()); diff --git a/src/toniarts/openkeeper/gui/nifty/chat/event/ChatTextSendEvent.java b/src/toniarts/openkeeper/gui/nifty/chat/event/ChatTextSendEvent.java index 5e77a0967..9decdc51c 100644 --- a/src/toniarts/openkeeper/gui/nifty/chat/event/ChatTextSendEvent.java +++ b/src/toniarts/openkeeper/gui/nifty/chat/event/ChatTextSendEvent.java @@ -22,7 +22,7 @@ /** * @author ractoc */ -public class ChatTextSendEvent implements NiftyEvent { +public final class ChatTextSendEvent implements NiftyEvent { private final Chat chatControl; private final String text; diff --git a/src/toniarts/openkeeper/gui/nifty/effect/HorizontalAutoScroll.java b/src/toniarts/openkeeper/gui/nifty/effect/HorizontalAutoScroll.java index 578b46db7..e9eb1b7c6 100644 --- a/src/toniarts/openkeeper/gui/nifty/effect/HorizontalAutoScroll.java +++ b/src/toniarts/openkeeper/gui/nifty/effect/HorizontalAutoScroll.java @@ -30,7 +30,7 @@ * * @author Toni Helenius */ -public class HorizontalAutoScroll implements EffectImpl { +public final class HorizontalAutoScroll implements EffectImpl { private static final float EFFECT_SPEED = 0.085f; private float end = 100; diff --git a/src/toniarts/openkeeper/gui/nifty/effect/SimpleHintEx.java b/src/toniarts/openkeeper/gui/nifty/effect/SimpleHintEx.java index 419060ef5..a7ea2b688 100644 --- a/src/toniarts/openkeeper/gui/nifty/effect/SimpleHintEx.java +++ b/src/toniarts/openkeeper/gui/nifty/effect/SimpleHintEx.java @@ -37,7 +37,7 @@ * * @author Toni Helenius */ -public class SimpleHintEx implements EffectImpl { +public final class SimpleHintEx implements EffectImpl { /** * target element. diff --git a/src/toniarts/openkeeper/gui/nifty/flowlayout/CustomScroll.java b/src/toniarts/openkeeper/gui/nifty/flowlayout/CustomScroll.java index d64b06325..5aa1dee8d 100644 --- a/src/toniarts/openkeeper/gui/nifty/flowlayout/CustomScroll.java +++ b/src/toniarts/openkeeper/gui/nifty/flowlayout/CustomScroll.java @@ -40,7 +40,7 @@ * * @author ArchDemon */ -public class CustomScroll extends AbstractController { +public final class CustomScroll extends AbstractController { private Nifty nifty; private Screen screen; diff --git a/src/toniarts/openkeeper/gui/nifty/flowlayout/FlowLayoutControl.java b/src/toniarts/openkeeper/gui/nifty/flowlayout/FlowLayoutControl.java index 589e46de1..553200cc6 100644 --- a/src/toniarts/openkeeper/gui/nifty/flowlayout/FlowLayoutControl.java +++ b/src/toniarts/openkeeper/gui/nifty/flowlayout/FlowLayoutControl.java @@ -31,7 +31,7 @@ * @see CustomScroll * @author ArchDemon */ -public class FlowLayoutControl extends AbstractController { +public final class FlowLayoutControl extends AbstractController { private Nifty nifty; private Screen screen; diff --git a/src/toniarts/openkeeper/gui/nifty/guiicon/GuiIconBuilder.java b/src/toniarts/openkeeper/gui/nifty/guiicon/GuiIconBuilder.java index faf092590..9edf74d48 100644 --- a/src/toniarts/openkeeper/gui/nifty/guiicon/GuiIconBuilder.java +++ b/src/toniarts/openkeeper/gui/nifty/guiicon/GuiIconBuilder.java @@ -24,7 +24,7 @@ * @see GuiIconControl * @author Toni Helenius */ -public class GuiIconBuilder extends ControlBuilder { +public final class GuiIconBuilder extends ControlBuilder { /** * Build a new GUI icon diff --git a/src/toniarts/openkeeper/gui/nifty/guiicon/GuiIconControl.java b/src/toniarts/openkeeper/gui/nifty/guiicon/GuiIconControl.java index 770d66d8f..54d68f003 100644 --- a/src/toniarts/openkeeper/gui/nifty/guiicon/GuiIconControl.java +++ b/src/toniarts/openkeeper/gui/nifty/guiicon/GuiIconControl.java @@ -29,7 +29,7 @@ * * @author Toni Helenius */ -public class GuiIconControl extends AbstractController { +public final class GuiIconControl extends AbstractController { private Nifty nifty; private Screen screen; diff --git a/src/toniarts/openkeeper/gui/nifty/icontext/IconTextControl.java b/src/toniarts/openkeeper/gui/nifty/icontext/IconTextControl.java index 7a0b333bc..de37b64f0 100644 --- a/src/toniarts/openkeeper/gui/nifty/icontext/IconTextControl.java +++ b/src/toniarts/openkeeper/gui/nifty/icontext/IconTextControl.java @@ -30,7 +30,7 @@ * * @author Toni Helenius */ -public class IconTextControl implements Controller { +public final class IconTextControl implements Controller { private Nifty nifty; private Screen screen; diff --git a/src/toniarts/openkeeper/gui/nifty/jme/ProgressIndicatorPicture.java b/src/toniarts/openkeeper/gui/nifty/jme/ProgressIndicatorPicture.java index 051e9b4ba..e26876b5a 100644 --- a/src/toniarts/openkeeper/gui/nifty/jme/ProgressIndicatorPicture.java +++ b/src/toniarts/openkeeper/gui/nifty/jme/ProgressIndicatorPicture.java @@ -29,7 +29,7 @@ * * @author Toni Helenius */ -public class ProgressIndicatorPicture extends Picture { +public final class ProgressIndicatorPicture extends Picture { public ProgressIndicatorPicture(String name) { super(name); diff --git a/src/toniarts/openkeeper/gui/nifty/jme/ResearchEffectControl.java b/src/toniarts/openkeeper/gui/nifty/jme/ResearchEffectControl.java index abbd77ead..9cdf8c64c 100644 --- a/src/toniarts/openkeeper/gui/nifty/jme/ResearchEffectControl.java +++ b/src/toniarts/openkeeper/gui/nifty/jme/ResearchEffectControl.java @@ -31,7 +31,7 @@ * * @author Toni Helenius */ -public class ResearchEffectControl extends AbstractNiftyJmeControl { +public final class ResearchEffectControl extends AbstractNiftyJmeControl { public static final String CONTROL_NAME = "researchEffect"; diff --git a/src/toniarts/openkeeper/gui/nifty/jme/SimpleJmeControl.java b/src/toniarts/openkeeper/gui/nifty/jme/SimpleJmeControl.java index 2f00f0d23..3cad1b5a3 100644 --- a/src/toniarts/openkeeper/gui/nifty/jme/SimpleJmeControl.java +++ b/src/toniarts/openkeeper/gui/nifty/jme/SimpleJmeControl.java @@ -29,7 +29,7 @@ * @author Toni Helenius * @param the type of Nifty control */ -public class SimpleJmeControl extends AbstractControl { +public final class SimpleJmeControl extends AbstractControl { private final T jmeControl; diff --git a/src/toniarts/openkeeper/gui/nifty/message/MessageBoxControl.java b/src/toniarts/openkeeper/gui/nifty/message/MessageBoxControl.java index 3d5ab10b7..bf89bc7c1 100644 --- a/src/toniarts/openkeeper/gui/nifty/message/MessageBoxControl.java +++ b/src/toniarts/openkeeper/gui/nifty/message/MessageBoxControl.java @@ -30,7 +30,7 @@ * * @author ufdada */ -public class MessageBoxControl extends AbstractController { +public final class MessageBoxControl extends AbstractController { private Nifty nifty; private Screen hud; diff --git a/src/toniarts/openkeeper/gui/nifty/message/SystemMessageControl.java b/src/toniarts/openkeeper/gui/nifty/message/SystemMessageControl.java index 123082e7c..d61badbe1 100644 --- a/src/toniarts/openkeeper/gui/nifty/message/SystemMessageControl.java +++ b/src/toniarts/openkeeper/gui/nifty/message/SystemMessageControl.java @@ -29,7 +29,7 @@ * * @author ufdada */ -public class SystemMessageControl extends AbstractController { +public final class SystemMessageControl extends AbstractController { private Nifty nifty; private Element element; diff --git a/src/toniarts/openkeeper/gui/nifty/table/TableControl.java b/src/toniarts/openkeeper/gui/nifty/table/TableControl.java index 71da53e70..93c3fade7 100644 --- a/src/toniarts/openkeeper/gui/nifty/table/TableControl.java +++ b/src/toniarts/openkeeper/gui/nifty/table/TableControl.java @@ -44,7 +44,7 @@ * @author Toni Helenius * @param The table row class */ -public class TableControl extends ListBoxControl { +public final class TableControl extends ListBoxControl { private static final Logger logger = System.getLogger(TableControl.class.getName()); diff --git a/src/toniarts/openkeeper/gui/nifty/table/player/PlayerTableRow.java b/src/toniarts/openkeeper/gui/nifty/table/player/PlayerTableRow.java index d16a48cd3..bb217a03a 100644 --- a/src/toniarts/openkeeper/gui/nifty/table/player/PlayerTableRow.java +++ b/src/toniarts/openkeeper/gui/nifty/table/player/PlayerTableRow.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class PlayerTableRow extends TableRow { +public final class PlayerTableRow extends TableRow { private final ClientInfo clientInfo; diff --git a/src/toniarts/openkeeper/gui/nifty/table/player/PlayerTableRowViewConverter.java b/src/toniarts/openkeeper/gui/nifty/table/player/PlayerTableRowViewConverter.java index c9f157710..261674962 100644 --- a/src/toniarts/openkeeper/gui/nifty/table/player/PlayerTableRowViewConverter.java +++ b/src/toniarts/openkeeper/gui/nifty/table/player/PlayerTableRowViewConverter.java @@ -27,7 +27,7 @@ * * @author Toni Helenius */ -public class PlayerTableRowViewConverter extends TableRowViewConverter { +public final class PlayerTableRowViewConverter extends TableRowViewConverter { @Override protected void displayString(Element element, PlayerTableRow item, String itemData) { diff --git a/src/toniarts/openkeeper/setup/DKConverter.java b/src/toniarts/openkeeper/setup/DKConverter.java index ac6cf0b53..ed89feb69 100644 --- a/src/toniarts/openkeeper/setup/DKConverter.java +++ b/src/toniarts/openkeeper/setup/DKConverter.java @@ -276,7 +276,7 @@ private String createTotalProgressStatusText() { /** * A thread that handles the conversion process */ - private static class Converter extends Thread { + private static final class Converter extends Thread { private final String dungeonKeeperFolder; private final AssetManager assetManager; @@ -329,7 +329,7 @@ public void onError(Exception ex, AssetsConverter.ConvertProcess process) { } } - private static class Progress { + private static final class Progress { private Integer current; private Integer max; diff --git a/src/toniarts/openkeeper/tools/convert/AssetsConverter.java b/src/toniarts/openkeeper/tools/convert/AssetsConverter.java index f0407e8a8..bbe50349d 100644 --- a/src/toniarts/openkeeper/tools/convert/AssetsConverter.java +++ b/src/toniarts/openkeeper/tools/convert/AssetsConverter.java @@ -60,7 +60,7 @@ public abstract class AssetsConverter implements IConversionTaskUpdate { public enum ConvertProcess { TEXTURES(7, new ConvertProcess[]{}), - MODELS(10, new ConvertProcess[]{TEXTURES}), + MODELS(11, new ConvertProcess[]{TEXTURES}), MOUSE_CURSORS(4, new ConvertProcess[]{}), MUSIC_AND_SOUNDS(4, new ConvertProcess[]{}), INTERFACE_TEXTS(3, new ConvertProcess[]{}), diff --git a/src/toniarts/openkeeper/tools/convert/BankMapLoader.java b/src/toniarts/openkeeper/tools/convert/BankMapLoader.java index d520f79e3..ad7458cf3 100644 --- a/src/toniarts/openkeeper/tools/convert/BankMapLoader.java +++ b/src/toniarts/openkeeper/tools/convert/BankMapLoader.java @@ -33,7 +33,7 @@ * * @author Toni Helenius */ -public class BankMapLoader { +public final class BankMapLoader { private static String dkIIFolder; diff --git a/src/toniarts/openkeeper/tools/convert/Bf4Extractor.java b/src/toniarts/openkeeper/tools/convert/Bf4Extractor.java index d16c1218c..51186d779 100644 --- a/src/toniarts/openkeeper/tools/convert/Bf4Extractor.java +++ b/src/toniarts/openkeeper/tools/convert/Bf4Extractor.java @@ -36,7 +36,7 @@ * * @author Toni Helenius */ -public class Bf4Extractor { +public final class Bf4Extractor { private static String dkIIFolder; diff --git a/src/toniarts/openkeeper/tools/convert/BitReader.java b/src/toniarts/openkeeper/tools/convert/BitReader.java index f492b3d73..d1ec03436 100644 --- a/src/toniarts/openkeeper/tools/convert/BitReader.java +++ b/src/toniarts/openkeeper/tools/convert/BitReader.java @@ -12,7 +12,7 @@ * @author The JCodec project * */ -public class BitReader { +public final class BitReader { protected int deficit; protected int curInt; diff --git a/src/toniarts/openkeeper/tools/convert/BufferedResourceReader.java b/src/toniarts/openkeeper/tools/convert/BufferedResourceReader.java index 3d0b17e71..915ade3db 100644 --- a/src/toniarts/openkeeper/tools/convert/BufferedResourceReader.java +++ b/src/toniarts/openkeeper/tools/convert/BufferedResourceReader.java @@ -37,7 +37,7 @@ * * @author Toni Helenius */ -public class BufferedResourceReader implements IResourceReader { +public final class BufferedResourceReader implements IResourceReader { private static final Logger logger = System.getLogger(BufferedResourceReader.class.getName()); diff --git a/src/toniarts/openkeeper/tools/convert/ByteArrayResourceReader.java b/src/toniarts/openkeeper/tools/convert/ByteArrayResourceReader.java index 19c8e9b0a..6cc42cc98 100644 --- a/src/toniarts/openkeeper/tools/convert/ByteArrayResourceReader.java +++ b/src/toniarts/openkeeper/tools/convert/ByteArrayResourceReader.java @@ -27,7 +27,7 @@ * * @author Toni Helenius */ -public class ByteArrayResourceReader implements ISeekableResourceReader { +public final class ByteArrayResourceReader implements ISeekableResourceReader { private final ByteBuffer buffer; diff --git a/src/toniarts/openkeeper/tools/convert/ConversionUtils.java b/src/toniarts/openkeeper/tools/convert/ConversionUtils.java index fd5fe877d..db8e211a0 100644 --- a/src/toniarts/openkeeper/tools/convert/ConversionUtils.java +++ b/src/toniarts/openkeeper/tools/convert/ConversionUtils.java @@ -31,7 +31,7 @@ * * @author Toni Helenius */ -public class ConversionUtils { +public final class ConversionUtils { private static final Logger logger = System.getLogger(ConversionUtils.class.getName()); diff --git a/src/toniarts/openkeeper/tools/convert/FileResourceReader.java b/src/toniarts/openkeeper/tools/convert/FileResourceReader.java index 4d838b758..280b15dbf 100644 --- a/src/toniarts/openkeeper/tools/convert/FileResourceReader.java +++ b/src/toniarts/openkeeper/tools/convert/FileResourceReader.java @@ -35,7 +35,7 @@ * * @author archdemon */ -public class FileResourceReader implements ISeekableResourceReader { +public final class FileResourceReader implements ISeekableResourceReader { private static final Logger logger = System.getLogger(FileResourceReader.class.getName()); diff --git a/src/toniarts/openkeeper/tools/convert/FontCreator.java b/src/toniarts/openkeeper/tools/convert/FontCreator.java index 8507c9aba..c29b210a2 100644 --- a/src/toniarts/openkeeper/tools/convert/FontCreator.java +++ b/src/toniarts/openkeeper/tools/convert/FontCreator.java @@ -35,7 +35,7 @@ * * @author Toni Helenius */ -public class FontCreator { +public final class FontCreator { private static final int MAX_SIZE = 2048; diff --git a/src/toniarts/openkeeper/tools/convert/KmfAssetInfo.java b/src/toniarts/openkeeper/tools/convert/KmfAssetInfo.java index 42711364e..1627a8493 100644 --- a/src/toniarts/openkeeper/tools/convert/KmfAssetInfo.java +++ b/src/toniarts/openkeeper/tools/convert/KmfAssetInfo.java @@ -28,7 +28,7 @@ * * @author Toni Helenius */ -public class KmfAssetInfo extends AssetInfo { +public final class KmfAssetInfo extends AssetInfo { private final KmfFile kmfFile; private final boolean generateMaterialFile; diff --git a/src/toniarts/openkeeper/tools/convert/KmfModelLoader.java b/src/toniarts/openkeeper/tools/convert/KmfModelLoader.java index 9024d54f7..8e652e01e 100644 --- a/src/toniarts/openkeeper/tools/convert/KmfModelLoader.java +++ b/src/toniarts/openkeeper/tools/convert/KmfModelLoader.java @@ -25,6 +25,7 @@ import com.jme3.asset.TextureKey; import com.jme3.material.Material; import com.jme3.material.RenderState; +import com.jme3.material.RenderState.FaceCullMode; import com.jme3.material.plugin.export.material.J3MExporter; import com.jme3.math.ColorRGBA; import com.jme3.math.Vector2f; @@ -36,7 +37,6 @@ import com.jme3.scene.Node; import com.jme3.scene.VertexBuffer; import com.jme3.scene.VertexBuffer.Type; -import com.jme3.scene.control.LodControl; import com.jme3.texture.Texture; import com.jme3.util.BufferUtils; import com.jme3.util.mikktspace.MikktspaceTangentGenerator; @@ -61,14 +61,12 @@ import toniarts.openkeeper.animation.PoseTrack; import toniarts.openkeeper.animation.PoseTrack.PoseFrame; import toniarts.openkeeper.tools.convert.kmf.Anim; -import toniarts.openkeeper.tools.convert.kmf.AnimSprite; -import toniarts.openkeeper.tools.convert.kmf.AnimVertex; import toniarts.openkeeper.tools.convert.kmf.Grop; import toniarts.openkeeper.tools.convert.kmf.KmfFile; -import toniarts.openkeeper.tools.convert.kmf.MeshSprite; import toniarts.openkeeper.tools.convert.kmf.MeshVertex; import toniarts.openkeeper.tools.convert.kmf.Triangle; import toniarts.openkeeper.tools.convert.kmf.Uv; +import toniarts.openkeeper.tools.convert.kmf.Material.MaterialFlag; import toniarts.openkeeper.tools.modelviewer.ModelViewer; import toniarts.openkeeper.utils.AssetUtils; import toniarts.openkeeper.utils.PathUtils; @@ -134,25 +132,19 @@ public Object load(AssetInfo assetInfo) throws IOException { kmfFile = new KmfFile(assetInfo.openStream()); } - // Create a root - Node root = new Node("Root"); - + // root node is needed cause AnimationLoader adds start and end anims + var root = new Node("Root"); if (kmfFile.getType() == KmfFile.Type.MESH || kmfFile.getType() == KmfFile.Type.ANIM) { // Get the materials first Map> materials = getMaterials(kmfFile, generateMaterialFile, assetInfo); - // - // The meshes - // - for (toniarts.openkeeper.tools.convert.kmf.Mesh sourceMesh : kmfFile.getMeshes()) { - handleMesh(sourceMesh, materials, root); - } - if (kmfFile.getType() == KmfFile.Type.ANIM) { - handleAnim(kmfFile.getAnim(), materials, root); - } + if (kmfFile.getType() == KmfFile.Type.MESH) + root.attachChild(handleMesh(kmfFile.getMesh(), materials)); + else if (kmfFile.getType() == KmfFile.Type.ANIM) + root.attachChild(handleAnim(kmfFile.getAnim(), materials)); } else if (kmfFile.getType() == KmfFile.Type.GROP) { - createGroup(root, kmfFile); + root.attachChild(createGroup(kmfFile)); } return root; @@ -164,15 +156,18 @@ public Object load(AssetInfo assetInfo) throws IOException { * @param root root node * @param kmfFile the KMF file */ - private void createGroup(Node root, KmfFile kmfFile) { + private Node createGroup(KmfFile kmfFile) { + + var groupNode = new Node("MeshGroup"); //Go trough the models and add them for (Grop grop : kmfFile.getGrops()) { String key = AssetsConverter.MODELS_FOLDER + File.separator + grop.getName() + ".j3o"; AssetLinkNode modelLink = new AssetLinkNode(key, new ModelKey(key)); modelLink.setLocalTranslation(new Vector3f(grop.getPos().x, -grop.getPos().z, grop.getPos().y)); - root.attachChild(modelLink); + groupNode.attachChild(modelLink); } + return groupNode; } /** @@ -182,24 +177,26 @@ private void createGroup(Node root, KmfFile kmfFile) { * @param materials materials map * @param root the root node */ - private void handleMesh(toniarts.openkeeper.tools.convert.kmf.Mesh sourceMesh, Map> materials, Node root) { + private Node handleMesh(toniarts.openkeeper.tools.convert.kmf.Mesh sourceMesh, Map> materials) { - //Source mesh is node - Node node = new Node(sourceMesh.getName()); + var node = new Node(sourceMesh.getName()); node.setLocalTranslation(new Vector3f(sourceMesh.getPos().x, -sourceMesh.getPos().z, sourceMesh.getPos().y)); int index = 0; - for (MeshSprite meshSprite : sourceMesh.getSprites()) { + for (var subMesh : sourceMesh.getSprites()) { + + if (subMesh.getTriangles().get(0).isEmpty()) + continue; // FIXME: LODs are broken so we only take L0 //Each sprite represents a geometry (+ mesh) since they each have their own material Mesh mesh = new Mesh(); //Vertices, UV (texture coordinates), normals - Vector3f[] vertices = new Vector3f[meshSprite.getVertices().size()]; - Vector2f[] texCoord = new Vector2f[meshSprite.getVertices().size()]; - Vector3f[] normals = new Vector3f[meshSprite.getVertices().size()]; + var vertices = new Vector3f[subMesh.getVertices().size()]; + var texCoord = new Vector2f[subMesh.getVertices().size()]; + var normals = new Vector3f[subMesh.getVertices().size()]; int i = 0; - for (MeshVertex meshVertex : meshSprite.getVertices()) { + for (MeshVertex meshVertex : subMesh.getVertices()) { //Vertice javax.vecmath.Vector3f v = sourceMesh.getGeometries().get(meshVertex.getGeomIndex()); @@ -216,27 +213,26 @@ private void handleMesh(toniarts.openkeeper.tools.convert.kmf.Mesh sourceMesh, M i++; } - // Triangles, we have LODs here - VertexBuffer[] lodLevels = createIndices(meshSprite.getTriangles()); + // Create LOD levels + // FIXME: LODs are broken so we only take L0 + var lodLevels = createIndices(subMesh.getTriangles().subList(0, 1)); + mesh.setBuffer(lodLevels[0]); + // mesh.setLodLevels(lodLevels); // needs to include L0! - //Set the buffers mesh.setBuffer(Type.Position, 3, BufferUtils.createFloatBuffer(vertices)); - mesh.setBuffer(lodLevels[0]); - mesh.setLodLevels(lodLevels); mesh.setBuffer(Type.TexCoord, 2, BufferUtils.createFloatBuffer(texCoord)); mesh.setBuffer(Type.Normal, 3, BufferUtils.createFloatBuffer(normals)); mesh.setStatic(); // Create geometry - Geometry geom = createGeometry(index, sourceMesh.getName(), mesh, materials, meshSprite.getMaterialIndex()); + Geometry geom = createGeometry(index, sourceMesh.getName(), mesh, materials, subMesh.getMaterialIndex()); //Attach the geometry to the node node.attachChild(geom); index++; } - //Attach the node to the root - root.attachChild(node); + return node; } /** @@ -246,10 +242,9 @@ private void handleMesh(toniarts.openkeeper.tools.convert.kmf.Mesh sourceMesh, M * @param materials materials map * @param root the root node */ - private void handleAnim(Anim anim, Map> materials, Node root) { + private Node handleAnim(Anim anim, Map> materials) { - //Source mesh is node - Node node = new Node(anim.getName()); + var node = new Node(anim.getName()); node.setUserData(FRAME_FACTOR_FUNCTION, anim.getFrameFactorFunction().name()); node.setLocalTranslation(new Vector3f(anim.getPos().x, -anim.getPos().z, anim.getPos().y)); @@ -263,7 +258,10 @@ private void handleAnim(Anim anim, Map> materials, Node } int subMeshIndex = 0; - for (AnimSprite animSprite : anim.getSprites()) { + for (var subMesh : anim.getSprites()) { + + if (subMesh.getTriangles().get(0).isEmpty()) + continue; // FIXME: LODs are broken so we only take L0 // Animation // Poses for each key frame (aproximate that every 1/3 is a key frame, pessimistic) @@ -283,12 +281,12 @@ private void handleAnim(Anim anim, Map> materials, Node //Each sprite represents a geometry (+ mesh) since they each have their own material Mesh mesh = new Mesh(); - //Vertices, UV (texture coordinates), normals - Vector3f[] vertices = new Vector3f[animSprite.getVertices().size()]; - Vector2f[] texCoord = new Vector2f[animSprite.getVertices().size()]; - Vector3f[] normals = new Vector3f[animSprite.getVertices().size()]; + // Base Pose vertices, uvs, normals + var vertices = new Vector3f[subMesh.getVertices().size()]; + var texCoord = new Vector2f[subMesh.getVertices().size()]; + var normals = new Vector3f[subMesh.getVertices().size()]; int i = 0; - for (AnimVertex animVertex : animSprite.getVertices()) { + for (var animVertex : subMesh.getVertices()) { // Bind Pose javax.vecmath.Vector3f baseCoord = null; @@ -429,21 +427,24 @@ private void handleAnim(Anim anim, Map> materials, Node poseFrames.add(f); } - // Create lod levels - VertexBuffer[] lodLevels = createIndices(animSprite.getTriangles()); - - //Set the buffers - mesh.setBuffer(Type.Position, 3, BufferUtils.createFloatBuffer(vertices)); - mesh.setBuffer(Type.BindPosePosition, 3, BufferUtils.createFloatBuffer(vertices)); + // Create LOD levels + // FIXME: LODs are broken so we only take L0 + var lodLevels = createIndices(subMesh.getTriangles().subList(0, 1)); mesh.setBuffer(lodLevels[0]); - mesh.setLodLevels(lodLevels); + //mesh.setLodLevels(lodLevels); // needs to include L0! + mesh.setBuffer(Type.TexCoord, 2, BufferUtils.createFloatBuffer(texCoord)); + // used by PoseTrack + mesh.setBuffer(Type.BindPosePosition, 3, BufferUtils.createFloatBuffer(vertices)); + // no BindPoseNormal! not animated in KMF mesh.setBuffer(Type.Normal, 3, BufferUtils.createFloatBuffer(normals)); - mesh.setBuffer(Type.BindPoseNormal, 3, BufferUtils.createFloatBuffer(normals)); - mesh.setStreamed(); + + // only position buffer is dynamic + mesh.setStatic(); + mesh.setBuffer(Type.Position, 3, BufferUtils.createFloatBuffer(vertices)); // Create geometry - Geometry geom = createGeometry(subMeshIndex, anim.getName(), mesh, materials, animSprite.getMaterialIndex()); + Geometry geom = createGeometry(subMeshIndex, anim.getName(), mesh, materials, subMesh.getMaterialIndex()); // Create a pose track for this mesh var poseTrack = new PoseTrack(geom, times, poseFrames.toArray(new PoseFrame[0])); @@ -462,8 +463,7 @@ private void handleAnim(Anim anim, Map> materials, Node node.addControl(composer); // we could also do setCurrentAction here but it wouldn't get serialized - //Attach the node to the root - root.attachChild(node); + return node; } private VertexBuffer[] createIndices(final List> trianglesList) { @@ -520,9 +520,9 @@ private Geometry createGeometry(int subMeshIndex, String meshName, Mesh mesh, Ma //Create geometry var geom = new Geometry(meshName + '_' + subMeshIndex, mesh); - //Add LOD control - LodControl lc = new LodControl(); - geom.addControl(lc); + // LODs are broken + //var lc = new LodControl(); + //geom.addControl(lc); // Material, set the first geom.setMaterial(materials.get(materialIndex).get(0)); @@ -571,9 +571,24 @@ private Geometry createGeometry(int subMeshIndex, String meshName, Mesh mesh, Ma */ private void setMaterialFlags(Material material, toniarts.openkeeper.tools.convert.kmf.Material kmfMaterial) { + // Read the flags & stuff + if (kmfMaterial.getFlag().contains(MaterialFlag.HAS_ALPHA)) { + material.setTransparent(true); + material.setFloat("AlphaDiscardThreshold", 0.1f); + material.getAdditionalRenderState().setBlendMode(RenderState.BlendMode.Alpha); + } + if (kmfMaterial.getFlag().contains(MaterialFlag.ALPHA_ADDITIVE)) { + material.setTransparent(true); + material.setFloat("AlphaDiscardThreshold", 0.1f); + material.getAdditionalRenderState().setDepthWrite(false); + material.getAdditionalRenderState().setBlendMode(RenderState.BlendMode.AlphaAdditive); + } + + if (kmfMaterial.getFlag().contains(MaterialFlag.DOUBLE_SIDED)) + material.getAdditionalRenderState().setFaceCullMode(FaceCullMode.Off); + // Shadows thing is just a guess, like, they seem to be small light sources - material.setReceivesShadows(!kmfMaterial.getFlag().contains(toniarts.openkeeper.tools.convert.kmf.Material.MaterialFlag.ALPHA_ADDITIVE)); - material.setTransparent(kmfMaterial.getFlag().contains(toniarts.openkeeper.tools.convert.kmf.Material.MaterialFlag.HAS_ALPHA) || kmfMaterial.getFlag().contains(toniarts.openkeeper.tools.convert.kmf.Material.MaterialFlag.ALPHA_ADDITIVE)); + material.setReceivesShadows(!kmfMaterial.getFlag().contains(MaterialFlag.ALPHA_ADDITIVE)); } /** @@ -663,22 +678,11 @@ private Map> getMaterials(KmfFile kmfFile, boolean gener material.setTexture("DiffuseMap", tex); material.setColor("Specular", ColorRGBA.Orange); // Dungeons are lit only with fire...? Experimental material.setColor("Diffuse", ColorRGBA.White); // Experimental - material.setFloat("Shininess", 128 * mat.getBrightness()); // Use the brightness as shininess... Experimental + material.setFloat("Shininess", mat.getShininess()); // Set some flags setMaterialFlags(material, mat); - // Read the flags & stuff - if (mat.getFlag().contains(toniarts.openkeeper.tools.convert.kmf.Material.MaterialFlag.HAS_ALPHA)) { - material.setFloat("AlphaDiscardThreshold", 0.1f); - material.getAdditionalRenderState().setBlendMode(RenderState.BlendMode.Alpha); - } - if (mat.getFlag().contains(toniarts.openkeeper.tools.convert.kmf.Material.MaterialFlag.ALPHA_ADDITIVE)) { - material.setFloat("AlphaDiscardThreshold", 0.1f); - material.getAdditionalRenderState().setDepthWrite(false); - material.getAdditionalRenderState().setBlendMode(RenderState.BlendMode.AlphaAdditive); - } - // Add material to list and create the possible alternatives List materialList = new ArrayList<>(mat.getTextures().size()); materialList.add(material); @@ -753,7 +757,7 @@ private Texture loadTexture(String texture, AssetInfo assetInfo) { return tex; } - private static class TextureSorter implements Comparator { + private static final class TextureSorter implements Comparator { private static final Pattern PATTERN = Pattern.compile("\\D+(?\\d+)\\.png"); diff --git a/src/toniarts/openkeeper/tools/convert/MapLoader.java b/src/toniarts/openkeeper/tools/convert/MapLoader.java index f9abab9a5..78841eaf5 100644 --- a/src/toniarts/openkeeper/tools/convert/MapLoader.java +++ b/src/toniarts/openkeeper/tools/convert/MapLoader.java @@ -26,7 +26,7 @@ * * @author Toni Helenius */ -public class MapLoader { +public final class MapLoader { private static String dkIIFolder; diff --git a/src/toniarts/openkeeper/tools/convert/ResourceChunkReader.java b/src/toniarts/openkeeper/tools/convert/ResourceChunkReader.java index c75e9e714..2ac62605b 100644 --- a/src/toniarts/openkeeper/tools/convert/ResourceChunkReader.java +++ b/src/toniarts/openkeeper/tools/convert/ResourceChunkReader.java @@ -33,7 +33,7 @@ * * @author Toni Helenius */ -public class ResourceChunkReader implements IResourceChunkReader { +public final class ResourceChunkReader implements IResourceChunkReader { private static final Logger logger = System.getLogger(ResourceChunkReader.class.getName()); diff --git a/src/toniarts/openkeeper/tools/convert/SoundExtractor.java b/src/toniarts/openkeeper/tools/convert/SoundExtractor.java index 10405586a..a7a443cd3 100644 --- a/src/toniarts/openkeeper/tools/convert/SoundExtractor.java +++ b/src/toniarts/openkeeper/tools/convert/SoundExtractor.java @@ -36,7 +36,7 @@ * * @author Toni Helenius */ -public class SoundExtractor { +public final class SoundExtractor { private static String dkIIFolder; diff --git a/src/toniarts/openkeeper/tools/convert/TextureExtractor.java b/src/toniarts/openkeeper/tools/convert/TextureExtractor.java index c226b0cac..db76ef9ac 100644 --- a/src/toniarts/openkeeper/tools/convert/TextureExtractor.java +++ b/src/toniarts/openkeeper/tools/convert/TextureExtractor.java @@ -26,7 +26,7 @@ * * @author Toni Helenius */ -public class TextureExtractor { +public final class TextureExtractor { private static String dkIIFolder; diff --git a/src/toniarts/openkeeper/tools/convert/WadExtractor.java b/src/toniarts/openkeeper/tools/convert/WadExtractor.java index 902261392..4e192c4cf 100644 --- a/src/toniarts/openkeeper/tools/convert/WadExtractor.java +++ b/src/toniarts/openkeeper/tools/convert/WadExtractor.java @@ -27,7 +27,7 @@ * * @author Toni Helenius */ -public class WadExtractor { +public final class WadExtractor { private static String dkIIFolder; diff --git a/src/toniarts/openkeeper/tools/convert/bf4/Bf4Entry.java b/src/toniarts/openkeeper/tools/convert/bf4/Bf4Entry.java index b8313c01b..473bbc56a 100644 --- a/src/toniarts/openkeeper/tools/convert/bf4/Bf4Entry.java +++ b/src/toniarts/openkeeper/tools/convert/bf4/Bf4Entry.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class Bf4Entry implements Comparable { +public final class Bf4Entry implements Comparable { /** * Describes the encoding methods used in the font image diff --git a/src/toniarts/openkeeper/tools/convert/bf4/Bf4File.java b/src/toniarts/openkeeper/tools/convert/bf4/Bf4File.java index 72d953661..18c480a24 100644 --- a/src/toniarts/openkeeper/tools/convert/bf4/Bf4File.java +++ b/src/toniarts/openkeeper/tools/convert/bf4/Bf4File.java @@ -44,7 +44,7 @@ * * @author Toni Helenius */ -public class Bf4File implements Iterable { +public final class Bf4File implements Iterable { private static final String BF4_HEADER_IDENTIFIER = "F4FB"; private static final int BITS_PER_PIXEL = 4; @@ -350,7 +350,7 @@ public int getCount() { /** * Small class to write in 4-bits */ - private static class FourBitWriter { + private static final class FourBitWriter { private final byte[] data; private int position = 0; diff --git a/src/toniarts/openkeeper/tools/convert/conversion/ConversionTaskManager.java b/src/toniarts/openkeeper/tools/convert/conversion/ConversionTaskManager.java index c5d8f2ec5..3b2ac8f65 100644 --- a/src/toniarts/openkeeper/tools/convert/conversion/ConversionTaskManager.java +++ b/src/toniarts/openkeeper/tools/convert/conversion/ConversionTaskManager.java @@ -42,7 +42,7 @@ * * @author Toni Helenius */ -public class ConversionTaskManager { +public final class ConversionTaskManager { private static final Logger logger = System.getLogger(ConversionTaskManager.class.getName()); private static final int MAX_THREADS = Runtime.getRuntime().availableProcessors(); @@ -191,7 +191,7 @@ private void sortNodesChildCountDesc(List childNodes) { * * @author Toni Helenius */ - public class TaskExecuterGraphTraverser extends BreadthFirstTraverser { + public final class TaskExecuterGraphTraverser extends BreadthFirstTraverser { public void traverse(TaskNode startNode) { traverse(startNode, (node) -> { diff --git a/src/toniarts/openkeeper/tools/convert/conversion/graph/Graph.java b/src/toniarts/openkeeper/tools/convert/conversion/graph/Graph.java index c3d04149d..8c385b8e2 100644 --- a/src/toniarts/openkeeper/tools/convert/conversion/graph/Graph.java +++ b/src/toniarts/openkeeper/tools/convert/conversion/graph/Graph.java @@ -30,7 +30,7 @@ * @author Toni Helenius * @param The node type */ -public class Graph { +public final class Graph { private final Map nodes = new HashMap<>(); private final Set rootNodes = new HashSet<>(); diff --git a/src/toniarts/openkeeper/tools/convert/conversion/graph/TaskNode.java b/src/toniarts/openkeeper/tools/convert/conversion/graph/TaskNode.java index 5e06bc2e4..fa678f62d 100644 --- a/src/toniarts/openkeeper/tools/convert/conversion/graph/TaskNode.java +++ b/src/toniarts/openkeeper/tools/convert/conversion/graph/TaskNode.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class TaskNode extends Node { +public final class TaskNode extends Node { private final String name; private final IConversionTaskProvider task; diff --git a/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertFonts.java b/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertFonts.java index 19306da8f..8f745fe4f 100644 --- a/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertFonts.java +++ b/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertFonts.java @@ -53,7 +53,7 @@ * * @author Toni Helenius */ -public class ConvertFonts extends ConversionTask { +public final class ConvertFonts extends ConversionTask { private static final Logger logger = System.getLogger(ConvertFonts.class.getName()); diff --git a/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertHiScores.java b/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertHiScores.java index cdb22e9e5..d3d61d2b1 100644 --- a/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertHiScores.java +++ b/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertHiScores.java @@ -32,7 +32,7 @@ * * @author Toni Helenius */ -public class ConvertHiScores extends ConversionTask { +public final class ConvertHiScores extends ConversionTask { private static final Logger logger = System.getLogger(ConvertHiScores.class.getName()); diff --git a/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertMapThumbnails.java b/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertMapThumbnails.java index ab5f0134c..40efebb34 100644 --- a/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertMapThumbnails.java +++ b/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertMapThumbnails.java @@ -43,7 +43,7 @@ * * @author Toni Helenius */ -public class ConvertMapThumbnails extends ConversionTask { +public final class ConvertMapThumbnails extends ConversionTask { private static final Logger logger = System.getLogger(ConvertMapThumbnails.class.getName()); diff --git a/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertModels.java b/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertModels.java index 110a8bc21..7f05da840 100644 --- a/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertModels.java +++ b/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertModels.java @@ -50,7 +50,7 @@ * * @author Toni Helenius */ -public class ConvertModels extends ConversionTask { +public final class ConvertModels extends ConversionTask { private static final Logger logger = System.getLogger(ConvertModels.class.getName()); diff --git a/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertMouseCursors.java b/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertMouseCursors.java index 251f6c68e..94c7b196b 100644 --- a/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertMouseCursors.java +++ b/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertMouseCursors.java @@ -35,7 +35,7 @@ * * @author Toni Helenius */ -public class ConvertMouseCursors extends ConversionTask { +public final class ConvertMouseCursors extends ConversionTask { private static final Logger logger = System.getLogger(ConvertMouseCursors.class.getName()); diff --git a/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertPaths.java b/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertPaths.java index 711401875..5087ecd88 100644 --- a/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertPaths.java +++ b/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertPaths.java @@ -47,7 +47,7 @@ * * @author Toni Helenius */ -public class ConvertPaths extends ConversionTask { +public final class ConvertPaths extends ConversionTask { private static final Logger logger = System.getLogger(ConvertPaths.class.getName()); diff --git a/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertSounds.java b/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertSounds.java index 781c5877a..b39b0f859 100644 --- a/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertSounds.java +++ b/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertSounds.java @@ -37,7 +37,7 @@ * * @author Toni Helenius */ -public class ConvertSounds extends ConversionTask { +public final class ConvertSounds extends ConversionTask { private static final Logger logger = System.getLogger(ConvertSounds.class.getName()); diff --git a/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertTexts.java b/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertTexts.java index fce6c77db..ae69ac4b9 100644 --- a/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertTexts.java +++ b/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertTexts.java @@ -44,7 +44,7 @@ * * @author Toni Helenius */ -public class ConvertTexts extends ConversionTask { +public final class ConvertTexts extends ConversionTask { private static final Logger logger = System.getLogger(ConvertTexts.class.getName()); diff --git a/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertTextures.java b/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertTextures.java index 1f18f45de..8f6c68b9d 100644 --- a/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertTextures.java +++ b/src/toniarts/openkeeper/tools/convert/conversion/task/ConvertTextures.java @@ -46,7 +46,7 @@ * * @author Toni Helenius */ -public class ConvertTextures extends ConversionTask { +public final class ConvertTextures extends ConversionTask { private static final Logger logger = System.getLogger(ConvertTextures.class.getName()); diff --git a/src/toniarts/openkeeper/tools/convert/hiscores/HiScoresEntry.java b/src/toniarts/openkeeper/tools/convert/hiscores/HiScoresEntry.java index 7db675015..d834c6ccf 100644 --- a/src/toniarts/openkeeper/tools/convert/hiscores/HiScoresEntry.java +++ b/src/toniarts/openkeeper/tools/convert/hiscores/HiScoresEntry.java @@ -21,7 +21,7 @@ * * @author ArchDemon */ -public class HiScoresEntry { +public final class HiScoresEntry { private int score; private String name; diff --git a/src/toniarts/openkeeper/tools/convert/hiscores/HiScoresFile.java b/src/toniarts/openkeeper/tools/convert/hiscores/HiScoresFile.java index b1b1c8351..7d173942c 100644 --- a/src/toniarts/openkeeper/tools/convert/hiscores/HiScoresFile.java +++ b/src/toniarts/openkeeper/tools/convert/hiscores/HiScoresFile.java @@ -30,7 +30,7 @@ * * @author ArchDemon */ -public class HiScoresFile { +public final class HiScoresFile { private final List hiScoresEntries; diff --git a/src/toniarts/openkeeper/tools/convert/kcs/KcsEntry.java b/src/toniarts/openkeeper/tools/convert/kcs/KcsEntry.java index bc3de8476..697bbb3cc 100644 --- a/src/toniarts/openkeeper/tools/convert/kcs/KcsEntry.java +++ b/src/toniarts/openkeeper/tools/convert/kcs/KcsEntry.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class KcsEntry { +public final class KcsEntry { private Vector3f position; private Vector3f direction; diff --git a/src/toniarts/openkeeper/tools/convert/kcs/KcsFile.java b/src/toniarts/openkeeper/tools/convert/kcs/KcsFile.java index 4b8c9e475..dca35f241 100644 --- a/src/toniarts/openkeeper/tools/convert/kcs/KcsFile.java +++ b/src/toniarts/openkeeper/tools/convert/kcs/KcsFile.java @@ -37,7 +37,7 @@ * * @author Toni Helenius */ -public class KcsFile { +public final class KcsFile { private List kcsEntries; diff --git a/src/toniarts/openkeeper/tools/convert/kmf/Anim.java b/src/toniarts/openkeeper/tools/convert/kmf/Anim.java index 3eb3e64be..10769518f 100644 --- a/src/toniarts/openkeeper/tools/convert/kmf/Anim.java +++ b/src/toniarts/openkeeper/tools/convert/kmf/Anim.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class Anim { +public final class Anim { public enum FrameFactorFunction { diff --git a/src/toniarts/openkeeper/tools/convert/kmf/AnimControl.java b/src/toniarts/openkeeper/tools/convert/kmf/AnimControl.java index dda9928e9..56dd30740 100644 --- a/src/toniarts/openkeeper/tools/convert/kmf/AnimControl.java +++ b/src/toniarts/openkeeper/tools/convert/kmf/AnimControl.java @@ -22,7 +22,7 @@ * * @author Toni Helenius */ -public class AnimControl { +public final class AnimControl { private int unknown1; private int unknown2; diff --git a/src/toniarts/openkeeper/tools/convert/kmf/AnimGeom.java b/src/toniarts/openkeeper/tools/convert/kmf/AnimGeom.java index 0576fb016..cb2db8ad2 100644 --- a/src/toniarts/openkeeper/tools/convert/kmf/AnimGeom.java +++ b/src/toniarts/openkeeper/tools/convert/kmf/AnimGeom.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class AnimGeom { +public final class AnimGeom { /** * Frame Base Modulus diff --git a/src/toniarts/openkeeper/tools/convert/kmf/AnimSprite.java b/src/toniarts/openkeeper/tools/convert/kmf/AnimSprite.java index a13bd2438..420fc34fc 100644 --- a/src/toniarts/openkeeper/tools/convert/kmf/AnimSprite.java +++ b/src/toniarts/openkeeper/tools/convert/kmf/AnimSprite.java @@ -21,5 +21,5 @@ * * @author Toni Helenius */ -public class AnimSprite extends Sprite { +public final class AnimSprite extends Sprite { } diff --git a/src/toniarts/openkeeper/tools/convert/kmf/AnimVertex.java b/src/toniarts/openkeeper/tools/convert/kmf/AnimVertex.java index 6a2421474..e90f843d3 100644 --- a/src/toniarts/openkeeper/tools/convert/kmf/AnimVertex.java +++ b/src/toniarts/openkeeper/tools/convert/kmf/AnimVertex.java @@ -21,7 +21,7 @@ * * @author Toni Helenius */ -public class AnimVertex extends Vertex { +public final class AnimVertex extends Vertex { private int itabIndex; diff --git a/src/toniarts/openkeeper/tools/convert/kmf/Grop.java b/src/toniarts/openkeeper/tools/convert/kmf/Grop.java index 5570acae0..aa6708a7b 100644 --- a/src/toniarts/openkeeper/tools/convert/kmf/Grop.java +++ b/src/toniarts/openkeeper/tools/convert/kmf/Grop.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class Grop { +public final class Grop { //ELEM /** diff --git a/src/toniarts/openkeeper/tools/convert/kmf/KmfFile.java b/src/toniarts/openkeeper/tools/convert/kmf/KmfFile.java index ccb385a60..22855c984 100644 --- a/src/toniarts/openkeeper/tools/convert/kmf/KmfFile.java +++ b/src/toniarts/openkeeper/tools/convert/kmf/KmfFile.java @@ -35,7 +35,7 @@ * * @author Toni Helenius */ -public class KmfFile { +public final class KmfFile { public enum Type { @@ -63,7 +63,7 @@ public static Type toType(int index) { private int version; private Type type; private List materials; - private List meshes; + private Mesh mesh; private Anim anim; private List grops; private static final String KMF_HEADER_IDENTIFIER = "KMSH"; @@ -125,7 +125,7 @@ private void parseKmfFile(final IResourceReader rawKmf) throws RuntimeException, // Read the identifier checkHeader(rawKmfReader, KMF_HEADER_IDENTIFIER); - rawKmfReader.skipBytes(4); + rawKmfReader.skipBytes(4); // skip section size version = rawKmfReader.readUnsignedInteger(); // KMSH/HEAD @@ -141,27 +141,17 @@ private void parseKmfFile(final IResourceReader rawKmf) throws RuntimeException, } // KMSH/MESH, there are n amount of these - meshes = new ArrayList<>(); - String temp = ""; - do { - if (!rawKmfReader.hasRemaining()) { - break; // EOF - } - temp = rawKmfReader.readString(4); - if (KMF_MESH.equals(temp)) { - meshes.add(parseMesh(rawKmfReader)); - } else { - break; - } - } while (true); + String fourCC = rawKmfReader.readString(4); + if (KMF_MESH.equals(fourCC)) + mesh = parseMesh(rawKmfReader); // KMSH/ANIM - if (type == Type.ANIM && KMF_ANIM.equals(temp)) { + if (type == Type.ANIM && KMF_ANIM.equals(fourCC)) { anim = parseAnim(rawKmfReader); } // KMSH/GROP - if (type == Type.GROP && KMF_GROP.equals(temp)) { + if (type == Type.GROP && KMF_GROP.equals(fourCC)) { grops = parseGrop(rawKmfReader); } } @@ -173,7 +163,7 @@ private void parseKmfFile(final IResourceReader rawKmf) throws RuntimeException, * @param rawKmf kmf file starting on HEAD */ private void parseHead(IResourceChunkReader rawKmf) throws IOException { - rawKmf.skipBytes(4); + rawKmf.skipBytes(4); // skip section size this.type = Type.toType(rawKmf.readUnsignedInteger()); int unknown = rawKmf.readUnsignedInteger(); } @@ -185,7 +175,7 @@ private void parseHead(IResourceChunkReader rawKmf) throws IOException { * @param rawKmf kmf file starting on MATL */ private void parseMatl(IResourceChunkReader rawKmf) throws IOException { - rawKmf.skipBytes(4); + rawKmf.skipBytes(4); // skip section size int materialsCount = rawKmf.readUnsignedInteger(); // Read the materials @@ -203,7 +193,7 @@ private void parseMatl(IResourceChunkReader rawKmf) throws IOException { * @param rawKmf kmf file starting on MATL */ private Material parseMat2(IResourceChunkReader rawKmf) throws IOException { - rawKmf.skipBytes(4); + rawKmf.skipBytes(4); // skip section size // Create the material Material m = new Material(); @@ -217,7 +207,7 @@ private Material parseMat2(IResourceChunkReader rawKmf) throws IOException { m.setFlag(rawKmf.readIntegerAsFlag(Material.MaterialFlag.class)); m.setBrightness(rawKmf.readFloat()); - m.setGamma(rawKmf.readFloat()); + m.setShininess(rawKmf.readFloat()); // Environment map m.setEnvironmentMappingTexture(rawKmf.readVaryingLengthStrings(1).get(0)); @@ -232,11 +222,11 @@ private Material parseMat2(IResourceChunkReader rawKmf) throws IOException { * @param rawKmf kmf file starting on mesh */ private Mesh parseMesh(IResourceChunkReader rawKmf) throws IOException { - rawKmf.skipBytes(4); + rawKmf.skipBytes(4); // skip section size //KMSH/MESH/HEAD checkHeader(rawKmf, KMF_HEAD); - rawKmf.skipBytes(4); + rawKmf.skipBytes(4); // skip section size //Create the mesh Mesh m = new Mesh(); @@ -275,7 +265,7 @@ private Mesh parseMesh(IResourceChunkReader rawKmf) throws IOException { * @param rawKmf kmf file starting on mesh */ private List parseMeshControls(IResourceChunkReader rawKmf) throws IOException { - rawKmf.skipBytes(4); + rawKmf.skipBytes(4); // skip section size int controlCount = rawKmf.readUnsignedInteger(); List controls = new ArrayList<>(controlCount); @@ -307,7 +297,7 @@ private List parseMeshSprites(IResourceChunkReader rawKmf, int sprsC //Sprite headers //KMSH/MESH/SPRS/SPHD checkHeader(rawKmf, KMF_MESH_SPRITES_HEADER); - rawKmf.skipBytes(4); + rawKmf.skipBytes(4); // skip section size //Create new sprite MeshSprite sprite = new MeshSprite(); @@ -327,7 +317,7 @@ private List parseMeshSprites(IResourceChunkReader rawKmf, int sprsC //Sprite data //KMSH/MESH/SPRS/SPRS checkHeader(rawKmf, KMF_MESH_SPRITES_DATA_HEADER); - rawKmf.skipBytes(4); + rawKmf.skipBytes(4); // skip section size MeshSprite sprite = sprites.get(i); sprite.setMaterialIndex(rawKmf.readUnsignedInteger()); @@ -373,11 +363,12 @@ private List parseMeshSprites(IResourceChunkReader rawKmf, int sprsC * @param rawKmf kmf file starting on geom */ private List parseMeshGeoms(IResourceChunkReader rawKmf, int geomCount) throws IOException { - rawKmf.skipBytes(4); + rawKmf.skipBytes(4); // skip section size List geometries = new ArrayList<>(geomCount); //Geometries for (int i = 0; i < geomCount; i++) { + // TODO: scale them? geometries.add(new Vector3f(rawKmf.readFloat(), rawKmf.readFloat(), rawKmf.readFloat())); @@ -393,11 +384,11 @@ private List parseMeshGeoms(IResourceChunkReader rawKmf, int geomCount * @param rawKmf kmf file starting on ANIM */ private Anim parseAnim(IResourceChunkReader rawKmf) throws IOException { - rawKmf.skipBytes(4); + rawKmf.skipBytes(4); // skip section size //KMSH/ANIM/HEAD checkHeader(rawKmf, KMF_HEAD); - rawKmf.skipBytes(4); + rawKmf.skipBytes(4); // skip section size //Create the anim Anim a = new Anim(); @@ -431,7 +422,7 @@ private Anim parseAnim(IResourceChunkReader rawKmf) throws IOException { //KMSH/ANIM/SPRS/ITAB //indexCount sized chunks for each 128 frame block checkHeader(rawKmf, KMF_ANIM_SPRITES_ITAB_HEADER); - rawKmf.skipBytes(4); + rawKmf.skipBytes(4); // skip section size int chunks = (int) Math.floor((frameCount - 1) / 128.0 + 1); int[][] itab = new int[chunks][indexCount]; for (int chunk = 0; chunk < chunks; chunk++) { @@ -444,25 +435,24 @@ private Anim parseAnim(IResourceChunkReader rawKmf) throws IOException { //Sprite geometries //KMSH/ANIM/SPRS/GEOM checkHeader(rawKmf, KMF_MESH_GEOM); - rawKmf.skipBytes(4); + rawKmf.skipBytes(4); // skip section size List geometries = new ArrayList<>(geomCount + 1); AnimGeom geom = null; for (int i = 0; i < geomCount; i++) { - //10 bits, BITS, yes BITS, per coordinate (Z, Y, X) = 30 bits (2 last bits can be thrown away) + //10 bits per coordinate (Z, Y, X) = 30 bits (2 last bits can be thrown away) // ^ so read 4 bytes // + 1 byte for frame base int coordinates = rawKmf.readUnsignedInteger(); - geom = new AnimGeom(); - - float x = (((coordinates >> 20) & 0x3ff) - 0x200) / 511.0f; - float y = (((coordinates >> 10) & 0x3ff) - 0x200) / 511.0f; - float z = (((coordinates >> 0) & 0x3ff) - 0x200) / 511.0f; + float x = (((coordinates >> 20) % 1024) - 512) / 511.0f; + float y = (((coordinates >> 10) % 1024) - 512) / 511.0f; + float z = (((coordinates >> 0) % 1024) - 512) / 511.0f; Vector3f v = new Vector3f(x, y, z); v.scale(a.getScale()); // Scale - geom.setGeometry(v); + geom = new AnimGeom(); + geom.setGeometry(v); geom.setFrameBase(rawKmf.readUnsignedByte()); geometries.add(geom); } @@ -475,7 +465,7 @@ private Anim parseAnim(IResourceChunkReader rawKmf) throws IOException { //Sprite offsets //KMSH/ANIM/SPRS/VGEO checkHeader(rawKmf, KMF_ANIM_SPRITES_VGEO_HEADER); - rawKmf.skipBytes(4); + rawKmf.skipBytes(4); // skip section size short[][] offsets = new short[indexCount][frameCount]; for (int i = 0; i < indexCount; i++) { for (int frame = 0; frame < frameCount; frame++) { @@ -494,7 +484,7 @@ private Anim parseAnim(IResourceChunkReader rawKmf) throws IOException { * @param rawKmf kmf file starting on mesh */ private List parseAnimControls(IResourceChunkReader rawKmf) throws IOException { - rawKmf.skipBytes(4); + rawKmf.skipBytes(4); // skip section size int controlCount = rawKmf.readUnsignedInteger(); List controls = new ArrayList<>(controlCount); @@ -518,7 +508,7 @@ private List parseAnimControls(IResourceChunkReader rawKmf) throws * @param rawKmf kmf file starting on sprite */ private List parseAnimSprites(IResourceChunkReader rawKmf, int sprsCount, int lodCount) throws IOException { - rawKmf.skipBytes(4); + rawKmf.skipBytes(4); // skip section size List sprites = new ArrayList<>(sprsCount); //Headers @@ -527,7 +517,7 @@ private List parseAnimSprites(IResourceChunkReader rawKmf, int sprsC //Sprite headers //KMSH/ANIM/SPRS/SPHD checkHeader(rawKmf, KMF_MESH_SPRITES_HEADER); - rawKmf.skipBytes(4); + rawKmf.skipBytes(4); // skip section size //Create new sprite AnimSprite sprite = new AnimSprite(); @@ -547,7 +537,7 @@ private List parseAnimSprites(IResourceChunkReader rawKmf, int sprsC //Sprite data //KMSH/ANIM/SPRS/SPRS checkHeader(rawKmf, KMF_MESH_SPRITES_DATA_HEADER); - rawKmf.skipBytes(4); + rawKmf.skipBytes(4); // skip section size AnimSprite sprite = sprites.get(i); sprite.setMaterialIndex(rawKmf.readUnsignedInteger()); @@ -555,7 +545,7 @@ private List parseAnimSprites(IResourceChunkReader rawKmf, int sprsC //The triangles, for each lod level //KMSH/ANIM/SPRS/SPRS/POLY checkHeader(rawKmf, KMF_ANIM_SPRITES_POLY_HEADER); - rawKmf.skipBytes(4); + rawKmf.skipBytes(4); // skip section size List> trianglesPerLod = new ArrayList<>(lodCount); for (int j = 0; j < lodCount; j++) { int numTris = sprite.getTriangleCounts().get(j); @@ -574,7 +564,7 @@ private List parseAnimSprites(IResourceChunkReader rawKmf, int sprsC //Anim vertices //KMSH/ANIM/SPRS/SPRS/VERT checkHeader(rawKmf, KMF_ANIM_SPRITES_VERT_HEADER); - rawKmf.skipBytes(4); + rawKmf.skipBytes(4); // skip section size List vertices = new ArrayList<>(sprite.getVerticeCount()); for (int j = 0; j < sprite.getVerticeCount(); j++) { AnimVertex animVertex = new AnimVertex(); @@ -596,11 +586,11 @@ private List parseAnimSprites(IResourceChunkReader rawKmf, int sprsC * @param rawKmf kmf file starting on grop */ private List parseGrop(IResourceChunkReader rawKmf) throws IOException { - rawKmf.skipBytes(4); + rawKmf.skipBytes(4); // skip section size //KMSH/GROP/HEAD checkHeader(rawKmf, KMF_HEAD); - rawKmf.skipBytes(4); + rawKmf.skipBytes(4); // skip section size int elementCount = rawKmf.readUnsignedInteger(); //Read the elements @@ -609,7 +599,7 @@ private List parseGrop(IResourceChunkReader rawKmf) throws IOException { //KMSH/GROP/ELEM checkHeader(rawKmf, KMF_GROP_ELEM); - rawKmf.skipBytes(4); + rawKmf.skipBytes(4); // skip section size //Read it Grop grop = new Grop(); @@ -646,8 +636,8 @@ public List getMaterials() { return materials; } - public List getMeshes() { - return meshes; + public Mesh getMesh() { + return mesh; } public Anim getAnim() { diff --git a/src/toniarts/openkeeper/tools/convert/kmf/Material.java b/src/toniarts/openkeeper/tools/convert/kmf/Material.java index fb7e30b5a..927a5012b 100644 --- a/src/toniarts/openkeeper/tools/convert/kmf/Material.java +++ b/src/toniarts/openkeeper/tools/convert/kmf/Material.java @@ -27,19 +27,20 @@ * * @author Toni Helenius */ -public class Material { +public final class Material { public enum MaterialFlag implements IFlagEnum { HAS_ALPHA(0x0001), - UNKNOWN2(0x0002), // Some sort of shininess + // closely related to 0x1 but both exist in isolation too + DOUBLE_SIDED(0x0002), // Some sort of shininess, used e.g. in axe blade, piranha tail ALPHA_ADDITIVE(0x0004), // Also emits "light" / glows..? - UNKNOWN4(0x0008), - UNKNOWN5(0x0010), - UNKNOWN6(0x0020), - UNKNOWN7(0x0040), - UNKNOWN8(0x0080), // Some sort of glow? - UNKNOWN9(0x0100); // Environment mapped, invisible guys have this??? + UNKNOWN8(0x0008), // ice? only set on #TRANS25#icey + UNKNOWN10(0x0010), // only used for 'Angel Bed RibsCreature Bed_Dark Angel2' + UNKNOWN20(0x0020), // never used? + IS_SHININESS_SET(0x0040), // metal? sword, pickimpback etc. + IS_BRIGHTNESS_SET(0x0080), // Some sort of glow? e.g. Lava + INVISIBLE(0x0100); // Environment mapped, invisible guys have this??? private final long flagValue; private MaterialFlag(long flagValue) { @@ -55,7 +56,7 @@ public long getFlagValue() { private List textures; private EnumSet flag; private float brightness; - private float gamma; + private float shininess; private String environmentMappingTexture; public String getName() { @@ -90,12 +91,13 @@ protected void setBrightness(float brightness) { this.brightness = brightness; } - public float getGamma() { - return gamma; + public float getShininess() { + return shininess; } - protected void setGamma(float gamma) { - this.gamma = gamma; + protected void setShininess(float shininess) { + if (flag.contains(MaterialFlag.IS_SHININESS_SET)) + this.shininess = shininess; } public String getEnvironmentMappingTexture() { @@ -159,7 +161,7 @@ public boolean equals(Object obj) { if (Float.floatToIntBits(this.brightness) != Float.floatToIntBits(other.brightness)) { return false; } - if (Float.floatToIntBits(this.gamma) != Float.floatToIntBits(other.gamma)) { + if (Float.floatToIntBits(this.shininess) != Float.floatToIntBits(other.shininess)) { return false; } if (!Objects.equals(this.name, other.name)) { diff --git a/src/toniarts/openkeeper/tools/convert/kmf/Mesh.java b/src/toniarts/openkeeper/tools/convert/kmf/Mesh.java index 3b09cb311..def5ebcfd 100644 --- a/src/toniarts/openkeeper/tools/convert/kmf/Mesh.java +++ b/src/toniarts/openkeeper/tools/convert/kmf/Mesh.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class Mesh { +public final class Mesh { //HEAD private String name; diff --git a/src/toniarts/openkeeper/tools/convert/kmf/MeshControl.java b/src/toniarts/openkeeper/tools/convert/kmf/MeshControl.java index 6d75853a3..b51b99c8a 100644 --- a/src/toniarts/openkeeper/tools/convert/kmf/MeshControl.java +++ b/src/toniarts/openkeeper/tools/convert/kmf/MeshControl.java @@ -22,7 +22,7 @@ * * @author Toni Helenius */ -public class MeshControl { +public final class MeshControl { private int unknown1; private int unknown2; diff --git a/src/toniarts/openkeeper/tools/convert/kmf/MeshSprite.java b/src/toniarts/openkeeper/tools/convert/kmf/MeshSprite.java index 33c96f9cc..0da60f3d0 100644 --- a/src/toniarts/openkeeper/tools/convert/kmf/MeshSprite.java +++ b/src/toniarts/openkeeper/tools/convert/kmf/MeshSprite.java @@ -21,5 +21,5 @@ * * @author Toni Helenius */ -public class MeshSprite extends Sprite { +public final class MeshSprite extends Sprite { } diff --git a/src/toniarts/openkeeper/tools/convert/kmf/MeshVertex.java b/src/toniarts/openkeeper/tools/convert/kmf/MeshVertex.java index c158dd029..c6573fb25 100644 --- a/src/toniarts/openkeeper/tools/convert/kmf/MeshVertex.java +++ b/src/toniarts/openkeeper/tools/convert/kmf/MeshVertex.java @@ -21,7 +21,7 @@ * * @author Toni Helenius */ -public class MeshVertex extends Vertex { +public final class MeshVertex extends Vertex { private int geomIndex; diff --git a/src/toniarts/openkeeper/tools/convert/kmf/Triangle.java b/src/toniarts/openkeeper/tools/convert/kmf/Triangle.java index 78dde768d..a0d40116a 100644 --- a/src/toniarts/openkeeper/tools/convert/kmf/Triangle.java +++ b/src/toniarts/openkeeper/tools/convert/kmf/Triangle.java @@ -21,7 +21,7 @@ * * @author Toni Helenius */ -public class Triangle { +public final class Triangle { private final byte[] triangle; diff --git a/src/toniarts/openkeeper/tools/convert/kmf/Uv.java b/src/toniarts/openkeeper/tools/convert/kmf/Uv.java index 3ac00ca87..8b4309a0b 100644 --- a/src/toniarts/openkeeper/tools/convert/kmf/Uv.java +++ b/src/toniarts/openkeeper/tools/convert/kmf/Uv.java @@ -21,7 +21,7 @@ * * @author Toni Helenius */ -public class Uv { +public final class Uv { private final int[] uv; diff --git a/src/toniarts/openkeeper/tools/convert/map/AI.java b/src/toniarts/openkeeper/tools/convert/map/AI.java index f93ae17f1..aa26a344d 100644 --- a/src/toniarts/openkeeper/tools/convert/map/AI.java +++ b/src/toniarts/openkeeper/tools/convert/map/AI.java @@ -23,7 +23,7 @@ * * @author ArchDemon */ -public class AI { +public final class AI { public enum AIType implements IValueEnum { diff --git a/src/toniarts/openkeeper/tools/convert/map/ArtResource.java b/src/toniarts/openkeeper/tools/convert/map/ArtResource.java index bd6d5eda3..2c35573cd 100644 --- a/src/toniarts/openkeeper/tools/convert/map/ArtResource.java +++ b/src/toniarts/openkeeper/tools/convert/map/ArtResource.java @@ -32,7 +32,7 @@ * * Thank you https://github.com/werkt */ -public class ArtResource { +public final class ArtResource { public static final String KEY_ID = "id"; public static final String KEY_WIDTH = "width"; diff --git a/src/toniarts/openkeeper/tools/convert/map/Creature.java b/src/toniarts/openkeeper/tools/convert/map/Creature.java index 4d5d58536..1a2af138f 100644 --- a/src/toniarts/openkeeper/tools/convert/map/Creature.java +++ b/src/toniarts/openkeeper/tools/convert/map/Creature.java @@ -31,7 +31,7 @@ * * @author Toni Helenius */ -public class Creature implements Comparable, ISoundable, IIndexable { +public final class Creature implements Comparable, ISoundable, IIndexable { public static enum AnimationType { WALK, @@ -1564,7 +1564,7 @@ public boolean equals(java.lang.Object obj) { return true; } - public class Attraction { + public static final class Attraction { private int present; // dac private int roomId; // db0 @@ -1595,7 +1595,7 @@ protected void setRoomSize(int roomSize) { } } - public class Spell { // bytes in these structs might be product of padding + public static final class Spell { // bytes in these structs might be product of padding private Vector3f shotOffset; private short x0c; @@ -1689,7 +1689,7 @@ protected void setLevelAvailable(short levelAvailable) { } } - public class Resistance { + public static final class Resistance { private AttackType attackType; private short value; @@ -1711,7 +1711,7 @@ protected void setValue(short value) { } } - public class JobPreference { + public static final class JobPreference { private JobType jobType; private int moodChange; @@ -1778,7 +1778,7 @@ protected void setX0b(short x0b) { } } - public class JobAlternative { + public static final class JobAlternative { private JobType jobType; private int moodChange; @@ -1809,7 +1809,7 @@ protected void setManaChange(int manaChange) { } } - public class X1323 { + public static final class X1323 { private int x00; private int x02; @@ -1831,7 +1831,7 @@ protected void setX02(int x02) { } } - public class Attributes { + public static final class Attributes { private int expForNextLevel; // f00 private int expPerSecond; // f04 diff --git a/src/toniarts/openkeeper/tools/convert/map/CreatureSpell.java b/src/toniarts/openkeeper/tools/convert/map/CreatureSpell.java index 27cfa74e2..68a2b28c4 100644 --- a/src/toniarts/openkeeper/tools/convert/map/CreatureSpell.java +++ b/src/toniarts/openkeeper/tools/convert/map/CreatureSpell.java @@ -25,7 +25,7 @@ * * @author Toni Helenius */ -public class CreatureSpell implements Comparable { +public final class CreatureSpell implements Comparable { /** * Creature spell flags diff --git a/src/toniarts/openkeeper/tools/convert/map/Door.java b/src/toniarts/openkeeper/tools/convert/map/Door.java index fdb7207d7..6a1aec746 100644 --- a/src/toniarts/openkeeper/tools/convert/map/Door.java +++ b/src/toniarts/openkeeper/tools/convert/map/Door.java @@ -29,7 +29,7 @@ * * Thank you https://github.com/werkt */ -public class Door implements Comparable, ISoundable, IIndexable { +public final class Door implements Comparable, ISoundable, IIndexable { /** * Door flags diff --git a/src/toniarts/openkeeper/tools/convert/map/Effect.java b/src/toniarts/openkeeper/tools/convert/map/Effect.java index f0a5769b6..1f9be4228 100644 --- a/src/toniarts/openkeeper/tools/convert/map/Effect.java +++ b/src/toniarts/openkeeper/tools/convert/map/Effect.java @@ -27,7 +27,7 @@ * * @author Toni Helenius */ -public class Effect implements Comparable, IEffect { +public final class Effect implements Comparable, IEffect { /** * Effect flags diff --git a/src/toniarts/openkeeper/tools/convert/map/EffectElement.java b/src/toniarts/openkeeper/tools/convert/map/EffectElement.java index d72ef1488..d0944d4db 100644 --- a/src/toniarts/openkeeper/tools/convert/map/EffectElement.java +++ b/src/toniarts/openkeeper/tools/convert/map/EffectElement.java @@ -27,7 +27,7 @@ * * @author Toni Helenius */ -public class EffectElement implements Comparable, IEffect { +public final class EffectElement implements Comparable, IEffect { /** * Effect element flags diff --git a/src/toniarts/openkeeper/tools/convert/map/FilePath.java b/src/toniarts/openkeeper/tools/convert/map/FilePath.java index 6db835aa9..af7482d6e 100644 --- a/src/toniarts/openkeeper/tools/convert/map/FilePath.java +++ b/src/toniarts/openkeeper/tools/convert/map/FilePath.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class FilePath { +public final class FilePath { private MapDataTypeEnum id; // unsigned int private int unknown2; diff --git a/src/toniarts/openkeeper/tools/convert/map/GameLevel.java b/src/toniarts/openkeeper/tools/convert/map/GameLevel.java index ed73216fe..ad95706eb 100644 --- a/src/toniarts/openkeeper/tools/convert/map/GameLevel.java +++ b/src/toniarts/openkeeper/tools/convert/map/GameLevel.java @@ -33,7 +33,7 @@ * * @author ArchDemon */ -public class GameLevel implements ISoundable, ITriggerable { +public final class GameLevel implements ISoundable, ITriggerable { // KWD data // struct LevelInfoBlock { // ucs2le_t m_wsName[64]; /* 134 */ diff --git a/src/toniarts/openkeeper/tools/convert/map/GameMap.java b/src/toniarts/openkeeper/tools/convert/map/GameMap.java index fd2c48b8e..aa656476a 100644 --- a/src/toniarts/openkeeper/tools/convert/map/GameMap.java +++ b/src/toniarts/openkeeper/tools/convert/map/GameMap.java @@ -25,7 +25,7 @@ * * Thank you https://github.com/werkt */ -public class GameMap { +public final class GameMap { private Tile[][] tiles; private int width; diff --git a/src/toniarts/openkeeper/tools/convert/map/GameObject.java b/src/toniarts/openkeeper/tools/convert/map/GameObject.java index 54ff82480..73d35e87d 100644 --- a/src/toniarts/openkeeper/tools/convert/map/GameObject.java +++ b/src/toniarts/openkeeper/tools/convert/map/GameObject.java @@ -27,7 +27,7 @@ * * @author Toni Helenius */ -public class GameObject implements Comparable, ISoundable { +public final class GameObject implements Comparable, ISoundable { /** * Object flags diff --git a/src/toniarts/openkeeper/tools/convert/map/KeeperSpell.java b/src/toniarts/openkeeper/tools/convert/map/KeeperSpell.java index e51b96255..464eb2edf 100644 --- a/src/toniarts/openkeeper/tools/convert/map/KeeperSpell.java +++ b/src/toniarts/openkeeper/tools/convert/map/KeeperSpell.java @@ -28,7 +28,7 @@ * * @author Toni Helenius */ -public class KeeperSpell implements Comparable, ISoundable, IIndexable, IGuiSoundable { +public final class KeeperSpell implements Comparable, ISoundable, IIndexable, IGuiSoundable { /** * Keeper spell flags diff --git a/src/toniarts/openkeeper/tools/convert/map/KwdFile.java b/src/toniarts/openkeeper/tools/convert/map/KwdFile.java index 84b864c35..227fd57c1 100644 --- a/src/toniarts/openkeeper/tools/convert/map/KwdFile.java +++ b/src/toniarts/openkeeper/tools/convert/map/KwdFile.java @@ -41,6 +41,7 @@ import toniarts.openkeeper.tools.convert.map.Creature.Attraction; import toniarts.openkeeper.tools.convert.map.Creature.JobAlternative; import toniarts.openkeeper.tools.convert.map.Creature.OffsetType; +import toniarts.openkeeper.tools.convert.map.Creature.Resistance; import toniarts.openkeeper.tools.convert.map.Creature.Spell; import toniarts.openkeeper.tools.convert.map.Creature.X1323; import toniarts.openkeeper.tools.convert.map.Door.DoorFlag; @@ -1271,7 +1272,7 @@ private void readCreatures(KwdHeader header, IResourceReader file) throws IOExce creature.setLight(readLight(reader)); Attraction[] attractions = new Attraction[2]; for (int x = 0; x < attractions.length; x++) { - Attraction attraction = creature.new Attraction(); + var attraction = new Attraction(); attraction.setPresent(reader.readUnsignedInteger()); attraction.setRoomId(reader.readUnsignedShort()); attraction.setRoomSize(reader.readUnsignedShort()); @@ -1282,7 +1283,7 @@ private void readCreatures(KwdHeader header, IResourceReader file) throws IOExce creature.setFirstPersonOscillateScale(reader.readIntegerAsFloat()); List spells = new ArrayList<>(3); for (int x = 0; x < 3; x++) { - Spell spell = creature.new Spell(); + var spell = new Spell(); spell.setShotOffset(reader.readIntegerAsFloat(), reader.readIntegerAsFloat(), reader.readIntegerAsFloat()); @@ -1302,7 +1303,7 @@ private void readCreatures(KwdHeader header, IResourceReader file) throws IOExce creature.setSpells(spells); Creature.Resistance[] resistances = new Creature.Resistance[4]; for (int x = 0; x < resistances.length; x++) { - Creature.Resistance resistance = creature.new Resistance(); + var resistance = new Resistance(); resistance.setAttackType(reader.readByteAsEnum(Creature.AttackType.class)); resistance.setValue(reader.readUnsignedByte()); resistances[x] = resistance; @@ -1318,7 +1319,7 @@ private void readCreatures(KwdHeader header, IResourceReader file) throws IOExce creature.setHateJobs(hateJobs); JobAlternative[] alternatives = new JobAlternative[3]; for (int x = 0; x < alternatives.length; x++) { - JobAlternative alternative = creature.new JobAlternative(); + var alternative = new JobAlternative(); alternative.setJobType(reader.readIntegerAsEnum(Creature.JobType.class)); alternative.setMoodChange(reader.readUnsignedShort()); alternative.setManaChange(reader.readUnsignedShort()); @@ -1448,7 +1449,7 @@ private void readCreatures(KwdHeader header, IResourceReader file) throws IOExce creature.setAnimation(AnimationType.BACK_OFF, readArtResource(reader)); X1323[] x1323s = new X1323[48]; for (int x = 0; x < x1323s.length; x++) { - X1323 x1323 = creature.new X1323(); + var x1323 = new X1323(); x1323.setX00(reader.readUnsignedShort()); x1323.setX02(reader.readUnsignedShort()); x1323s[x] = x1323; @@ -1512,7 +1513,7 @@ private void readCreatures(KwdHeader header, IResourceReader file) throws IOExce private Creature.JobPreference[] readJobPreferences(int count, Creature creature, IResourceChunkReader reader) { Creature.JobPreference[] preferences = new Creature.JobPreference[count]; for (int x = 0; x < preferences.length; x++) { - Creature.JobPreference jobPreference = creature.new JobPreference(); + var jobPreference = new Creature.JobPreference(); jobPreference.setJobType(reader.readIntegerAsEnum(Creature.JobType.class)); jobPreference.setMoodChange(reader.readUnsignedShort()); jobPreference.setManaChange(reader.readUnsignedShort()); @@ -3272,7 +3273,7 @@ private void checkOffset(long itemSize, IResourceChunkReader reader, long offset /** * Kwd header, few different kinds, handles all */ - private static class KwdHeader { + private static final class KwdHeader { // struct kwdHeader { // unsigned int id; // unsigned int size; diff --git a/src/toniarts/openkeeper/tools/convert/map/Light.java b/src/toniarts/openkeeper/tools/convert/map/Light.java index 1f3a9033d..143ff96e6 100644 --- a/src/toniarts/openkeeper/tools/convert/map/Light.java +++ b/src/toniarts/openkeeper/tools/convert/map/Light.java @@ -26,7 +26,7 @@ * * @author Toni Helenius */ -public class Light { +public final class Light { // struct LightBlock { // int m_kPos[3]; /* 0x1000 = 1.0 */ // unsigned int radius; /* same */ diff --git a/src/toniarts/openkeeper/tools/convert/map/Player.java b/src/toniarts/openkeeper/tools/convert/map/Player.java index 26016e464..c9197b248 100644 --- a/src/toniarts/openkeeper/tools/convert/map/Player.java +++ b/src/toniarts/openkeeper/tools/convert/map/Player.java @@ -26,7 +26,7 @@ * * Thank you https://github.com/werkt */ -public class Player implements Comparable, ITriggerable { +public final class Player implements Comparable, ITriggerable { public static final short GOOD_PLAYER_ID = 1; public static final short NEUTRAL_PLAYER_ID = 2; diff --git a/src/toniarts/openkeeper/tools/convert/map/Room.java b/src/toniarts/openkeeper/tools/convert/map/Room.java index 3d5d99266..54840dcdb 100644 --- a/src/toniarts/openkeeper/tools/convert/map/Room.java +++ b/src/toniarts/openkeeper/tools/convert/map/Room.java @@ -32,7 +32,7 @@ * * Thank you https://github.com/werkt */ -public class Room implements Comparable, ISoundable, IIndexable { +public final class Room implements Comparable, ISoundable, IIndexable { /** * Room flags diff --git a/src/toniarts/openkeeper/tools/convert/map/Shot.java b/src/toniarts/openkeeper/tools/convert/map/Shot.java index e783b4f24..bb314fa16 100644 --- a/src/toniarts/openkeeper/tools/convert/map/Shot.java +++ b/src/toniarts/openkeeper/tools/convert/map/Shot.java @@ -26,7 +26,7 @@ * * @author Toni Helenius */ -public class Shot implements Comparable, ISoundable { +public final class Shot implements Comparable, ISoundable { /** * Shot flags diff --git a/src/toniarts/openkeeper/tools/convert/map/Terrain.java b/src/toniarts/openkeeper/tools/convert/map/Terrain.java index 11138ee00..83cda7450 100644 --- a/src/toniarts/openkeeper/tools/convert/map/Terrain.java +++ b/src/toniarts/openkeeper/tools/convert/map/Terrain.java @@ -30,7 +30,7 @@ * * Thank you https://github.com/werkt */ -public class Terrain implements Comparable, ISoundable, IFpsSoundable { +public final class Terrain implements Comparable, ISoundable, IFpsSoundable { /** * Terrain flags diff --git a/src/toniarts/openkeeper/tools/convert/map/Thing.java b/src/toniarts/openkeeper/tools/convert/map/Thing.java index 96006d553..9bd6bfbd7 100644 --- a/src/toniarts/openkeeper/tools/convert/map/Thing.java +++ b/src/toniarts/openkeeper/tools/convert/map/Thing.java @@ -43,7 +43,7 @@ public abstract class Thing { // uint8_t x17; // char name[32]; /* 18 */ // }; - public static class ActionPoint extends Thing implements Comparable, ITriggerable, IIndexable { + public static final class ActionPoint extends Thing implements Comparable, ITriggerable, IIndexable { /** * ActionPoint flags @@ -291,7 +291,7 @@ protected void setCreatureId(short creatureId) { } } - public static class KeeperCreature extends Creature implements ITriggerable { + public static final class KeeperCreature extends Creature implements ITriggerable { private short level; private EnumSet flags; // Short, likely flags @@ -363,7 +363,7 @@ protected void setPlayerId(short playerId) { // uint8_t x12; // uint8_t x13; // }; - public static class Room extends Thing { + public static final class Room extends Thing { public enum RoomType implements IValueEnum { @@ -491,7 +491,7 @@ public String toString() { } // Contains in GlobalVariables.kwd only - public static class Camera extends Thing { + public static final class Camera extends Thing { public static int ID_POSSESION = 2; public static int ID_GAME = 3; @@ -707,7 +707,7 @@ public String toString() { // int32_t x27; // HeroPartyData x2b[16]; // }; - public static class HeroParty extends Thing implements Comparable, ITriggerable, IIndexable { + public static final class HeroParty extends Thing implements Comparable, ITriggerable, IIndexable { /** * This is really a subset of @@ -849,7 +849,7 @@ public boolean equals(java.lang.Object obj) { /** * Represents the party members */ - public class HeroPartyData implements ITriggerable { + public static final class HeroPartyData implements ITriggerable { private int x00; private int x04; @@ -1002,7 +1002,7 @@ protected void setX1f(short x1f) { // uint8_t x1d; // uint8_t pad[6]; // }; - public static class EffectGenerator extends Thing { + public static final class EffectGenerator extends Thing { private int posX; // 0-based coordinate private int posY; // 0-based coordinate @@ -1096,7 +1096,7 @@ protected void setPad(short[] pad) { } } - public static class DeadBody extends Creature { + public static final class DeadBody extends Creature { private short playerId; @@ -1109,7 +1109,7 @@ protected void setPlayerId(short playerId) { } } - public static class NeutralCreature extends Creature implements ITriggerable { + public static final class NeutralCreature extends Creature implements ITriggerable { private short level; // level private EnumSet flags; // Short, likely flags @@ -1159,7 +1159,7 @@ protected void setUnknown1(short unknown1) { } } - public static class Door extends Thing implements ITriggerable { + public static final class Door extends Thing implements ITriggerable { public enum DoorFlag implements IValueEnum { @@ -1252,7 +1252,7 @@ protected void setUnknown2(short[] unknown2) { } } - public static class Object extends Thing implements ITriggerable { + public static final class Object extends Thing implements ITriggerable { private int posX; // 0-based coordinate private int posY; // 0-based coordinate @@ -1329,7 +1329,7 @@ protected void setPlayerId(short playerId) { } } - public static class Trap extends Thing { + public static final class Trap extends Thing { private int posX; // 0-based coordinate private int posY; // 0-based coordinate @@ -1403,7 +1403,7 @@ protected void setUnknown2(short unknown2) { } } - public static class GoodCreature extends Creature implements ITriggerable { + public static final class GoodCreature extends Creature implements ITriggerable { private short level; // level private EnumSet flags; // Short, likely flags diff --git a/src/toniarts/openkeeper/tools/convert/map/Trap.java b/src/toniarts/openkeeper/tools/convert/map/Trap.java index fb1864aad..c97322fc1 100644 --- a/src/toniarts/openkeeper/tools/convert/map/Trap.java +++ b/src/toniarts/openkeeper/tools/convert/map/Trap.java @@ -31,7 +31,7 @@ * * Thank you https://github.com/werkt */ -public class Trap implements Comparable, ISoundable, IIndexable { +public final class Trap implements Comparable, ISoundable, IIndexable { /** * Trap flags diff --git a/src/toniarts/openkeeper/tools/convert/map/TriggerAction.java b/src/toniarts/openkeeper/tools/convert/map/TriggerAction.java index a681aba28..ac9c126ed 100644 --- a/src/toniarts/openkeeper/tools/convert/map/TriggerAction.java +++ b/src/toniarts/openkeeper/tools/convert/map/TriggerAction.java @@ -28,7 +28,7 @@ * @see TriggerGeneric * @author Toni Helenius */ -public class TriggerAction extends Trigger { +public final class TriggerAction extends Trigger { public enum ActionType implements IValueEnum { diff --git a/src/toniarts/openkeeper/tools/convert/map/TriggerGeneric.java b/src/toniarts/openkeeper/tools/convert/map/TriggerGeneric.java index f1c5166e9..d84c75c71 100644 --- a/src/toniarts/openkeeper/tools/convert/map/TriggerGeneric.java +++ b/src/toniarts/openkeeper/tools/convert/map/TriggerGeneric.java @@ -26,7 +26,7 @@ * @see TriggerAction * @author Toni Helenius */ -public class TriggerGeneric extends Trigger { +public final class TriggerGeneric extends Trigger { public enum ComparisonType implements IValueEnum { diff --git a/src/toniarts/openkeeper/tools/convert/map/Variable.java b/src/toniarts/openkeeper/tools/convert/map/Variable.java index 3f0e7342c..ad17b3a91 100644 --- a/src/toniarts/openkeeper/tools/convert/map/Variable.java +++ b/src/toniarts/openkeeper/tools/convert/map/Variable.java @@ -83,7 +83,7 @@ public int getValue() { public final static int UNKNOWN_17 = 17; public final static int UNKNOWN_77 = 77; - public static class CreaturePool extends Variable { + public static final class CreaturePool extends Variable { private int creatureId; private int value; @@ -119,7 +119,7 @@ public String toString() { } } - public static class Availability extends Variable { + public static final class Availability extends Variable { public enum AvailabilityType implements IValueEnum { @@ -310,7 +310,7 @@ public String toString() { } } - public static class CreatureFirstPerson extends CreatureStats { + public static final class CreatureFirstPerson extends CreatureStats { @Override public String toString() { @@ -318,7 +318,7 @@ public String toString() { } } - public static class MiscVariable extends Variable { + public static final class MiscVariable extends Variable { public enum MiscType implements IValueEnum { @@ -613,7 +613,7 @@ public String toString() { } } - public static class Unknown extends Variable { + public static final class Unknown extends Variable { public int variableId; private int value; @@ -685,7 +685,7 @@ public String toString() { } - public static class Sacrifice extends Variable { + public static final class Sacrifice extends Variable { private SacrificeType type1; // byte private short id1; // byte @@ -777,7 +777,7 @@ public String toString() { } } - public static class PlayerAlliance extends Variable { + public static final class PlayerAlliance extends Variable { private int playerIdOne; private int playerIdTwo; diff --git a/src/toniarts/openkeeper/tools/convert/sound/BankMapFile.java b/src/toniarts/openkeeper/tools/convert/sound/BankMapFile.java index 8238078a6..47a00224f 100644 --- a/src/toniarts/openkeeper/tools/convert/sound/BankMapFile.java +++ b/src/toniarts/openkeeper/tools/convert/sound/BankMapFile.java @@ -29,7 +29,7 @@ * * @author Toni Helenius */ -public class BankMapFile { +public final class BankMapFile { private final static int HEADER_ID[] = new int[]{ 0xE9612C01, // dword_674048 diff --git a/src/toniarts/openkeeper/tools/convert/sound/BankMapFileEntry.java b/src/toniarts/openkeeper/tools/convert/sound/BankMapFileEntry.java index e724dd6d0..db840c648 100644 --- a/src/toniarts/openkeeper/tools/convert/sound/BankMapFileEntry.java +++ b/src/toniarts/openkeeper/tools/convert/sound/BankMapFileEntry.java @@ -21,7 +21,7 @@ * * @author Toni Helenius */ -public class BankMapFileEntry { +public final class BankMapFileEntry { private long unknown1; // 0xFFFFFFFF in all files. resets to 0 in DK2 source private int unknown2; // 6746904, 6746032, 6746020, 6683824 diff --git a/src/toniarts/openkeeper/tools/convert/sound/SFChunk.java b/src/toniarts/openkeeper/tools/convert/sound/SFChunk.java index 79bf200a2..49fa4289c 100644 --- a/src/toniarts/openkeeper/tools/convert/sound/SFChunk.java +++ b/src/toniarts/openkeeper/tools/convert/sound/SFChunk.java @@ -30,7 +30,7 @@ * * @author ArchDemon */ -public class SFChunk { +public final class SFChunk { public static enum SFSampleLink implements IValueEnum { monoSample(1), @@ -365,7 +365,7 @@ public String toString() { return result; } - protected class sfVersionTag { // + protected static final class sfVersionTag { // protected int major; protected int minor; @@ -381,7 +381,7 @@ public String toString() { } } - protected class sfPresetHeader { // + protected static final class sfPresetHeader { // protected String achPresetName; protected int wPreset; @@ -410,7 +410,7 @@ public String toString() { } } - protected class sfPresetBag { // + protected static final class sfPresetBag { // protected int wGenNdx; protected int wModNdx; @@ -426,7 +426,7 @@ public String toString() { } } - protected class sfInst { // + protected static final class sfInst { // protected String achInstName; protected int wInstBagNdx; @@ -442,7 +442,7 @@ public String toString() { } } - protected class sfInstBag { // + protected static final class sfInstBag { // protected int wInstGenNdx; protected int wInstModNdx; @@ -458,7 +458,7 @@ public String toString() { } } - protected class sfSample { // + protected static final class sfSample { // protected String achSampleName; protected long dwStart; @@ -494,7 +494,7 @@ public String toString() { } } - protected class rangesType { + protected static final class rangesType { protected short byLo; protected short byHi; @@ -505,7 +505,7 @@ protected rangesType(IResourceChunkReader file) throws IOException { } } - protected class genAmountType { + protected static final class genAmountType { protected rangesType ranges; protected short shAmount; @@ -518,7 +518,7 @@ protected genAmountType(IResourceChunkReader file) throws IOException { } } - protected class SFModulator { + protected static final class SFModulator { protected Modulators bIndex = null; // A 7 bit value specifying the controller source protected boolean cc; // MIDI Continuous Controller Flag @@ -537,7 +537,7 @@ protected SFModulator(IResourceChunkReader file) throws IOException { } } - protected class SFGenerator { + protected static final class SFGenerator { protected Generators bIndex = null; protected boolean cc; @@ -556,7 +556,7 @@ protected SFGenerator(IResourceChunkReader file) throws IOException { } } - protected class SFTransform { + protected static final class SFTransform { protected Transforms bIndex = null; protected boolean cc; @@ -575,7 +575,7 @@ protected SFTransform(IResourceChunkReader file) throws IOException { } } - protected class sfModList { // + protected static final class sfModList { // protected SFModulator sfModSrcOper; protected SFGenerator sfModDestOper; @@ -599,7 +599,7 @@ public String toString() { } } - protected class sfGenList { // + protected static final class sfGenList { // protected SFGenerator sfGenOper; protected genAmountType genAmount; @@ -615,7 +615,7 @@ public String toString() { } } - protected class sfInstModList { // + protected static final class sfInstModList { // protected SFModulator sfModSrcOper; protected SFGenerator sfModDestOper; @@ -639,7 +639,7 @@ public String toString() { } } - protected class sfInstGenList { // + protected static final class sfInstGenList { // protected SFGenerator sfGenOper; protected genAmountType genAmount; diff --git a/src/toniarts/openkeeper/tools/convert/sound/SFFile.java b/src/toniarts/openkeeper/tools/convert/sound/SFFile.java index f5410ca5c..b41a2a54e 100644 --- a/src/toniarts/openkeeper/tools/convert/sound/SFFile.java +++ b/src/toniarts/openkeeper/tools/convert/sound/SFFile.java @@ -25,7 +25,7 @@ * * @author ArchDemon */ -public class SFFile { +public final class SFFile { private final SFChunk chunk; diff --git a/src/toniarts/openkeeper/tools/convert/sound/SdtFile.java b/src/toniarts/openkeeper/tools/convert/sound/SdtFile.java index 2e8fc1439..0ed014a8a 100644 --- a/src/toniarts/openkeeper/tools/convert/sound/SdtFile.java +++ b/src/toniarts/openkeeper/tools/convert/sound/SdtFile.java @@ -38,7 +38,7 @@ * * @author Toni Helenius */ -public class SdtFile { +public final class SdtFile { private static final Pattern FILE_EXTENSION_PATTERN = Pattern.compile("([^\\s]+(\\.(?i)(mp2|wav))$)"); diff --git a/src/toniarts/openkeeper/tools/convert/sound/SdtFileEntry.java b/src/toniarts/openkeeper/tools/convert/sound/SdtFileEntry.java index 103154d46..8395f1157 100644 --- a/src/toniarts/openkeeper/tools/convert/sound/SdtFileEntry.java +++ b/src/toniarts/openkeeper/tools/convert/sound/SdtFileEntry.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class SdtFileEntry { +public final class SdtFileEntry { public enum SoundType implements IValueEnum { diff --git a/src/toniarts/openkeeper/tools/convert/sound/sfx/SfxData.java b/src/toniarts/openkeeper/tools/convert/sound/sfx/SfxData.java index 5b1e45d27..52bf8e24d 100644 --- a/src/toniarts/openkeeper/tools/convert/sound/sfx/SfxData.java +++ b/src/toniarts/openkeeper/tools/convert/sound/sfx/SfxData.java @@ -22,7 +22,7 @@ * * @author archdemon */ -public class SfxData { +public final class SfxData { // private final static byte SIZE = 8; // 8 bytes diff --git a/src/toniarts/openkeeper/tools/convert/sound/sfx/SfxEEEntry.java b/src/toniarts/openkeeper/tools/convert/sound/sfx/SfxEEEntry.java index b8d67c9ec..7e01201eb 100644 --- a/src/toniarts/openkeeper/tools/convert/sound/sfx/SfxEEEntry.java +++ b/src/toniarts/openkeeper/tools/convert/sound/sfx/SfxEEEntry.java @@ -22,7 +22,7 @@ * * @author archdemon */ -public class SfxEEEntry { +public final class SfxEEEntry { // private final static byte SIZE = 42; // 42 bytes diff --git a/src/toniarts/openkeeper/tools/convert/sound/sfx/SfxGroupEntry.java b/src/toniarts/openkeeper/tools/convert/sound/sfx/SfxGroupEntry.java index 91b18a7fd..1aaf92b39 100644 --- a/src/toniarts/openkeeper/tools/convert/sound/sfx/SfxGroupEntry.java +++ b/src/toniarts/openkeeper/tools/convert/sound/sfx/SfxGroupEntry.java @@ -22,7 +22,7 @@ * * @author archdemon */ -public class SfxGroupEntry { +public final class SfxGroupEntry { //private final static byte SIZE = 20; // 20 bytes diff --git a/src/toniarts/openkeeper/tools/convert/sound/sfx/SfxMapFile.java b/src/toniarts/openkeeper/tools/convert/sound/sfx/SfxMapFile.java index 36aec8af4..c688d4af6 100644 --- a/src/toniarts/openkeeper/tools/convert/sound/sfx/SfxMapFile.java +++ b/src/toniarts/openkeeper/tools/convert/sound/sfx/SfxMapFile.java @@ -27,7 +27,7 @@ * * @author ArchDemon */ -public class SfxMapFile { +public final class SfxMapFile { private final static int HEADER_ID[] = new int[] { 0xE9612C00, // dword_674038 diff --git a/src/toniarts/openkeeper/tools/convert/sound/sfx/SfxMapFileEntry.java b/src/toniarts/openkeeper/tools/convert/sound/sfx/SfxMapFileEntry.java index ab84c7778..1b27decf3 100644 --- a/src/toniarts/openkeeper/tools/convert/sound/sfx/SfxMapFileEntry.java +++ b/src/toniarts/openkeeper/tools/convert/sound/sfx/SfxMapFileEntry.java @@ -22,7 +22,7 @@ * * @author archdemon */ -public class SfxMapFileEntry { +public final class SfxMapFileEntry { // private final static byte SIZE = 24; // 24 bytes diff --git a/src/toniarts/openkeeper/tools/convert/sound/sfx/SfxSoundEntry.java b/src/toniarts/openkeeper/tools/convert/sound/sfx/SfxSoundEntry.java index ec088765f..17e737c88 100644 --- a/src/toniarts/openkeeper/tools/convert/sound/sfx/SfxSoundEntry.java +++ b/src/toniarts/openkeeper/tools/convert/sound/sfx/SfxSoundEntry.java @@ -20,7 +20,7 @@ * * @author archdemon */ -public class SfxSoundEntry { +public final class SfxSoundEntry { protected final static byte SIZE = 16; // 16 bytes diff --git a/src/toniarts/openkeeper/tools/convert/spr/SprEntry.java b/src/toniarts/openkeeper/tools/convert/spr/SprEntry.java index 6656f802b..13601fd33 100644 --- a/src/toniarts/openkeeper/tools/convert/spr/SprEntry.java +++ b/src/toniarts/openkeeper/tools/convert/spr/SprEntry.java @@ -26,9 +26,9 @@ * * @author ArchDemon */ -public class SprEntry { +public final class SprEntry { - protected class SprEntryHeader { + protected static final class SprEntryHeader { int width; int height; diff --git a/src/toniarts/openkeeper/tools/convert/spr/SprFile.java b/src/toniarts/openkeeper/tools/convert/spr/SprFile.java index a9c2e24bf..cbf7971c7 100644 --- a/src/toniarts/openkeeper/tools/convert/spr/SprFile.java +++ b/src/toniarts/openkeeper/tools/convert/spr/SprFile.java @@ -38,9 +38,9 @@ * * @author ArchDemon */ -public class SprFile { +public final class SprFile { - private class SprHeader { + private static final class SprHeader { protected String tag; // PSFB protected int framesCount; @@ -90,8 +90,8 @@ private void parseSprFile(final IResourceReader data) throws RuntimeException, I dataReader = data.readChunk(8 * header.framesCount); sprites = new ArrayList<>(header.framesCount); for (int i = 0; i < header.framesCount; i++) { - SprEntry sprite = new SprEntry(); - SprEntryHeader entryHeader = sprite.new SprEntryHeader(); + var sprite = new SprEntry(); + var entryHeader = new SprEntryHeader(); entryHeader.width = dataReader.readUnsignedShort(); entryHeader.height = dataReader.readUnsignedShort(); entryHeader.offset = dataReader.readUnsignedIntegerAsLong(); diff --git a/src/toniarts/openkeeper/tools/convert/str/MbToUniFile.java b/src/toniarts/openkeeper/tools/convert/str/MbToUniFile.java index 65288667f..694011a40 100644 --- a/src/toniarts/openkeeper/tools/convert/str/MbToUniFile.java +++ b/src/toniarts/openkeeper/tools/convert/str/MbToUniFile.java @@ -31,7 +31,7 @@ * * @author Toni Helenius */ -public class MbToUniFile { +public final class MbToUniFile { private static final String CODEPAGE_HEADER_IDENTIFIER = "BFMU"; diff --git a/src/toniarts/openkeeper/tools/convert/str/StrFile.java b/src/toniarts/openkeeper/tools/convert/str/StrFile.java index 72703dbee..71af6249b 100644 --- a/src/toniarts/openkeeper/tools/convert/str/StrFile.java +++ b/src/toniarts/openkeeper/tools/convert/str/StrFile.java @@ -40,7 +40,7 @@ * * @author Toni Helenius */ -public class StrFile { +public final class StrFile { private static final Logger logger = System.getLogger(StrFile.class.getName()); diff --git a/src/toniarts/openkeeper/tools/convert/textures/ImageUtil.java b/src/toniarts/openkeeper/tools/convert/textures/ImageUtil.java index cae50db12..32e00356f 100644 --- a/src/toniarts/openkeeper/tools/convert/textures/ImageUtil.java +++ b/src/toniarts/openkeeper/tools/convert/textures/ImageUtil.java @@ -25,7 +25,7 @@ * * @author Toni Helenius */ -public class ImageUtil { +public final class ImageUtil { /** * Creates a BufferedImage out of raw byte data diff --git a/src/toniarts/openkeeper/tools/convert/textures/enginetextures/EngineTextureDecoder.java b/src/toniarts/openkeeper/tools/convert/textures/enginetextures/EngineTextureDecoder.java index 3d1862502..e084f0622 100644 --- a/src/toniarts/openkeeper/tools/convert/textures/enginetextures/EngineTextureDecoder.java +++ b/src/toniarts/openkeeper/tools/convert/textures/enginetextures/EngineTextureDecoder.java @@ -26,7 +26,7 @@ * * @author Toni Helenius */ -public class EngineTextureDecoder extends Dk2TextureDecoder { +public final class EngineTextureDecoder extends Dk2TextureDecoder { private static final short[] jump_table_7af4e0 = {0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, 0x2, diff --git a/src/toniarts/openkeeper/tools/convert/textures/enginetextures/EngineTextureEntry.java b/src/toniarts/openkeeper/tools/convert/textures/enginetextures/EngineTextureEntry.java index 5b47c4b58..53adc3743 100644 --- a/src/toniarts/openkeeper/tools/convert/textures/enginetextures/EngineTextureEntry.java +++ b/src/toniarts/openkeeper/tools/convert/textures/enginetextures/EngineTextureEntry.java @@ -22,7 +22,7 @@ * * @author Toni Helenius */ -public class EngineTextureEntry { +public final class EngineTextureEntry { private int resX; private int resY; diff --git a/src/toniarts/openkeeper/tools/convert/textures/enginetextures/EngineTexturesFile.java b/src/toniarts/openkeeper/tools/convert/textures/enginetextures/EngineTexturesFile.java index b9f3fcdc8..7ec99bd29 100644 --- a/src/toniarts/openkeeper/tools/convert/textures/enginetextures/EngineTexturesFile.java +++ b/src/toniarts/openkeeper/tools/convert/textures/enginetextures/EngineTexturesFile.java @@ -47,7 +47,7 @@ * * @author Toni Helenius */ -public class EngineTexturesFile implements Iterable { +public final class EngineTexturesFile implements Iterable { private static final Logger logger = System.getLogger(EngineTexturesFile.class.getName()); diff --git a/src/toniarts/openkeeper/tools/convert/textures/loadingscreens/LoadingScreenFile.java b/src/toniarts/openkeeper/tools/convert/textures/loadingscreens/LoadingScreenFile.java index 78f48eeaa..4df3f0209 100644 --- a/src/toniarts/openkeeper/tools/convert/textures/loadingscreens/LoadingScreenFile.java +++ b/src/toniarts/openkeeper/tools/convert/textures/loadingscreens/LoadingScreenFile.java @@ -29,7 +29,7 @@ * * @author Toni Helenius */ -public class LoadingScreenFile { +public final class LoadingScreenFile { private final BufferedImage image; diff --git a/src/toniarts/openkeeper/tools/convert/textures/loadingscreens/LoadingScreenTextureDecoder.java b/src/toniarts/openkeeper/tools/convert/textures/loadingscreens/LoadingScreenTextureDecoder.java index 7494fdd69..053212b53 100644 --- a/src/toniarts/openkeeper/tools/convert/textures/loadingscreens/LoadingScreenTextureDecoder.java +++ b/src/toniarts/openkeeper/tools/convert/textures/loadingscreens/LoadingScreenTextureDecoder.java @@ -26,7 +26,7 @@ * * @author Toni Helenius */ -public class LoadingScreenTextureDecoder extends Dk2TextureDecoder { +public final class LoadingScreenTextureDecoder extends Dk2TextureDecoder { @Override protected void decompress_block(ByteBuffer out, int stride, boolean alphaFlag) { diff --git a/src/toniarts/openkeeper/tools/convert/wad/WadFile.java b/src/toniarts/openkeeper/tools/convert/wad/WadFile.java index 8a8c70f55..93a8b91d3 100644 --- a/src/toniarts/openkeeper/tools/convert/wad/WadFile.java +++ b/src/toniarts/openkeeper/tools/convert/wad/WadFile.java @@ -46,7 +46,7 @@ * * @author Toni Helenius */ -public class WadFile { +public final class WadFile { private static final Logger logger = System.getLogger(WadFile.class.getName()); diff --git a/src/toniarts/openkeeper/tools/convert/wad/WadFileEntry.java b/src/toniarts/openkeeper/tools/convert/wad/WadFileEntry.java index 6c3a53db1..9b3d73d76 100644 --- a/src/toniarts/openkeeper/tools/convert/wad/WadFileEntry.java +++ b/src/toniarts/openkeeper/tools/convert/wad/WadFileEntry.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class WadFileEntry { +public final class WadFileEntry { public enum WadFileEntryType implements IValueEnum { diff --git a/src/toniarts/openkeeper/tools/modelviewer/CreaturesLoader.java b/src/toniarts/openkeeper/tools/modelviewer/CreaturesLoader.java index fd8c12d48..6174aee0c 100644 --- a/src/toniarts/openkeeper/tools/modelviewer/CreaturesLoader.java +++ b/src/toniarts/openkeeper/tools/modelviewer/CreaturesLoader.java @@ -35,7 +35,7 @@ * * @author ArchDemon */ -public class CreaturesLoader implements ILoader { +public final class CreaturesLoader implements ILoader { @Override public Spatial load(AssetManager assetManager, Creature object) { diff --git a/src/toniarts/openkeeper/tools/modelviewer/Debug.java b/src/toniarts/openkeeper/tools/modelviewer/Debug.java index ec0df3a1f..cf059d22d 100644 --- a/src/toniarts/openkeeper/tools/modelviewer/Debug.java +++ b/src/toniarts/openkeeper/tools/modelviewer/Debug.java @@ -38,7 +38,7 @@ @author Alex Cham aka Jcrypto */ -public class Debug { +public final class Debug { public static void showNodeAxes(AssetManager am, Node n, float axisLen) { Vector3f v = new Vector3f(axisLen, 0, 0); diff --git a/src/toniarts/openkeeper/tools/modelviewer/DebugUtils.java b/src/toniarts/openkeeper/tools/modelviewer/DebugUtils.java index dc2c97949..a7cb8b246 100644 --- a/src/toniarts/openkeeper/tools/modelviewer/DebugUtils.java +++ b/src/toniarts/openkeeper/tools/modelviewer/DebugUtils.java @@ -28,7 +28,7 @@ * Example Vector Summ * @author Alex Cham aka Jcrypto */ -public class DebugUtils { +public final class DebugUtils { // public static Node makeNode(String name) { Node n = new Node(name); diff --git a/src/toniarts/openkeeper/tools/modelviewer/DoorsLoader.java b/src/toniarts/openkeeper/tools/modelviewer/DoorsLoader.java index 3d32b21bc..ef5713bd5 100644 --- a/src/toniarts/openkeeper/tools/modelviewer/DoorsLoader.java +++ b/src/toniarts/openkeeper/tools/modelviewer/DoorsLoader.java @@ -31,7 +31,7 @@ * * @author ArchDemon */ -public class DoorsLoader implements ILoader { +public final class DoorsLoader implements ILoader { @Override public Spatial load(AssetManager assetManager, Door object) { diff --git a/src/toniarts/openkeeper/tools/modelviewer/MapLoaderAppState.java b/src/toniarts/openkeeper/tools/modelviewer/MapLoaderAppState.java index 6c9a2f651..2d58570f7 100644 --- a/src/toniarts/openkeeper/tools/modelviewer/MapLoaderAppState.java +++ b/src/toniarts/openkeeper/tools/modelviewer/MapLoaderAppState.java @@ -42,7 +42,7 @@ * * @author Toni Helenius */ -public class MapLoaderAppState extends AbstractAppState { +public final class MapLoaderAppState extends AbstractAppState { protected AssetManager assetManager; protected AppStateManager stateManager; @@ -109,7 +109,7 @@ public void cleanup() { unloadMap(); } - private static class MapEntityViewState extends PlayerEntityViewState { + private static final class MapEntityViewState extends PlayerEntityViewState { public MapEntityViewState(KwdFile kwdFile, AssetManager assetManager, EntityData entityData, short playerId, TextParser textParser, Node rootNode) { super(kwdFile, assetManager, entityData, playerId, textParser, rootNode); @@ -118,7 +118,7 @@ public MapEntityViewState(KwdFile kwdFile, AssetManager assetManager, EntityData } } - private static class MapPlayerService implements PlayerService { + private static final class MapPlayerService implements PlayerService { public MapPlayerService() { } diff --git a/src/toniarts/openkeeper/tools/modelviewer/ModelViewer.java b/src/toniarts/openkeeper/tools/modelviewer/ModelViewer.java index e21c7c681..91b0204d9 100644 --- a/src/toniarts/openkeeper/tools/modelviewer/ModelViewer.java +++ b/src/toniarts/openkeeper/tools/modelviewer/ModelViewer.java @@ -97,7 +97,7 @@ * * @author Toni Helenius */ -public class ModelViewer extends SimpleApplication { +public final class ModelViewer extends SimpleApplication { public enum Types { diff --git a/src/toniarts/openkeeper/tools/modelviewer/ModelViewerScreenController.java b/src/toniarts/openkeeper/tools/modelviewer/ModelViewerScreenController.java index 6cc573c28..2fc0adb2a 100644 --- a/src/toniarts/openkeeper/tools/modelviewer/ModelViewerScreenController.java +++ b/src/toniarts/openkeeper/tools/modelviewer/ModelViewerScreenController.java @@ -52,7 +52,7 @@ * * @author archdemon */ -public class ModelViewerScreenController implements ScreenController { +public final class ModelViewerScreenController implements ScreenController { public final static String ID_SCREEN = "start"; diff --git a/src/toniarts/openkeeper/tools/modelviewer/ObjectsLoader.java b/src/toniarts/openkeeper/tools/modelviewer/ObjectsLoader.java index 2f0307e28..ea4630390 100644 --- a/src/toniarts/openkeeper/tools/modelviewer/ObjectsLoader.java +++ b/src/toniarts/openkeeper/tools/modelviewer/ObjectsLoader.java @@ -31,7 +31,7 @@ * * @author archdemon */ -public class ObjectsLoader implements ILoader { +public final class ObjectsLoader implements ILoader { @Override public Spatial load(AssetManager assetManager, GameObject object) { diff --git a/src/toniarts/openkeeper/tools/modelviewer/RoomsLoader.java b/src/toniarts/openkeeper/tools/modelviewer/RoomsLoader.java index 02e658027..8d3664700 100644 --- a/src/toniarts/openkeeper/tools/modelviewer/RoomsLoader.java +++ b/src/toniarts/openkeeper/tools/modelviewer/RoomsLoader.java @@ -31,7 +31,7 @@ * * @author ArchDemon */ -public class RoomsLoader implements ILoader { +public final class RoomsLoader implements ILoader { @Override public Spatial load(AssetManager assetManager, Room object) { diff --git a/src/toniarts/openkeeper/tools/modelviewer/RotatorControl.java b/src/toniarts/openkeeper/tools/modelviewer/RotatorControl.java index 172bca75e..d212a70aa 100644 --- a/src/toniarts/openkeeper/tools/modelviewer/RotatorControl.java +++ b/src/toniarts/openkeeper/tools/modelviewer/RotatorControl.java @@ -27,7 +27,7 @@ * * @author Toni */ -public class RotatorControl extends AbstractControl { +public final class RotatorControl extends AbstractControl { private static final float TURN_RATE = FastMath.PI; diff --git a/src/toniarts/openkeeper/tools/modelviewer/ShotsLoader.java b/src/toniarts/openkeeper/tools/modelviewer/ShotsLoader.java index 3b1619ab3..34939b116 100644 --- a/src/toniarts/openkeeper/tools/modelviewer/ShotsLoader.java +++ b/src/toniarts/openkeeper/tools/modelviewer/ShotsLoader.java @@ -31,7 +31,7 @@ * * @author ArchDemon */ -public class ShotsLoader implements ILoader { +public final class ShotsLoader implements ILoader { @Override public Spatial load(AssetManager assetManager, Shot object) { diff --git a/src/toniarts/openkeeper/tools/modelviewer/SoundsLoader.java b/src/toniarts/openkeeper/tools/modelviewer/SoundsLoader.java index 46e63be68..ffec72551 100644 --- a/src/toniarts/openkeeper/tools/modelviewer/SoundsLoader.java +++ b/src/toniarts/openkeeper/tools/modelviewer/SoundsLoader.java @@ -42,7 +42,7 @@ * * @author archdemon */ -public class SoundsLoader { +public final class SoundsLoader { private static final Logger logger = System.getLogger(SoundsLoader.class.getName()); diff --git a/src/toniarts/openkeeper/tools/modelviewer/TerrainsLoader.java b/src/toniarts/openkeeper/tools/modelviewer/TerrainsLoader.java index 86cfcd9d6..0b303b689 100644 --- a/src/toniarts/openkeeper/tools/modelviewer/TerrainsLoader.java +++ b/src/toniarts/openkeeper/tools/modelviewer/TerrainsLoader.java @@ -32,7 +32,7 @@ * * @author Toni Helenius */ -public class TerrainsLoader implements ILoader { +public final class TerrainsLoader implements ILoader { @Override public Spatial load(AssetManager assetManager, Terrain object) { diff --git a/src/toniarts/openkeeper/tools/modelviewer/TrapsLoader.java b/src/toniarts/openkeeper/tools/modelviewer/TrapsLoader.java index cb01b707c..4de3a9f67 100644 --- a/src/toniarts/openkeeper/tools/modelviewer/TrapsLoader.java +++ b/src/toniarts/openkeeper/tools/modelviewer/TrapsLoader.java @@ -31,7 +31,7 @@ * * @author ArchDemon */ -public class TrapsLoader implements ILoader { +public final class TrapsLoader implements ILoader { @Override public Spatial load(AssetManager assetManager, Trap object) { diff --git a/src/toniarts/openkeeper/tools/modelviewer/UniversalArtResourceLoader.java b/src/toniarts/openkeeper/tools/modelviewer/UniversalArtResourceLoader.java index b0c7774e4..5ff65a2ee 100644 --- a/src/toniarts/openkeeper/tools/modelviewer/UniversalArtResourceLoader.java +++ b/src/toniarts/openkeeper/tools/modelviewer/UniversalArtResourceLoader.java @@ -28,7 +28,7 @@ * * @author archdemon */ -public class UniversalArtResourceLoader { +public final class UniversalArtResourceLoader { public static Spatial load(final AssetManager assetManager, ArtResource resource) { diff --git a/src/toniarts/openkeeper/tools/modelviewer/nifty/CreatureControl.java b/src/toniarts/openkeeper/tools/modelviewer/nifty/CreatureControl.java index 6c75bae36..111af6e28 100644 --- a/src/toniarts/openkeeper/tools/modelviewer/nifty/CreatureControl.java +++ b/src/toniarts/openkeeper/tools/modelviewer/nifty/CreatureControl.java @@ -27,7 +27,7 @@ * * @author archdemon */ -public class CreatureControl implements Controller { +public final class CreatureControl implements Controller { @Override public void bind(Nifty nifty, Screen screen, Element element, Parameters parameter) { diff --git a/src/toniarts/openkeeper/utils/AssetUtils.java b/src/toniarts/openkeeper/utils/AssetUtils.java index a46fabb02..83be9b5a5 100644 --- a/src/toniarts/openkeeper/utils/AssetUtils.java +++ b/src/toniarts/openkeeper/utils/AssetUtils.java @@ -70,7 +70,7 @@ * * @author Toni Helenius */ -public class AssetUtils { +public final class AssetUtils { private static final Logger logger = System.getLogger(AssetUtils.class.getName()); diff --git a/src/toniarts/openkeeper/utils/AwtDisplayModeProvider.java b/src/toniarts/openkeeper/utils/AwtDisplayModeProvider.java index fc5cdfbba..67e0eadc1 100644 --- a/src/toniarts/openkeeper/utils/AwtDisplayModeProvider.java +++ b/src/toniarts/openkeeper/utils/AwtDisplayModeProvider.java @@ -27,7 +27,7 @@ * * @author Toni Helenius */ -class AwtDisplayModeProvider extends DefaultDisplayModeProvider { +final class AwtDisplayModeProvider extends DefaultDisplayModeProvider { public AwtDisplayModeProvider() { } diff --git a/src/toniarts/openkeeper/utils/DisplayModeUtils.java b/src/toniarts/openkeeper/utils/DisplayModeUtils.java index e9f9f36b5..9ec3db77c 100644 --- a/src/toniarts/openkeeper/utils/DisplayModeUtils.java +++ b/src/toniarts/openkeeper/utils/DisplayModeUtils.java @@ -26,14 +26,14 @@ * * @author Toni Helenius */ -public class DisplayModeUtils implements DisplayModeProvider { +public final class DisplayModeUtils implements DisplayModeProvider { /** * The delegate for the actual provider */ private final DisplayModeProvider displayModeProvider; - private static class SingletonHelper { + private static final class SingletonHelper { private static final DisplayModeUtils INSTANCE = new DisplayModeUtils(); } diff --git a/src/toniarts/openkeeper/utils/FullMoon.java b/src/toniarts/openkeeper/utils/FullMoon.java index b3a78092f..da13acb7a 100644 --- a/src/toniarts/openkeeper/utils/FullMoon.java +++ b/src/toniarts/openkeeper/utils/FullMoon.java @@ -23,7 +23,7 @@ import com.jme3.math.FastMath; import java.time.LocalDateTime; -public class FullMoon { +public final class FullMoon { private static final double SMALL_FLOAT = (1e-12); // size of the deviation to be recognised as full moon diff --git a/src/toniarts/openkeeper/utils/GameLoop.java b/src/toniarts/openkeeper/utils/GameLoop.java index 6cf52653a..34b072b93 100644 --- a/src/toniarts/openkeeper/utils/GameLoop.java +++ b/src/toniarts/openkeeper/utils/GameLoop.java @@ -23,7 +23,7 @@ * * @author Toni Helenius */ -public class GameLoop { +public final class GameLoop { public static final long INTERVAL_FPS_60 = 16666667L; private static final String DEFAULT_NAME = "GameLoopThread"; @@ -124,7 +124,7 @@ public void resume() { * call makeup frames if it gets behind and we'd rather just drop them. * Furthermore, this allows us to 'busy wait' for the next 'frame'. */ - protected class Runner extends Thread { + protected final class Runner extends Thread { private final AtomicBoolean go = new AtomicBoolean(true); diff --git a/src/toniarts/openkeeper/utils/Lwjgl2DisplayModeProvider.java b/src/toniarts/openkeeper/utils/Lwjgl2DisplayModeProvider.java index c7ffd3ff9..9230642c2 100644 --- a/src/toniarts/openkeeper/utils/Lwjgl2DisplayModeProvider.java +++ b/src/toniarts/openkeeper/utils/Lwjgl2DisplayModeProvider.java @@ -26,7 +26,7 @@ * * @author Toni Helenius */ -class Lwjgl2DisplayModeProvider extends DefaultDisplayModeProvider { +final class Lwjgl2DisplayModeProvider extends DefaultDisplayModeProvider { private final Method getBitsPerPixel; private final Method getFrequency; diff --git a/src/toniarts/openkeeper/utils/Lwjgl3DisplayModeProvider.java b/src/toniarts/openkeeper/utils/Lwjgl3DisplayModeProvider.java index 887552736..16365b080 100644 --- a/src/toniarts/openkeeper/utils/Lwjgl3DisplayModeProvider.java +++ b/src/toniarts/openkeeper/utils/Lwjgl3DisplayModeProvider.java @@ -27,7 +27,7 @@ * * @author Toni Helenius */ -class Lwjgl3DisplayModeProvider extends DefaultDisplayModeProvider { +final class Lwjgl3DisplayModeProvider extends DefaultDisplayModeProvider { private final Method get; private final Method getBlueBits; diff --git a/src/toniarts/openkeeper/utils/MapThumbnailGenerator.java b/src/toniarts/openkeeper/utils/MapThumbnailGenerator.java index 9824934bb..299d98f80 100644 --- a/src/toniarts/openkeeper/utils/MapThumbnailGenerator.java +++ b/src/toniarts/openkeeper/utils/MapThumbnailGenerator.java @@ -53,7 +53,7 @@ * * @author Toni Helenius */ -public class MapThumbnailGenerator { +public final class MapThumbnailGenerator { private static final Logger logger = System.getLogger(MapThumbnailGenerator.class.getName()); diff --git a/src/toniarts/openkeeper/utils/PathUtils.java b/src/toniarts/openkeeper/utils/PathUtils.java index f113c208d..79eaf7d3b 100644 --- a/src/toniarts/openkeeper/utils/PathUtils.java +++ b/src/toniarts/openkeeper/utils/PathUtils.java @@ -36,7 +36,7 @@ import java.util.Objects; import java.util.regex.Matcher; -public class PathUtils { +public final class PathUtils { private static final Logger logger = System.getLogger(PathUtils.class.getName()); @@ -297,7 +297,7 @@ public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IO /** * File finder, recursively tries to find a file ignoring case */ - private static class FileFinder extends SimpleFileVisitor { + private static final class FileFinder extends SimpleFileVisitor { private int level = 0; private String file; @@ -349,7 +349,7 @@ public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOEx * Represents a simple path tree cache, with unlimited number of roots. * Offers some methods to manage the tree. */ - private static class PathTree extends HashMap { + private static final class PathTree extends HashMap { /** * Add the path to cache from KNOWN file @@ -424,7 +424,7 @@ public String getCertainPath(String fileName, String defaultPath) { /** * Path node that represents a single folder */ - private static class PathNode { + private static final class PathNode { private final String path; private final String name; diff --git a/src/toniarts/openkeeper/utils/PauseableScheduledThreadPoolExecutor.java b/src/toniarts/openkeeper/utils/PauseableScheduledThreadPoolExecutor.java index 3ee556856..bf2760125 100644 --- a/src/toniarts/openkeeper/utils/PauseableScheduledThreadPoolExecutor.java +++ b/src/toniarts/openkeeper/utils/PauseableScheduledThreadPoolExecutor.java @@ -28,7 +28,7 @@ * * @author Toni Helenius */ -public class PauseableScheduledThreadPoolExecutor extends ScheduledThreadPoolExecutor { +public final class PauseableScheduledThreadPoolExecutor extends ScheduledThreadPoolExecutor { private boolean paused; private final ReentrantLock pauseLock = new ReentrantLock(); diff --git a/src/toniarts/openkeeper/utils/SettingUtils.java b/src/toniarts/openkeeper/utils/SettingUtils.java index 27124623c..ef5711628 100644 --- a/src/toniarts/openkeeper/utils/SettingUtils.java +++ b/src/toniarts/openkeeper/utils/SettingUtils.java @@ -30,7 +30,7 @@ -public class SettingUtils { +public final class SettingUtils { private static final Logger logger = System.getLogger(SettingUtils.class.getName()); diff --git a/src/toniarts/openkeeper/utils/TextUtils.java b/src/toniarts/openkeeper/utils/TextUtils.java index f8a9a557e..9282f41ed 100644 --- a/src/toniarts/openkeeper/utils/TextUtils.java +++ b/src/toniarts/openkeeper/utils/TextUtils.java @@ -30,7 +30,7 @@ * * @author Toni Helenius */ -public class TextUtils { +public final class TextUtils { private final static Pattern PATTERN = Pattern.compile("%(\\d+|%)"); diff --git a/src/toniarts/openkeeper/utils/Utils.java b/src/toniarts/openkeeper/utils/Utils.java index 0a9b7f0a0..ce4ee5223 100644 --- a/src/toniarts/openkeeper/utils/Utils.java +++ b/src/toniarts/openkeeper/utils/Utils.java @@ -40,7 +40,7 @@ * * @author Toni Helenius */ -public class Utils { +public final class Utils { private static final Logger logger = System.getLogger(Utils.class.getName()); diff --git a/src/toniarts/openkeeper/utils/WorldUtils.java b/src/toniarts/openkeeper/utils/WorldUtils.java index 075e30aa4..e9927aff4 100644 --- a/src/toniarts/openkeeper/utils/WorldUtils.java +++ b/src/toniarts/openkeeper/utils/WorldUtils.java @@ -31,7 +31,7 @@ * * @author archdemon */ -public class WorldUtils { +public final class WorldUtils { public static final float TILE_HEIGHT = 1; public static final float TILE_WIDTH = 1; diff --git a/src/toniarts/openkeeper/video/MovieMaterial.java b/src/toniarts/openkeeper/video/MovieMaterial.java index d3c7f0ccc..89392371b 100644 --- a/src/toniarts/openkeeper/video/MovieMaterial.java +++ b/src/toniarts/openkeeper/video/MovieMaterial.java @@ -36,7 +36,7 @@ * * @author Toni Helenius */ -public class MovieMaterial { +public final class MovieMaterial { private static final Logger logger = System.getLogger(MovieMaterial.class.getName()); diff --git a/src/toniarts/openkeeper/video/TgqPlayer.java b/src/toniarts/openkeeper/video/TgqPlayer.java index 76c7c7bcb..86815f029 100644 --- a/src/toniarts/openkeeper/video/TgqPlayer.java +++ b/src/toniarts/openkeeper/video/TgqPlayer.java @@ -163,7 +163,7 @@ public synchronized void stop() { * This thread handles the audio playback, critical to the process since the * video is synced to the audio */ - private class AudioPlayer implements Runnable { + private final class AudioPlayer implements Runnable { public AudioPlayer() { } @@ -294,7 +294,7 @@ private void initAudio(EAAudioHeader audioHeader) { /** * Plays the actual video frames, is synced to audio */ - private class VideoPlayer implements Runnable { + private final class VideoPlayer implements Runnable { public VideoPlayer() { } @@ -371,7 +371,7 @@ public void run() { /** * Decoder, decodes the movie frames, keeps the buffers filled */ - private class TgqDecoder implements Runnable { + private final class TgqDecoder implements Runnable { private final Path file; diff --git a/src/toniarts/openkeeper/video/tgq/EAAudioFrame.java b/src/toniarts/openkeeper/video/tgq/EAAudioFrame.java index 131b5f765..4b69502c1 100644 --- a/src/toniarts/openkeeper/video/tgq/EAAudioFrame.java +++ b/src/toniarts/openkeeper/video/tgq/EAAudioFrame.java @@ -26,7 +26,7 @@ * * @author Toni Helenius */ -public class EAAudioFrame implements Comparable { +public final class EAAudioFrame implements Comparable { private static final int EA_ADPCM_TABLE[] = { 0, 240, 460, 392, diff --git a/src/toniarts/openkeeper/video/tgq/EAAudioHeader.java b/src/toniarts/openkeeper/video/tgq/EAAudioHeader.java index 288f13c73..72efd3a62 100644 --- a/src/toniarts/openkeeper/video/tgq/EAAudioHeader.java +++ b/src/toniarts/openkeeper/video/tgq/EAAudioHeader.java @@ -21,7 +21,7 @@ * * @author Toni Helenius */ -public class EAAudioHeader { +public final class EAAudioHeader { public enum Platform { diff --git a/src/toniarts/openkeeper/video/tgq/TgqFrame.java b/src/toniarts/openkeeper/video/tgq/TgqFrame.java index 903d64df6..1750f3bfa 100644 --- a/src/toniarts/openkeeper/video/tgq/TgqFrame.java +++ b/src/toniarts/openkeeper/video/tgq/TgqFrame.java @@ -36,7 +36,7 @@ * * @author Toni Helenius */ -public class TgqFrame implements Comparable { +public final class TgqFrame implements Comparable { private static final Logger logger = System.getLogger(TgqFrame.class.getName()); diff --git a/src/toniarts/openkeeper/view/KeeperHandState.java b/src/toniarts/openkeeper/view/KeeperHandState.java index b53c709aa..f4d2f1978 100644 --- a/src/toniarts/openkeeper/view/KeeperHandState.java +++ b/src/toniarts/openkeeper/view/KeeperHandState.java @@ -263,7 +263,7 @@ private void updateHand() { protected abstract void updateCursor(); - private class InHandLoaderCreatureModelContainer extends EntityContainer { + private final class InHandLoaderCreatureModelContainer extends EntityContainer { public InHandLoaderCreatureModelContainer(EntityData entityData) { super(entityData, new FieldFilter(InHand.class, "playerId", playerId), InHand.class); @@ -304,7 +304,7 @@ protected void removeObject(KeeperHandItem object, Entity e) { } - private static class KeeperHandItem implements Comparable { + private static final class KeeperHandItem implements Comparable { private int index; private IEntityViewControl item; diff --git a/src/toniarts/openkeeper/view/PlayerCamera.java b/src/toniarts/openkeeper/view/PlayerCamera.java index e2c247827..419a2cd0f 100644 --- a/src/toniarts/openkeeper/view/PlayerCamera.java +++ b/src/toniarts/openkeeper/view/PlayerCamera.java @@ -31,7 +31,7 @@ * * @author Toni Helenius */ -public class PlayerCamera { +public final class PlayerCamera { private final Camera cam; private final Thing.Camera presets; diff --git a/src/toniarts/openkeeper/view/PlayerCameraState.java b/src/toniarts/openkeeper/view/PlayerCameraState.java index 4701cbd29..eb5328c03 100644 --- a/src/toniarts/openkeeper/view/PlayerCameraState.java +++ b/src/toniarts/openkeeper/view/PlayerCameraState.java @@ -57,7 +57,7 @@ * * @author Toni Helenius */ -public class PlayerCameraState extends AbstractPauseAwareState implements ActionListener, AnalogListener { +public final class PlayerCameraState extends AbstractPauseAwareState implements ActionListener, AnalogListener { private Main app; private AppStateManager stateManager; diff --git a/src/toniarts/openkeeper/view/PlayerEntityViewState.java b/src/toniarts/openkeeper/view/PlayerEntityViewState.java index f488106d7..8ab54e1d4 100644 --- a/src/toniarts/openkeeper/view/PlayerEntityViewState.java +++ b/src/toniarts/openkeeper/view/PlayerEntityViewState.java @@ -356,7 +356,7 @@ public void showUnitFlower(EntityId entityId, int interval) { /** * Contains the static(ish) objects... */ - private class ObjectModelContainer extends EntityContainer { + private final class ObjectModelContainer extends EntityContainer { public ObjectModelContainer(EntityData ed) { super(ed, Position.class, ObjectViewState.class); // Stuff with position is on the map @@ -387,7 +387,7 @@ protected void removeObject(Spatial object, Entity e) { /** * Contains the creatures... */ - private class CreatureModelContainer extends EntityContainer { + private final class CreatureModelContainer extends EntityContainer { public CreatureModelContainer(EntityData ed) { super(ed, Position.class, CreatureViewState.class); // Stuff with position is on the map @@ -418,7 +418,7 @@ protected void removeObject(Spatial object, Entity e) { /** * Contains the static doors... */ - private class DoorModelContainer extends EntityContainer { + private final class DoorModelContainer extends EntityContainer { public DoorModelContainer(EntityData ed) { super(ed, Position.class, DoorViewState.class); // Stuff with position is on the map @@ -448,7 +448,7 @@ protected void removeObject(Spatial object, Entity e) { /** * Contains the static traps... */ - private class TrapModelContainer extends EntityContainer { + private final class TrapModelContainer extends EntityContainer { public TrapModelContainer(EntityData ed) { super(ed, Position.class, TrapViewState.class); // Stuff with position is on the map diff --git a/src/toniarts/openkeeper/view/PlayerInteractionState.java b/src/toniarts/openkeeper/view/PlayerInteractionState.java index db7f57515..c6944c4cc 100644 --- a/src/toniarts/openkeeper/view/PlayerInteractionState.java +++ b/src/toniarts/openkeeper/view/PlayerInteractionState.java @@ -712,6 +712,10 @@ public void onKeyEvent(KeyInputEvent evt) { } } + if (evt.isPressed() && evt.getKeyCode() == (int)Settings.Setting.TOGGLE_GUI.getDefaultValue()) { + stateManager.getState(PlayerState.class).getScreen().toggleGui(); + } + } @Override @@ -778,7 +782,7 @@ public boolean isKeeperHandFull() { protected abstract void onPossession(EntityId creature); - public static class InteractionState { + public static final class InteractionState { public enum Type { diff --git a/src/toniarts/openkeeper/view/PlayerMapViewState.java b/src/toniarts/openkeeper/view/PlayerMapViewState.java index 8db6840d2..835ab1923 100644 --- a/src/toniarts/openkeeper/view/PlayerMapViewState.java +++ b/src/toniarts/openkeeper/view/PlayerMapViewState.java @@ -337,7 +337,7 @@ public void setTiles(List mapTiles) { /** * Single map tile that taps into the entity information */ - private static class MapTileInformation extends AbstractMapTileInformation { + private static final class MapTileInformation extends AbstractMapTileInformation { private final Entity entity; diff --git a/src/toniarts/openkeeper/view/PossessionCamera.java b/src/toniarts/openkeeper/view/PossessionCamera.java index ca5d8ee05..e2f2e23bb 100644 --- a/src/toniarts/openkeeper/view/PossessionCamera.java +++ b/src/toniarts/openkeeper/view/PossessionCamera.java @@ -26,7 +26,7 @@ * @author ArchDemon */ -public class PossessionCamera { +public final class PossessionCamera { private final Camera camera; //private static final float ZOOM_SPEED = 25f; private float speed; diff --git a/src/toniarts/openkeeper/view/PossessionCameraState.java b/src/toniarts/openkeeper/view/PossessionCameraState.java index 832f2aa33..fbb29a136 100644 --- a/src/toniarts/openkeeper/view/PossessionCameraState.java +++ b/src/toniarts/openkeeper/view/PossessionCameraState.java @@ -39,7 +39,7 @@ * * @author ArchDemon */ -public class PossessionCameraState extends AbstractPauseAwareState implements ActionListener, AnalogListener { +public final class PossessionCameraState extends AbstractPauseAwareState implements ActionListener, AnalogListener { private static final Logger logger = System.getLogger(PossessionCameraState.class.getName()); diff --git a/src/toniarts/openkeeper/view/SystemMessageState.java b/src/toniarts/openkeeper/view/SystemMessageState.java index 99802f98b..9d2d8cc3f 100644 --- a/src/toniarts/openkeeper/view/SystemMessageState.java +++ b/src/toniarts/openkeeper/view/SystemMessageState.java @@ -35,7 +35,7 @@ * * @author ufdada */ -public class SystemMessageState extends AbstractPauseAwareState { +public final class SystemMessageState extends AbstractPauseAwareState { private static final float MESSAGE_LIFETIME = 60000f; diff --git a/src/toniarts/openkeeper/view/animation/AnimationLoader.java b/src/toniarts/openkeeper/view/animation/AnimationLoader.java index 222d6dae1..62aaa6fba 100644 --- a/src/toniarts/openkeeper/view/animation/AnimationLoader.java +++ b/src/toniarts/openkeeper/view/animation/AnimationLoader.java @@ -238,7 +238,7 @@ private static void setAnimSpeeds(Node node, float speed) { * Small event listener class to emulate the old AnimationEventListener from * jME */ - private static class AnimEventListener { + private static final class AnimEventListener { public AnimEventListener() { } diff --git a/src/toniarts/openkeeper/view/camera/PlayerCameraControl.java b/src/toniarts/openkeeper/view/camera/PlayerCameraControl.java index 702a4a783..4bcc5221c 100644 --- a/src/toniarts/openkeeper/view/camera/PlayerCameraControl.java +++ b/src/toniarts/openkeeper/view/camera/PlayerCameraControl.java @@ -29,7 +29,7 @@ * * @author ArchDemon */ -public class PlayerCameraControl extends Control { +public final class PlayerCameraControl extends Control { private PlayerCamera camera; private Vector3f from, to; private float tick = 0; diff --git a/src/toniarts/openkeeper/view/camera/PlayerCameraRotateControl.java b/src/toniarts/openkeeper/view/camera/PlayerCameraRotateControl.java index c3b2031cc..d7678e08b 100644 --- a/src/toniarts/openkeeper/view/camera/PlayerCameraRotateControl.java +++ b/src/toniarts/openkeeper/view/camera/PlayerCameraRotateControl.java @@ -31,7 +31,7 @@ * TODO need testing. What about `relative` ? * @author ArchDemon */ -public class PlayerCameraRotateControl extends Control { +public final class PlayerCameraRotateControl extends Control { private PlayerCamera camera; private int time; private float angle; diff --git a/src/toniarts/openkeeper/view/control/CreatureFlowerControl.java b/src/toniarts/openkeeper/view/control/CreatureFlowerControl.java index 90572ee16..9873dc08e 100644 --- a/src/toniarts/openkeeper/view/control/CreatureFlowerControl.java +++ b/src/toniarts/openkeeper/view/control/CreatureFlowerControl.java @@ -37,7 +37,7 @@ * * @author Toni Helenius */ -public class CreatureFlowerControl extends UnitFlowerControl { +public final class CreatureFlowerControl extends UnitFlowerControl { private enum Status { diff --git a/src/toniarts/openkeeper/view/control/CreatureViewControl.java b/src/toniarts/openkeeper/view/control/CreatureViewControl.java index 19a6e3313..8bc40dafa 100644 --- a/src/toniarts/openkeeper/view/control/CreatureViewControl.java +++ b/src/toniarts/openkeeper/view/control/CreatureViewControl.java @@ -37,7 +37,7 @@ * * @author Toni Helenius */ -public class CreatureViewControl extends EntityViewControl { +public final class CreatureViewControl extends EntityViewControl { public CreatureViewControl(EntityId entityId, EntityData entityData, Creature data, Creature.AnimationType animation, AssetManager assetManager, TextParser textParser) { diff --git a/src/toniarts/openkeeper/view/control/DoorFlowerControl.java b/src/toniarts/openkeeper/view/control/DoorFlowerControl.java index 097c88264..02f0b6859 100644 --- a/src/toniarts/openkeeper/view/control/DoorFlowerControl.java +++ b/src/toniarts/openkeeper/view/control/DoorFlowerControl.java @@ -27,7 +27,7 @@ * * @author Toni Helenius */ -public class DoorFlowerControl extends UnitFlowerControl { +public final class DoorFlowerControl extends UnitFlowerControl { public DoorFlowerControl(EntityId entityId, EntityData entityData, Door door, AssetManager assetManager) { super(entityId, entityData, door, assetManager); diff --git a/src/toniarts/openkeeper/view/control/DoorViewControl.java b/src/toniarts/openkeeper/view/control/DoorViewControl.java index 37cec7887..8bbe8607d 100644 --- a/src/toniarts/openkeeper/view/control/DoorViewControl.java +++ b/src/toniarts/openkeeper/view/control/DoorViewControl.java @@ -38,7 +38,7 @@ * * @author Toni Helenius */ -public class DoorViewControl extends EntityViewControl { +public final class DoorViewControl extends EntityViewControl { private final GameObject lockObject; private Spatial lockSpatial; diff --git a/src/toniarts/openkeeper/view/control/ObjectViewControl.java b/src/toniarts/openkeeper/view/control/ObjectViewControl.java index 35fd277b3..342e614a9 100644 --- a/src/toniarts/openkeeper/view/control/ObjectViewControl.java +++ b/src/toniarts/openkeeper/view/control/ObjectViewControl.java @@ -34,7 +34,7 @@ * * @author Toni Helenius */ -public class ObjectViewControl extends EntityViewControl { +public final class ObjectViewControl extends EntityViewControl { private boolean initialized = false; diff --git a/src/toniarts/openkeeper/view/control/TorchControl.java b/src/toniarts/openkeeper/view/control/TorchControl.java index 9d0df1a5f..9a8bbe3bd 100644 --- a/src/toniarts/openkeeper/view/control/TorchControl.java +++ b/src/toniarts/openkeeper/view/control/TorchControl.java @@ -16,10 +16,8 @@ */ package toniarts.openkeeper.view.control; -import com.jme3.asset.AssetInfo; import com.jme3.asset.AssetKey; import com.jme3.asset.AssetManager; -import com.jme3.asset.DesktopAssetManager; import com.jme3.material.Material; import com.jme3.material.RenderState; import com.jme3.renderer.queue.RenderQueue; @@ -30,31 +28,21 @@ import com.jme3.scene.VertexBuffer; import com.jme3.scene.control.BillboardControl; import com.jme3.texture.Texture; -import com.jme3.texture.Texture2D; -import com.jme3.texture.plugins.AWTLoader; -import java.awt.Graphics2D; -import java.awt.Image; -import java.awt.Toolkit; -import java.awt.image.BufferedImage; -import java.awt.image.FilteredImageSource; -import java.awt.image.ImageFilter; -import java.awt.image.ImageProducer; -import java.awt.image.RGBImageFilter; import java.io.IOException; import java.lang.System.Logger; import java.lang.System.Logger.Level; +import jme3tools.optimize.TextureAtlas; import toniarts.openkeeper.tools.convert.map.KwdFile; -import toniarts.openkeeper.utils.AssetUtils; /** * * @author ArchDemon */ public final class TorchControl extends BillboardControl { - + private static final Logger logger = System.getLogger(TorchControl.class.getName()); - private final int frames = 20; + private static final int FRAMES = 20; private Material material; private Node torch; private final KwdFile kwdFile; @@ -80,7 +68,7 @@ public void setSpatial(Spatial spatial) { } private Spatial createFlame() { - Spatial result = ((DesktopAssetManager) assetManager).getFromCache(ASSET_KEY); + Spatial result = assetManager.getFromCache(ASSET_KEY); if (result == null) { try { @@ -97,7 +85,7 @@ private Spatial createFlame() { logger.log(Level.WARNING, "Can't create torch flame", e); } - ((DesktopAssetManager) assetManager).addToCache(ASSET_KEY, result); + assetManager.addToCache(ASSET_KEY, result); } if (result != null) { @@ -116,27 +104,15 @@ private Spatial createFlame() { * @return the mesh */ private Mesh createMesh(float width, float height) { - //Vector3f pos = torch.getLocalTranslation(); Mesh mesh = new Mesh(); - mesh.setBuffer(VertexBuffer.Type.Position, 3, new float[]{ -width / 2f, 0, 0, width / 2f, 0, 0, width / 2f, height, 0, -width / 2f, height, 0 }); - - mesh.setBuffer(VertexBuffer.Type.TexCoord, 2, new float[]{0, 1, - 1, 1, - 1, 0, - 0, 0}); - mesh.setBuffer(VertexBuffer.Type.Normal, 3, new float[]{0, 0, 1, - 0, 0, 1, - 0, 0, 1, - 0, 0, 1}); - mesh.setBuffer(VertexBuffer.Type.Index, 3, new short[]{0, 1, 2, - 0, 2, 3}); - + mesh.setBuffer(VertexBuffer.Type.TexCoord, 2, new byte[]{0, 0, 1, 0, 1, 1, 0, 1}); + mesh.setBuffer(VertexBuffer.Type.Index, 3, new byte[]{0, 1, 2, 0, 2, 3}); mesh.updateBound(); return mesh; } @@ -144,47 +120,32 @@ private Mesh createMesh(float width, float height) { private Texture createTexture() throws IOException { String name = "ktorch"; - //float[] scales = {1f, 1f, 1f, 1f}; - //float[] offsets = new float[4]; - //RescaleOp rop = new RescaleOp(scales, offsets, null); - // Get the first frame, the frames need to be same size - BufferedImage img = AssetUtils.readImageFromAsset(assetManager.locateAsset(new AssetKey(AssetUtils.getCanonicalAssetKey("Textures/" + name + "0.png")))); - - // Create image big enough to fit all the frames - BufferedImage text = new BufferedImage(img.getWidth() * frames, img.getHeight(), - BufferedImage.TYPE_INT_ARGB); - Graphics2D g = text.createGraphics(); - g.drawImage(makeColorTransparent(img), 0, 0, null); - for (int x = 1; x < frames; x++) { - AssetInfo asset = assetManager.locateAsset(new AssetKey(AssetUtils.getCanonicalAssetKey("Textures/" + name + x + ".png"))); - img = AssetUtils.readImageFromAsset(asset); - g.drawImage(makeColorTransparent(img), img.getWidth() * x, 0, null); + var frameTexture = assetManager.loadTexture("Textures/" + name + "0.png"); + var frameImage = frameTexture.getImage(); + var atlas = new TextureAtlas(frameImage.getWidth() * FRAMES, frameImage.getHeight()); + boolean added = atlas.addTexture(frameTexture, "DiffuseMap"); + if (!added) + logger.log(Level.ERROR, "Failed to add frame to atlas"); + + for (int i = 1; i < FRAMES; ++i) { + frameTexture = assetManager.loadTexture("Textures/" + name + i + ".png"); + added = atlas.addTexture(frameTexture, "DiffuseMap"); + if (!added) + logger.log(Level.ERROR, "Failed to add frame {0} to atlas", i); } - g.dispose(); - - // Convert the new image to a texture - AWTLoader loader = new AWTLoader(); - Texture result = new Texture2D(loader.load(text, false)); - return result; - } - - private static Image makeColorTransparent(BufferedImage image) { - ImageFilter filter = new RGBImageFilter() { - @Override - public final int filterRGB(int x, int y, int rgb) { - return (rgb < 0xFF303030) ? 0x00FFFFFF : rgb; - } - }; - ImageProducer ip = new FilteredImageSource(image.getSource(), filter); - return Toolkit.getDefaultToolkit().createImage(ip); + var atlasTexture = atlas.getAtlasTexture("DiffuseMap"); + atlasTexture.setMinFilter(Texture.MinFilter.NearestNoMipMaps); + atlasTexture.setMagFilter(Texture.MagFilter.Nearest); + atlasTexture.setWrap(Texture.WrapMode.EdgeClamp); + return atlasTexture; } private Material createMaterial() { Material result = new Material(assetManager, "MatDefs/LightingSprite.j3md"); - result.setInt("NumberOfTiles", frames); - result.setInt("Speed", frames); // FIXME: correct value + result.setInt("NumberOfTiles", FRAMES); + result.setInt("Speed", FRAMES); // FIXME: correct value result.setTransparent(true); result.setFloat("AlphaDiscardThreshold", 0.1f); diff --git a/src/toniarts/openkeeper/view/control/TrapFlowerControl.java b/src/toniarts/openkeeper/view/control/TrapFlowerControl.java index 038412a39..33c341865 100644 --- a/src/toniarts/openkeeper/view/control/TrapFlowerControl.java +++ b/src/toniarts/openkeeper/view/control/TrapFlowerControl.java @@ -29,7 +29,7 @@ * * @author Toni Helenius */ -public class TrapFlowerControl extends UnitFlowerControl { +public final class TrapFlowerControl extends UnitFlowerControl { public TrapFlowerControl(EntityId entityId, EntityData entityData, Trap trap, AssetManager assetManager) { super(entityId, entityData, trap, assetManager); diff --git a/src/toniarts/openkeeper/view/control/TrapViewControl.java b/src/toniarts/openkeeper/view/control/TrapViewControl.java index eef91e179..5d3b62e7e 100644 --- a/src/toniarts/openkeeper/view/control/TrapViewControl.java +++ b/src/toniarts/openkeeper/view/control/TrapViewControl.java @@ -35,7 +35,7 @@ * * @author Toni Helenius */ -public class TrapViewControl extends EntityViewControl { +public final class TrapViewControl extends EntityViewControl { private boolean initialized = false; diff --git a/src/toniarts/openkeeper/view/loader/CreatureLoader.java b/src/toniarts/openkeeper/view/loader/CreatureLoader.java index c53c04639..b5bd07788 100644 --- a/src/toniarts/openkeeper/view/loader/CreatureLoader.java +++ b/src/toniarts/openkeeper/view/loader/CreatureLoader.java @@ -30,7 +30,7 @@ * * @author Toni Helenius */ -public class CreatureLoader implements ILoader { +public final class CreatureLoader implements ILoader { private static final Logger logger = System.getLogger(CreatureLoader.class.getName()); diff --git a/src/toniarts/openkeeper/view/loader/DoorLoader.java b/src/toniarts/openkeeper/view/loader/DoorLoader.java index 95f993e95..824c740f1 100644 --- a/src/toniarts/openkeeper/view/loader/DoorLoader.java +++ b/src/toniarts/openkeeper/view/loader/DoorLoader.java @@ -32,7 +32,7 @@ * * @author Toni Helenius */ -public class DoorLoader implements ILoader { +public final class DoorLoader implements ILoader { private static final Logger logger = System.getLogger(DoorLoader.class.getName()); diff --git a/src/toniarts/openkeeper/view/loader/ObjectLoader.java b/src/toniarts/openkeeper/view/loader/ObjectLoader.java index da2d7f36b..6808393ea 100644 --- a/src/toniarts/openkeeper/view/loader/ObjectLoader.java +++ b/src/toniarts/openkeeper/view/loader/ObjectLoader.java @@ -31,7 +31,7 @@ * * @author Toni Helenius */ -public class ObjectLoader implements ILoader { +public final class ObjectLoader implements ILoader { private static final Logger logger = System.getLogger(ObjectLoader.class.getName()); diff --git a/src/toniarts/openkeeper/view/loader/TrapLoader.java b/src/toniarts/openkeeper/view/loader/TrapLoader.java index 0d8772906..d7f79ceca 100644 --- a/src/toniarts/openkeeper/view/loader/TrapLoader.java +++ b/src/toniarts/openkeeper/view/loader/TrapLoader.java @@ -31,7 +31,7 @@ * * @author Toni Helenius */ -public class TrapLoader implements ILoader { +public final class TrapLoader implements ILoader { private static final Logger logger = System.getLogger(TrapLoader.class.getName()); diff --git a/src/toniarts/openkeeper/view/map/FlashTileViewState.java b/src/toniarts/openkeeper/view/map/FlashTileViewState.java index 3ed977855..1f65822e8 100644 --- a/src/toniarts/openkeeper/view/map/FlashTileViewState.java +++ b/src/toniarts/openkeeper/view/map/FlashTileViewState.java @@ -31,7 +31,7 @@ * * @author ArchDemon */ -public class FlashTileViewState extends AbstractAppState { +public final class FlashTileViewState extends AbstractAppState { private float tick = 0; public static final float FLASH_PERIOD = 0.5f; diff --git a/src/toniarts/openkeeper/view/map/Water.java b/src/toniarts/openkeeper/view/map/Water.java index 0407b2b22..f272970ea 100644 --- a/src/toniarts/openkeeper/view/map/Water.java +++ b/src/toniarts/openkeeper/view/map/Water.java @@ -49,7 +49,7 @@ * * @author Toni Helenius */ -public class Water { +public final class Water { /** * TODO: Options loaded from elsewhere diff --git a/src/toniarts/openkeeper/view/map/construction/FiveByFiveRotatedConstructor.java b/src/toniarts/openkeeper/view/map/construction/FiveByFiveRotatedConstructor.java index f2b7c2eb3..37d114c17 100644 --- a/src/toniarts/openkeeper/view/map/construction/FiveByFiveRotatedConstructor.java +++ b/src/toniarts/openkeeper/view/map/construction/FiveByFiveRotatedConstructor.java @@ -30,7 +30,7 @@ * * @author Toni Helenius */ -public class FiveByFiveRotatedConstructor extends RoomConstructor { +public final class FiveByFiveRotatedConstructor extends RoomConstructor { public FiveByFiveRotatedConstructor(AssetManager assetManager, RoomInstance roomInstance) { super(assetManager, roomInstance); diff --git a/src/toniarts/openkeeper/view/map/construction/HeroGateConstructor.java b/src/toniarts/openkeeper/view/map/construction/HeroGateConstructor.java index e4ffd0091..93aba5a73 100644 --- a/src/toniarts/openkeeper/view/map/construction/HeroGateConstructor.java +++ b/src/toniarts/openkeeper/view/map/construction/HeroGateConstructor.java @@ -29,7 +29,7 @@ * * @author ArchDemon */ -public class HeroGateConstructor extends RoomConstructor { +public final class HeroGateConstructor extends RoomConstructor { public HeroGateConstructor(AssetManager assetManager, toniarts.openkeeper.common.RoomInstance roomInstance) { super(assetManager, roomInstance); diff --git a/src/toniarts/openkeeper/view/map/construction/HeroGateFrontEndConstructor.java b/src/toniarts/openkeeper/view/map/construction/HeroGateFrontEndConstructor.java index 2ecfccd8f..5df2efe27 100644 --- a/src/toniarts/openkeeper/view/map/construction/HeroGateFrontEndConstructor.java +++ b/src/toniarts/openkeeper/view/map/construction/HeroGateFrontEndConstructor.java @@ -41,7 +41,7 @@ * * @author Toni Helenius */ -public class HeroGateFrontEndConstructor extends RoomConstructor { +public final class HeroGateFrontEndConstructor extends RoomConstructor { public HeroGateFrontEndConstructor(AssetManager assetManager, RoomInstance roomInstance) { super(assetManager, roomInstance); diff --git a/src/toniarts/openkeeper/view/map/construction/HeroGateThreeByOneConstructor.java b/src/toniarts/openkeeper/view/map/construction/HeroGateThreeByOneConstructor.java index 9f38dbfa0..99df81d6e 100644 --- a/src/toniarts/openkeeper/view/map/construction/HeroGateThreeByOneConstructor.java +++ b/src/toniarts/openkeeper/view/map/construction/HeroGateThreeByOneConstructor.java @@ -33,7 +33,7 @@ * * @author ArchDemon */ -public class HeroGateThreeByOneConstructor extends RoomConstructor { +public final class HeroGateThreeByOneConstructor extends RoomConstructor { public HeroGateThreeByOneConstructor(AssetManager assetManager, RoomInstance roomInstance) { super(assetManager, roomInstance); diff --git a/src/toniarts/openkeeper/view/map/construction/HeroGateTwoByTwoConstructor.java b/src/toniarts/openkeeper/view/map/construction/HeroGateTwoByTwoConstructor.java index 2915ccc8f..f574b7b66 100644 --- a/src/toniarts/openkeeper/view/map/construction/HeroGateTwoByTwoConstructor.java +++ b/src/toniarts/openkeeper/view/map/construction/HeroGateTwoByTwoConstructor.java @@ -27,7 +27,7 @@ * * @author ArchDemon */ -public class HeroGateTwoByTwoConstructor extends RoomConstructor { +public final class HeroGateTwoByTwoConstructor extends RoomConstructor { public HeroGateTwoByTwoConstructor(AssetManager assetManager, toniarts.openkeeper.common.RoomInstance roomInstance) { super(assetManager, roomInstance); diff --git a/src/toniarts/openkeeper/view/map/construction/SingleQuadConstructor.java b/src/toniarts/openkeeper/view/map/construction/SingleQuadConstructor.java index 447aa7b5d..e5095b2be 100644 --- a/src/toniarts/openkeeper/view/map/construction/SingleQuadConstructor.java +++ b/src/toniarts/openkeeper/view/map/construction/SingleQuadConstructor.java @@ -31,7 +31,7 @@ * * @author ArchDemon */ -public class SingleQuadConstructor extends SingleTileConstructor { +public final class SingleQuadConstructor extends SingleTileConstructor { public SingleQuadConstructor(KwdFile kwdFile) { super(kwdFile); diff --git a/src/toniarts/openkeeper/view/map/construction/ThreeByThreeConstructor.java b/src/toniarts/openkeeper/view/map/construction/ThreeByThreeConstructor.java index 0804c4378..869056333 100644 --- a/src/toniarts/openkeeper/view/map/construction/ThreeByThreeConstructor.java +++ b/src/toniarts/openkeeper/view/map/construction/ThreeByThreeConstructor.java @@ -29,7 +29,7 @@ * * @author Toni Helenius */ -public class ThreeByThreeConstructor extends RoomConstructor { +public final class ThreeByThreeConstructor extends RoomConstructor { public ThreeByThreeConstructor(AssetManager assetManager, RoomInstance roomInstance) { super(assetManager, roomInstance); diff --git a/src/toniarts/openkeeper/view/map/construction/WaterConstructor.java b/src/toniarts/openkeeper/view/map/construction/WaterConstructor.java index 945efdda1..e31545b9c 100644 --- a/src/toniarts/openkeeper/view/map/construction/WaterConstructor.java +++ b/src/toniarts/openkeeper/view/map/construction/WaterConstructor.java @@ -27,7 +27,7 @@ * * @author ArchDemon */ -public class WaterConstructor extends SingleTileConstructor { +public final class WaterConstructor extends SingleTileConstructor { public WaterConstructor(KwdFile kwdFile) { super(kwdFile); diff --git a/src/toniarts/openkeeper/view/map/construction/room/CombatPitConstructor.java b/src/toniarts/openkeeper/view/map/construction/room/CombatPitConstructor.java index 28cdab6cf..ccf83a6ee 100644 --- a/src/toniarts/openkeeper/view/map/construction/room/CombatPitConstructor.java +++ b/src/toniarts/openkeeper/view/map/construction/room/CombatPitConstructor.java @@ -33,7 +33,7 @@ * * @author ArchDemon */ -public class CombatPitConstructor extends DoubleQuadConstructor { +public final class CombatPitConstructor extends DoubleQuadConstructor { public CombatPitConstructor(AssetManager assetManager, toniarts.openkeeper.common.RoomInstance roomInstance) { super(assetManager, roomInstance); diff --git a/src/toniarts/openkeeper/view/map/construction/room/PrisonConstructor.java b/src/toniarts/openkeeper/view/map/construction/room/PrisonConstructor.java index 263bcf231..41cfa37f6 100644 --- a/src/toniarts/openkeeper/view/map/construction/room/PrisonConstructor.java +++ b/src/toniarts/openkeeper/view/map/construction/room/PrisonConstructor.java @@ -33,7 +33,7 @@ * * @author ArchDemon */ -public class PrisonConstructor extends DoubleQuadConstructor { +public final class PrisonConstructor extends DoubleQuadConstructor { public PrisonConstructor(AssetManager assetManager, toniarts.openkeeper.common.RoomInstance roomInstance) { super(assetManager, roomInstance); diff --git a/src/toniarts/openkeeper/view/map/construction/room/StoneBridgeConstructor.java b/src/toniarts/openkeeper/view/map/construction/room/StoneBridgeConstructor.java index 96cf4d141..5024fc1e0 100644 --- a/src/toniarts/openkeeper/view/map/construction/room/StoneBridgeConstructor.java +++ b/src/toniarts/openkeeper/view/map/construction/room/StoneBridgeConstructor.java @@ -33,7 +33,7 @@ * * @author ArchDemon */ -public class StoneBridgeConstructor extends QuadConstructor { +public final class StoneBridgeConstructor extends QuadConstructor { public StoneBridgeConstructor(AssetManager assetManager, toniarts.openkeeper.common.RoomInstance roomInstance) { super(assetManager, roomInstance); diff --git a/src/toniarts/openkeeper/view/map/construction/room/TempleConstructor.java b/src/toniarts/openkeeper/view/map/construction/room/TempleConstructor.java index e1b21cf0e..02ff0316e 100644 --- a/src/toniarts/openkeeper/view/map/construction/room/TempleConstructor.java +++ b/src/toniarts/openkeeper/view/map/construction/room/TempleConstructor.java @@ -37,7 +37,7 @@ * * @author Toni Helenius */ -public class TempleConstructor extends DoubleQuadConstructor { +public final class TempleConstructor extends DoubleQuadConstructor { private final KwdFile kwdFile; diff --git a/src/toniarts/openkeeper/view/map/construction/room/WorkshopConstructor.java b/src/toniarts/openkeeper/view/map/construction/room/WorkshopConstructor.java index be4fe7b49..f44ff275a 100644 --- a/src/toniarts/openkeeper/view/map/construction/room/WorkshopConstructor.java +++ b/src/toniarts/openkeeper/view/map/construction/room/WorkshopConstructor.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class WorkshopConstructor extends NormalConstructor { +public final class WorkshopConstructor extends NormalConstructor { private final boolean[][] bigTiles; diff --git a/src/toniarts/openkeeper/view/selection/SelectionArea.java b/src/toniarts/openkeeper/view/selection/SelectionArea.java index 5d7dc2022..9f8d0d853 100644 --- a/src/toniarts/openkeeper/view/selection/SelectionArea.java +++ b/src/toniarts/openkeeper/view/selection/SelectionArea.java @@ -12,7 +12,7 @@ /** * @author 7willuwe : Philip Willuweit */ -public class SelectionArea implements Iterable> { +public final class SelectionArea implements Iterable> { private Vector2f start = new Vector2f(); private Vector2f end = new Vector2f(); @@ -129,7 +129,7 @@ public Iterator> iterator() { /** * An optimized version of AbstractList.Itr */ - private class AreaIterator implements Iterator> { + private final class AreaIterator implements Iterator> { private final Point cursor = WorldUtils.vectorToPoint(SelectionArea.this.getStart()); private final Point start = WorldUtils.vectorToPoint(SelectionArea.this.getStart()); diff --git a/src/toniarts/openkeeper/view/selection/SelectionBox.java b/src/toniarts/openkeeper/view/selection/SelectionBox.java index 6c31dcf64..f31b2516f 100644 --- a/src/toniarts/openkeeper/view/selection/SelectionBox.java +++ b/src/toniarts/openkeeper/view/selection/SelectionBox.java @@ -14,7 +14,7 @@ * @author Philip Willuweit p.willuweit@gmx.de * @author Lohnn */ -public class SelectionBox extends AbstractBox +public final class SelectionBox extends AbstractBox { private Geometry geo; private static final short[] GEOMETRY_INDICES_DATA = diff --git a/src/toniarts/openkeeper/view/text/CreatureTextParser.java b/src/toniarts/openkeeper/view/text/CreatureTextParser.java index 4dd13e1d6..a18119702 100644 --- a/src/toniarts/openkeeper/view/text/CreatureTextParser.java +++ b/src/toniarts/openkeeper/view/text/CreatureTextParser.java @@ -34,7 +34,7 @@ * * @author Toni Helenius */ -public class CreatureTextParser extends EntityTextParser { +public final class CreatureTextParser extends EntityTextParser { private final IMapInformation mapInformation; diff --git a/src/toniarts/openkeeper/view/text/DoorIconTextParser.java b/src/toniarts/openkeeper/view/text/DoorIconTextParser.java index b353655c1..7f3b3cab4 100644 --- a/src/toniarts/openkeeper/view/text/DoorIconTextParser.java +++ b/src/toniarts/openkeeper/view/text/DoorIconTextParser.java @@ -25,7 +25,7 @@ * * @author Toni Helenius */ -public class DoorIconTextParser extends IconTextParser { +public final class DoorIconTextParser extends IconTextParser { @Override protected String getReplacement(int index, Door door, Trap trap) { diff --git a/src/toniarts/openkeeper/view/text/DoorTextParser.java b/src/toniarts/openkeeper/view/text/DoorTextParser.java index 3c690c82e..a75c24559 100644 --- a/src/toniarts/openkeeper/view/text/DoorTextParser.java +++ b/src/toniarts/openkeeper/view/text/DoorTextParser.java @@ -28,7 +28,7 @@ * * @author Toni Helenius */ -public class DoorTextParser extends EntityTextParser { +public final class DoorTextParser extends EntityTextParser { public DoorTextParser() { super(); diff --git a/src/toniarts/openkeeper/view/text/MapTileTextParser.java b/src/toniarts/openkeeper/view/text/MapTileTextParser.java index 5728e1458..c87642e2f 100644 --- a/src/toniarts/openkeeper/view/text/MapTileTextParser.java +++ b/src/toniarts/openkeeper/view/text/MapTileTextParser.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class MapTileTextParser { +public final class MapTileTextParser { public MapTileTextParser() { } diff --git a/src/toniarts/openkeeper/view/text/ObjectTextParser.java b/src/toniarts/openkeeper/view/text/ObjectTextParser.java index f3744faf6..f00413938 100644 --- a/src/toniarts/openkeeper/view/text/ObjectTextParser.java +++ b/src/toniarts/openkeeper/view/text/ObjectTextParser.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class ObjectTextParser extends EntityTextParser { +public final class ObjectTextParser extends EntityTextParser { public ObjectTextParser() { super(); diff --git a/src/toniarts/openkeeper/view/text/RoomIconTextParser.java b/src/toniarts/openkeeper/view/text/RoomIconTextParser.java index 66babb0fc..8251e2cf8 100644 --- a/src/toniarts/openkeeper/view/text/RoomIconTextParser.java +++ b/src/toniarts/openkeeper/view/text/RoomIconTextParser.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class RoomIconTextParser extends SimpleIconTextParser { +public final class RoomIconTextParser extends SimpleIconTextParser { @Override protected String getReplacement(int index, Room room) { diff --git a/src/toniarts/openkeeper/view/text/SpellIconTextParser.java b/src/toniarts/openkeeper/view/text/SpellIconTextParser.java index e70884f70..97ae03f7d 100644 --- a/src/toniarts/openkeeper/view/text/SpellIconTextParser.java +++ b/src/toniarts/openkeeper/view/text/SpellIconTextParser.java @@ -25,7 +25,7 @@ * * @author Toni Helenius */ -public class SpellIconTextParser extends IconTextParser { +public final class SpellIconTextParser extends IconTextParser { @Override protected String getReplacement(int index, KeeperSpell keeperSpell, ResearchableEntity spell) { diff --git a/src/toniarts/openkeeper/view/text/TextParserService.java b/src/toniarts/openkeeper/view/text/TextParserService.java index ab1130ec8..0f2098953 100644 --- a/src/toniarts/openkeeper/view/text/TextParserService.java +++ b/src/toniarts/openkeeper/view/text/TextParserService.java @@ -34,7 +34,7 @@ * * @author Toni Helenius */ -public class TextParserService implements TextParser { +public final class TextParserService implements TextParser { private final CreatureTextParser creatureTextParser; private final TrapTextParser trapTextParser; diff --git a/src/toniarts/openkeeper/view/text/TrapIconTextParser.java b/src/toniarts/openkeeper/view/text/TrapIconTextParser.java index d39e224a6..809d04733 100644 --- a/src/toniarts/openkeeper/view/text/TrapIconTextParser.java +++ b/src/toniarts/openkeeper/view/text/TrapIconTextParser.java @@ -24,7 +24,7 @@ * * @author Toni Helenius */ -public class TrapIconTextParser extends SimpleIconTextParser { +public final class TrapIconTextParser extends SimpleIconTextParser { @Override protected String getReplacement(int index, Trap trap) { diff --git a/src/toniarts/openkeeper/view/text/TrapTextParser.java b/src/toniarts/openkeeper/view/text/TrapTextParser.java index e56d0dfc8..13e6d8226 100644 --- a/src/toniarts/openkeeper/view/text/TrapTextParser.java +++ b/src/toniarts/openkeeper/view/text/TrapTextParser.java @@ -25,7 +25,7 @@ * * @author Toni Helenius */ -public class TrapTextParser extends EntityTextParser { +public final class TrapTextParser extends EntityTextParser { public TrapTextParser() { super(); diff --git a/src/toniarts/openkeeper/world/effect/EffectGeometry.java b/src/toniarts/openkeeper/world/effect/EffectGeometry.java index c3bfbfc5a..e3d9d1060 100644 --- a/src/toniarts/openkeeper/world/effect/EffectGeometry.java +++ b/src/toniarts/openkeeper/world/effect/EffectGeometry.java @@ -36,7 +36,7 @@ public class EffectGeometry extends Geometry { private ColorRGBA color; private int frames = 1; - private class EffectGeometryControl extends AbstractControl { + private final class EffectGeometryControl extends AbstractControl { @Override protected void controlUpdate(float tpf) { diff --git a/src/toniarts/openkeeper/world/room/GenericRoom.java b/src/toniarts/openkeeper/world/room/GenericRoom.java index 293c1ea62..17645340e 100644 --- a/src/toniarts/openkeeper/world/room/GenericRoom.java +++ b/src/toniarts/openkeeper/world/room/GenericRoom.java @@ -641,7 +641,7 @@ private RoomCount getRoomCount() { return null; } - private static class RoomCount { + private static final class RoomCount { public String placeholder; public int amount;