mirror of
https://github.com/Retera/WarsmashModEngine.git
synced 2022-07-31 17:38:59 +02:00
Remove parse bogus classes
This commit is contained in:
parent
c0e224234a
commit
9da2160565
@ -1,49 +0,0 @@
|
|||||||
package com.etheller.warsmash.viewer5.handlers.w3x.rendersim;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.nio.file.Files;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class ParseBogus {
|
|
||||||
|
|
||||||
public static void main(final String[] args) {
|
|
||||||
final File bogusDataFile = new File("E:\\Games\\Warcraft III Patch 1.22\\Logs\\MyReteraTest.pre");
|
|
||||||
final float[][] cubeIndexToData = new float[9][44];
|
|
||||||
try {
|
|
||||||
final List<String> allLines = Files.readAllLines(bogusDataFile.toPath());
|
|
||||||
for (final String line : allLines) {
|
|
||||||
final int cubeStringIndex = line.indexOf("Cube");
|
|
||||||
if (cubeStringIndex != -1) {
|
|
||||||
final int colonStringIndex = line.indexOf(':');
|
|
||||||
final int cubeIndex = Integer.parseInt(line.substring(cubeStringIndex + 4, colonStringIndex));
|
|
||||||
final int dataIndex = Integer.parseInt(line.substring(line.indexOf('"') + 1, cubeStringIndex));
|
|
||||||
final float value = Float.parseFloat(line.substring(colonStringIndex + 1, line.indexOf(".txt")));
|
|
||||||
cubeIndexToData[cubeIndex][dataIndex] = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (final IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
final boolean[] spun = new boolean[9];
|
|
||||||
for (int j = 0; j < cubeIndexToData[0].length; j++) {
|
|
||||||
final StringBuilder sb = new StringBuilder();
|
|
||||||
for (int i = 0; i < cubeIndexToData.length; i++) {
|
|
||||||
if (sb.length() > 0) {
|
|
||||||
sb.append(',');
|
|
||||||
}
|
|
||||||
float value = cubeIndexToData[i][j];
|
|
||||||
if (value > 280) {
|
|
||||||
spun[i] = true;
|
|
||||||
}
|
|
||||||
else if ((value < 100) && spun[i]) {
|
|
||||||
value += 360;
|
|
||||||
}
|
|
||||||
sb.append(Math.toRadians(value));
|
|
||||||
}
|
|
||||||
System.out.println(sb);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,60 +0,0 @@
|
|||||||
package com.etheller.warsmash.viewer5.handlers.w3x.rendersim;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.nio.file.Files;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class ParseBogus2 {
|
|
||||||
|
|
||||||
private static final int _383 = 280;
|
|
||||||
|
|
||||||
public static void main(final String[] args) {
|
|
||||||
final float[][] cubeIndexToData = new float[9][_383];
|
|
||||||
for (int fileIdx = 0; fileIdx < _383; fileIdx++) {
|
|
||||||
final File bogusDataFile = new File(
|
|
||||||
"E:\\Games\\Warcraft III Patch 1.22\\Logs\\MyReteraTest" + (fileIdx + 1) + ".pre");
|
|
||||||
try {
|
|
||||||
final List<String> allLines = Files.readAllLines(bogusDataFile.toPath());
|
|
||||||
for (final String line : allLines) {
|
|
||||||
final int cubeStringIndex = line.indexOf("Cube");
|
|
||||||
if (cubeStringIndex != -1) {
|
|
||||||
final int colonStringIndex = line.indexOf(':');
|
|
||||||
final int cubeIndex = Integer.parseInt(line.substring(cubeStringIndex + 4, colonStringIndex));
|
|
||||||
final int dataIndex = Integer.parseInt(line.substring(line.indexOf('"') + 1, cubeStringIndex));
|
|
||||||
final float value = Float
|
|
||||||
.parseFloat(line.substring(colonStringIndex + 1, line.indexOf(".txt")));
|
|
||||||
cubeIndexToData[cubeIndex][dataIndex] = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (final IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
final boolean[] spun = new boolean[9];
|
|
||||||
for (int j = 0; j < cubeIndexToData[0].length; j++) {
|
|
||||||
if ((j % 3) == 0) {
|
|
||||||
final StringBuilder sb = new StringBuilder();
|
|
||||||
for (int i = 0; i < cubeIndexToData.length; i++) {
|
|
||||||
if (sb.length() > 0) {
|
|
||||||
sb.append(',');
|
|
||||||
}
|
|
||||||
float value = cubeIndexToData[i][j];
|
|
||||||
// if (value > 280) {
|
|
||||||
// spun[i] = true;
|
|
||||||
// }
|
|
||||||
// else if ((value < 100) && spun[i]) {
|
|
||||||
// value += 360;
|
|
||||||
// }
|
|
||||||
if ((j / 3) < 32) {
|
|
||||||
value += 360;
|
|
||||||
}
|
|
||||||
sb.append(Math.toRadians(value));
|
|
||||||
}
|
|
||||||
System.out.println(sb);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,19 +0,0 @@
|
|||||||
package com.etheller.warsmash.viewer5.handlers.w3x.rendersim;
|
|
||||||
|
|
||||||
public class ParseBogus3 {
|
|
||||||
public static float endingAccelCutoff(final float maxVelocity, final float endingAccel) {
|
|
||||||
final float endingAccelFinishingTime = maxVelocity / endingAccel;
|
|
||||||
final float endingDistanceRequired = (maxVelocity * endingAccelFinishingTime)
|
|
||||||
- ((endingAccel / 2) * (endingAccelFinishingTime * endingAccelFinishingTime));
|
|
||||||
return endingDistanceRequired;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void main(final String[] args) {
|
|
||||||
System.out.println(endingAccelCutoff(0.1f, 0.04f));
|
|
||||||
|
|
||||||
for (final OrientationInterpolation oi : OrientationInterpolation.values()) {
|
|
||||||
System.out.println(oi + ": " + oi.getStartingAcceleration() + "," + oi.getMaxVelocity() + ","
|
|
||||||
+ oi.getEndingNegativeAcceleration() + "->" + oi.getEndingAccelCutoff());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,80 +0,0 @@
|
|||||||
package com.etheller.warsmash.viewer5.handlers.w3x.rendersim;
|
|
||||||
|
|
||||||
import java.util.Arrays;
|
|
||||||
|
|
||||||
public class ParseBogus4 {
|
|
||||||
|
|
||||||
public static void main(final String[] args) {
|
|
||||||
|
|
||||||
final OrientationInterpolation[] interpolations = OrientationInterpolation.values();
|
|
||||||
final float[] velocities = new float[interpolations.length];
|
|
||||||
final float[] signs = new float[interpolations.length];
|
|
||||||
Arrays.fill(signs, -1);
|
|
||||||
signs[1] = signs[6] = 1;
|
|
||||||
final float[] angles = new float[interpolations.length];
|
|
||||||
Arrays.fill(angles, (float) ((3 * Math.PI) / 2));
|
|
||||||
final boolean[] spun = new boolean[interpolations.length];
|
|
||||||
|
|
||||||
for (int j = 0; j < 140; j++) {
|
|
||||||
final StringBuilder sb = new StringBuilder();
|
|
||||||
for (int i = 0; i < interpolations.length; i++) {
|
|
||||||
float simulationFacing = 90;
|
|
||||||
if (simulationFacing < 0) {
|
|
||||||
simulationFacing += 360;
|
|
||||||
}
|
|
||||||
float renderFacing = (float) Math.toDegrees(angles[i]);
|
|
||||||
if (renderFacing < 0) {
|
|
||||||
renderFacing += 360;
|
|
||||||
}
|
|
||||||
float facingDelta = simulationFacing - renderFacing;
|
|
||||||
if (facingDelta < -180) {
|
|
||||||
facingDelta = 360 + facingDelta;
|
|
||||||
}
|
|
||||||
if (facingDelta > 180) {
|
|
||||||
facingDelta = -360 + facingDelta;
|
|
||||||
}
|
|
||||||
final float absoluteFacingDelta = Math.abs(facingDelta);
|
|
||||||
|
|
||||||
final float absoluteFacingDeltaRadians = (float) Math.toRadians(absoluteFacingDelta);
|
|
||||||
float acceleration;
|
|
||||||
final boolean endPhase = (absoluteFacingDeltaRadians <= interpolations[i].getEndingAccelCutoff())
|
|
||||||
&& ((velocities[i] * signs[i]) > 0);
|
|
||||||
if (endPhase) {
|
|
||||||
acceleration = -interpolations[i].getEndingNegativeAcceleration() * signs[i];
|
|
||||||
if (((velocities[i] + acceleration) * signs[i]) <= 0.001) {
|
|
||||||
velocities[i] = absoluteFacingDeltaRadians * signs[i] * 0.25f;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
velocities[i] = velocities[i] + acceleration;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
acceleration = interpolations[i].getStartingAcceleration() * signs[i];
|
|
||||||
velocities[i] = velocities[i] + acceleration;
|
|
||||||
}
|
|
||||||
if ((velocities[i] * signs[i]) > interpolations[i].getMaxVelocity()) {
|
|
||||||
velocities[i] = interpolations[i].getMaxVelocity() * signs[i];
|
|
||||||
}
|
|
||||||
|
|
||||||
float angleToAdd = (float) (/* Math.signum(facingDelta) **/ Math
|
|
||||||
.toDegrees(velocities[i]) /* * deltaTime */);
|
|
||||||
if (absoluteFacingDelta < Math.abs(angleToAdd)) {
|
|
||||||
angleToAdd = facingDelta;
|
|
||||||
}
|
|
||||||
double newDegreesAngle = (((Math.toDegrees(angles[i]) + angleToAdd) % 360) + 360) % 360;
|
|
||||||
if (newDegreesAngle > 280) {
|
|
||||||
spun[i] = true;
|
|
||||||
}
|
|
||||||
else if ((newDegreesAngle < 100) && spun[i]) {
|
|
||||||
newDegreesAngle += 360;
|
|
||||||
}
|
|
||||||
angles[i] = (float) Math.toRadians(newDegreesAngle);
|
|
||||||
if (sb.length() > 0) {
|
|
||||||
sb.append(',');
|
|
||||||
}
|
|
||||||
sb.append(angles[i]);
|
|
||||||
}
|
|
||||||
System.out.println(sb.toString());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user