Partially refactored RawModel

This commit is contained in:
Pazaz 2022-05-25 00:50:59 -04:00
parent 3531b1c57c
commit d3265b6ae6
13 changed files with 1164 additions and 1116 deletions

View file

@ -868,7 +868,7 @@ public final class Component {
if (local10 == 1) { if (local10 == 1) {
local61 = (Model) models.get((long) ((local10 << 16) + local13)); local61 = (Model) models.get((long) ((local10 << 16) + local13));
if (local61 == null) { if (local61 == null) {
@Pc(69) RawModel local69 = Static77.create(InterfaceList.aClass153_85, local13); @Pc(69) RawModel local69 = RawModel.create(InterfaceList.aClass153_85, local13);
if (local69 == null) { if (local69 == null) {
Static211.aBoolean72 = true; Static211.aBoolean72 = true;
return null; return null;

View file

@ -181,14 +181,14 @@ public final class GlModel extends Model {
@OriginalMember(owner = "client!td", name = "<init>", descriptor = "(Lclient!gb;IIZ)V") @OriginalMember(owner = "client!td", name = "<init>", descriptor = "(Lclient!gb;IIZ)V")
public GlModel(@OriginalArg(0) RawModel arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) boolean arg3) { public GlModel(@OriginalArg(0) RawModel arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) boolean arg3) {
@Pc(23) int[] local23 = new int[arg0.anInt2136]; @Pc(23) int[] local23 = new int[arg0.triangleCount];
this.anIntArray462 = new int[arg0.anInt2139 + 1]; this.anIntArray462 = new int[arg0.vertexCount + 1];
for (@Pc(32) int local32 = 0; local32 < arg0.anInt2136; local32++) { for (@Pc(32) int local32 = 0; local32 < arg0.triangleCount; local32++) {
if ((arg0.aByteArray30 == null || arg0.aByteArray30[local32] != 2) && (arg0.aShortArray23 == null || arg0.aShortArray23[local32] == -1 || !Rasteriser.textureProvider.method3231(arg0.aShortArray23[local32] & 0xFFFF))) { if ((arg0.triangleInfo == null || arg0.triangleInfo[local32] != 2) && (arg0.triangleTextures == null || arg0.triangleTextures[local32] == -1 || !Rasteriser.textureProvider.method3231(arg0.triangleTextures[local32] & 0xFFFF))) {
local23[this.anInt5297++] = local32; local23[this.anInt5297++] = local32;
this.anIntArray462[arg0.anIntArray197[local32]]++; this.anIntArray462[arg0.triangleVertexA[local32]]++;
this.anIntArray462[arg0.anIntArray200[local32]]++; this.anIntArray462[arg0.triangleVertexB[local32]]++;
this.anIntArray462[arg0.anIntArray196[local32]]++; this.anIntArray462[arg0.triangleVertexC[local32]]++;
} }
} }
@Pc(115) long[] local115 = new long[this.anInt5297]; @Pc(115) long[] local115 = new long[this.anInt5297];
@ -203,16 +203,16 @@ public final class GlModel extends Model {
@Pc(131) int local131 = 0; @Pc(131) int local131 = 0;
@Pc(133) int local133 = 0; @Pc(133) int local133 = 0;
@Pc(135) short local135 = -1; @Pc(135) short local135 = -1;
if (arg0.aShortArray23 != null) { if (arg0.triangleTextures != null) {
local135 = arg0.aShortArray23[local125]; local135 = arg0.triangleTextures[local125];
if (local135 != -1) { if (local135 != -1) {
local131 = Rasteriser.textureProvider.getMaterialType(local135 & 0xFFFF); local131 = Rasteriser.textureProvider.getMaterialType(local135 & 0xFFFF);
local133 = Rasteriser.textureProvider.method3228(local135 & 0xFFFF); local133 = Rasteriser.textureProvider.method3228(local135 & 0xFFFF);
} }
} }
@Pc(182) boolean local182 = arg0.aByteArray26 != null && arg0.aByteArray26[local125] != 0 || local135 != -1 && !Rasteriser.textureProvider.isOpaque(local135 & 0xFFFF); @Pc(182) boolean local182 = arg0.triangleAlpha != null && arg0.triangleAlpha[local125] != 0 || local135 != -1 && !Rasteriser.textureProvider.isOpaque(local135 & 0xFFFF);
if ((arg3 || local182) && arg0.aByteArray35 != null) { if ((arg3 || local182) && arg0.trianglePriorities != null) {
local127 += arg0.aByteArray35[local125] << 17; local127 += arg0.trianglePriorities[local125] << 17;
} }
if (local182) { if (local182) {
local127 += 65536; local127 += 65536;
@ -224,11 +224,11 @@ public final class GlModel extends Model {
local115[local117] = ((long) local127 << 32) + (long) local232; local115[local117] = ((long) local127 << 32) + (long) local232;
} }
Static173.method3243(local115, local23); Static173.method3243(local115, local23);
this.vertexCount = arg0.anInt2139; this.vertexCount = arg0.vertexCount;
this.anIntArray461 = arg0.anIntArray202; this.anIntArray461 = arg0.vertexX;
this.anIntArray465 = arg0.anIntArray201; this.anIntArray465 = arg0.vertexY;
this.anIntArray466 = arg0.anIntArray203; this.anIntArray466 = arg0.vertexZ;
this.anIntArray464 = arg0.anIntArray193; this.anIntArray464 = arg0.vertexBones;
this.aShortArray84 = arg0.aShortArray29; this.aShortArray84 = arg0.aShortArray29;
local117 = this.anInt5297 * 3; local117 = this.anInt5297 * 3;
this.aShortArray76 = new short[local117]; this.aShortArray76 = new short[local117];
@ -243,7 +243,7 @@ public final class GlModel extends Model {
this.aShortArray82 = new short[this.anInt5297]; this.aShortArray82 = new short[this.anInt5297];
this.aShortArray83 = new short[this.anInt5297]; this.aShortArray83 = new short[this.anInt5297];
this.aShortArray80 = new short[this.anInt5297]; this.aShortArray80 = new short[this.anInt5297];
if (arg0.anIntArray192 != null) { if (arg0.triangleBones != null) {
this.aByteArray72 = new byte[this.anInt5297]; this.aByteArray72 = new byte[this.anInt5297];
} }
if (arg0.aShortArray22 != null) { if (arg0.aShortArray22 != null) {
@ -262,12 +262,12 @@ public final class GlModel extends Model {
this.aShortArray81 = new short[local117]; this.aShortArray81 = new short[local117];
aLongArray10 = new long[local117]; aLongArray10 = new long[local117];
local125 = 0; local125 = 0;
for (local127 = 0; local127 < arg0.anInt2139; local127++) { for (local127 = 0; local127 < arg0.vertexCount; local127++) {
local226 = this.anIntArray462[local127]; local226 = this.anIntArray462[local127];
this.anIntArray462[local127] = local125; this.anIntArray462[local127] = local125;
local125 += local226; local125 += local226;
} }
this.anIntArray462[arg0.anInt2139] = local125; this.anIntArray462[arg0.vertexCount] = local125;
@Pc(426) int[] local426 = null; @Pc(426) int[] local426 = null;
@Pc(428) int[] local428 = null; @Pc(428) int[] local428 = null;
@Pc(430) int[] local430 = null; @Pc(430) int[] local430 = null;
@ -277,8 +277,8 @@ public final class GlModel extends Model {
@Pc(683) float local683; @Pc(683) float local683;
@Pc(714) float local714; @Pc(714) float local714;
@Pc(685) float local685; @Pc(685) float local685;
if (arg0.aByteArray31 != null) { if (arg0.faceTextureIndex != null) {
local439 = arg0.anInt2137; local439 = arg0.texturedCount;
@Pc(442) int[] local442 = new int[local439]; @Pc(442) int[] local442 = new int[local439];
@Pc(445) int[] local445 = new int[local439]; @Pc(445) int[] local445 = new int[local439];
@Pc(448) int[] local448 = new int[local439]; @Pc(448) int[] local448 = new int[local439];
@ -296,20 +296,20 @@ public final class GlModel extends Model {
} }
for (local459 = 0; local459 < this.anInt5297; local459++) { for (local459 = 0; local459 < this.anInt5297; local459++) {
@Pc(498) int local498 = local23[local459]; @Pc(498) int local498 = local23[local459];
if (arg0.aByteArray31[local498] != -1) { if (arg0.faceTextureIndex[local498] != -1) {
@Pc(511) int local511 = arg0.aByteArray31[local498] & 0xFF; @Pc(511) int local511 = arg0.faceTextureIndex[local498] & 0xFF;
for (@Pc(513) int local513 = 0; local513 < 3; local513++) { for (@Pc(513) int local513 = 0; local513 < 3; local513++) {
@Pc(523) int local523; @Pc(523) int local523;
if (local513 == 0) { if (local513 == 0) {
local523 = arg0.anIntArray197[local498]; local523 = arg0.triangleVertexA[local498];
} else if (local513 == 1) { } else if (local513 == 1) {
local523 = arg0.anIntArray200[local498]; local523 = arg0.triangleVertexB[local498];
} else { } else {
local523 = arg0.anIntArray196[local498]; local523 = arg0.triangleVertexC[local498];
} }
@Pc(543) int local543 = arg0.anIntArray202[local523]; @Pc(543) int local543 = arg0.vertexX[local523];
@Pc(548) int local548 = arg0.anIntArray201[local523]; @Pc(548) int local548 = arg0.vertexY[local523];
local553 = arg0.anIntArray203[local523]; local553 = arg0.vertexZ[local523];
if (local543 < local442[local511]) { if (local543 < local442[local511]) {
local442[local511] = local543; local442[local511] = local543;
} }
@ -336,13 +336,13 @@ public final class GlModel extends Model {
local430 = new int[local439]; local430 = new int[local439];
local433 = new float[local439][]; local433 = new float[local439][];
for (local459 = 0; local459 < local439; local459++) { for (local459 = 0; local459 < local439; local459++) {
@Pc(633) byte local633 = arg0.aByteArray29[local459]; @Pc(633) byte local633 = arg0.textureTypes[local459];
if (local633 > 0) { if (local633 > 0) {
local426[local459] = (local442[local459] + local445[local459]) / 2; local426[local459] = (local442[local459] + local445[local459]) / 2;
local428[local459] = (local448[local459] + local451[local459]) / 2; local428[local459] = (local448[local459] + local451[local459]) / 2;
local430[local459] = (local454[local459] + local457[local459]) / 2; local430[local459] = (local454[local459] + local457[local459]) / 2;
if (local633 == 1) { if (local633 == 1) {
@Pc(679) short local679 = arg0.aShortArray27[local459]; @Pc(679) short local679 = arg0.texturesScaleX[local459];
if (local679 == 0) { if (local679 == 0) {
local683 = 1.0F; local683 = 1.0F;
local685 = 1.0F; local685 = 1.0F;
@ -353,17 +353,17 @@ public final class GlModel extends Model {
local685 = 1.0F; local685 = 1.0F;
local683 = (float) -local679 / 1024.0F; local683 = (float) -local679 / 1024.0F;
} }
local714 = 64.0F / (float) (arg0.aShortArray25[local459] & 0xFFFF); local714 = 64.0F / (float) (arg0.texturesScaleY[local459] & 0xFFFF);
} else if (local633 == 2) { } else if (local633 == 2) {
local683 = 64.0F / (float) (arg0.aShortArray27[local459] & 0xFFFF); local683 = 64.0F / (float) (arg0.texturesScaleX[local459] & 0xFFFF);
local714 = 64.0F / (float) (arg0.aShortArray25[local459] & 0xFFFF); local714 = 64.0F / (float) (arg0.texturesScaleY[local459] & 0xFFFF);
local685 = 64.0F / (float) (arg0.aShortArray21[local459] & 0xFFFF); local685 = 64.0F / (float) (arg0.texturesScaleZ[local459] & 0xFFFF);
} else { } else {
local683 = (float) arg0.aShortArray27[local459] / 1024.0F; local683 = (float) arg0.texturesScaleX[local459] / 1024.0F;
local714 = (float) arg0.aShortArray25[local459] / 1024.0F; local714 = (float) arg0.texturesScaleY[local459] / 1024.0F;
local685 = (float) arg0.aShortArray21[local459] / 1024.0F; local685 = (float) arg0.texturesScaleZ[local459] / 1024.0F;
} }
local433[local459] = method4097(arg0.aShortArray26[local459], arg0.aShortArray20[local459], arg0.aShortArray28[local459], arg0.aByteArray27[local459] & 0xFF, local683, local714, local685); local433[local459] = method4097(arg0.textureFacesP[local459], arg0.textureFacesM[local459], arg0.textureFacesN[local459], arg0.textureRotationY[local459] & 0xFF, local683, local714, local685);
} }
} }
} }
@ -371,23 +371,23 @@ public final class GlModel extends Model {
@Pc(822) short local822; @Pc(822) short local822;
for (local439 = 0; local439 < this.anInt5297; local439++) { for (local439 = 0; local439 < this.anInt5297; local439++) {
@Pc(810) int local810 = local23[local439]; @Pc(810) int local810 = local23[local439];
local817 = arg0.aShortArray24[local810] & 0xFFFF; local817 = arg0.triangleColors[local810] & 0xFFFF;
if (arg0.aShortArray23 == null) { if (arg0.triangleTextures == null) {
local822 = -1; local822 = -1;
} else { } else {
local822 = arg0.aShortArray23[local810]; local822 = arg0.triangleTextures[local810];
} }
@Pc(833) int local833; @Pc(833) int local833;
if (arg0.aByteArray31 == null) { if (arg0.faceTextureIndex == null) {
local833 = -1; local833 = -1;
} else { } else {
local833 = arg0.aByteArray31[local810]; local833 = arg0.faceTextureIndex[local810];
} }
@Pc(844) int local844; @Pc(844) int local844;
if (arg0.aByteArray26 == null) { if (arg0.triangleAlpha == null) {
local844 = 0; local844 = 0;
} else { } else {
local844 = arg0.aByteArray26[local810] & 0xFF; local844 = arg0.triangleAlpha[local810] & 0xFF;
} }
@Pc(854) float local854 = 0.0F; @Pc(854) float local854 = 0.0F;
@Pc(856) float local856 = 0.0F; @Pc(856) float local856 = 0.0F;
@ -413,7 +413,7 @@ public final class GlModel extends Model {
local868 = 2; local868 = 2;
} else { } else {
local833 &= 0xFF; local833 &= 0xFF;
local902 = arg0.aByteArray29[local833]; local902 = arg0.textureTypes[local833];
@Pc(909) int local909; @Pc(909) int local909;
@Pc(914) int local914; @Pc(914) int local914;
@Pc(952) float local952; @Pc(952) float local952;
@ -426,30 +426,30 @@ public final class GlModel extends Model {
@Pc(1080) float local1080; @Pc(1080) float local1080;
@Pc(1088) float local1088; @Pc(1088) float local1088;
if (local902 == 0) { if (local902 == 0) {
local909 = arg0.anIntArray197[local810]; local909 = arg0.triangleVertexA[local810];
local914 = arg0.anIntArray200[local810]; local914 = arg0.triangleVertexB[local810];
local919 = arg0.anIntArray196[local810]; local919 = arg0.triangleVertexC[local810];
@Pc(924) short local924 = arg0.aShortArray26[local833]; @Pc(924) short local924 = arg0.textureFacesP[local833];
@Pc(929) short local929 = arg0.aShortArray20[local833]; @Pc(929) short local929 = arg0.textureFacesM[local833];
@Pc(934) short local934 = arg0.aShortArray28[local833]; @Pc(934) short local934 = arg0.textureFacesN[local833];
@Pc(940) float local940 = (float) arg0.anIntArray202[local924]; @Pc(940) float local940 = (float) arg0.vertexX[local924];
@Pc(946) float local946 = (float) arg0.anIntArray201[local924]; @Pc(946) float local946 = (float) arg0.vertexY[local924];
local952 = arg0.anIntArray203[local924]; local952 = arg0.vertexZ[local924];
local960 = (float) arg0.anIntArray202[local929] - local940; local960 = (float) arg0.vertexX[local929] - local940;
local968 = (float) arg0.anIntArray201[local929] - local946; local968 = (float) arg0.vertexY[local929] - local946;
@Pc(976) float local976 = (float) arg0.anIntArray203[local929] - local952; @Pc(976) float local976 = (float) arg0.vertexZ[local929] - local952;
@Pc(984) float local984 = (float) arg0.anIntArray202[local934] - local940; @Pc(984) float local984 = (float) arg0.vertexX[local934] - local940;
@Pc(992) float local992 = (float) arg0.anIntArray201[local934] - local946; @Pc(992) float local992 = (float) arg0.vertexY[local934] - local946;
@Pc(1000) float local1000 = (float) arg0.anIntArray203[local934] - local952; @Pc(1000) float local1000 = (float) arg0.vertexZ[local934] - local952;
@Pc(1008) float local1008 = (float) arg0.anIntArray202[local909] - local940; @Pc(1008) float local1008 = (float) arg0.vertexX[local909] - local940;
@Pc(1016) float local1016 = (float) arg0.anIntArray201[local909] - local946; @Pc(1016) float local1016 = (float) arg0.vertexY[local909] - local946;
@Pc(1024) float local1024 = (float) arg0.anIntArray203[local909] - local952; @Pc(1024) float local1024 = (float) arg0.vertexZ[local909] - local952;
@Pc(1032) float local1032 = (float) arg0.anIntArray202[local914] - local940; @Pc(1032) float local1032 = (float) arg0.vertexX[local914] - local940;
@Pc(1040) float local1040 = (float) arg0.anIntArray201[local914] - local946; @Pc(1040) float local1040 = (float) arg0.vertexY[local914] - local946;
local1048 = (float) arg0.anIntArray203[local914] - local952; local1048 = (float) arg0.vertexZ[local914] - local952;
local1056 = (float) arg0.anIntArray202[local919] - local940; local1056 = (float) arg0.vertexX[local919] - local940;
local1064 = (float) arg0.anIntArray201[local919] - local946; local1064 = (float) arg0.vertexY[local919] - local946;
local1072 = (float) arg0.anIntArray203[local919] - local952; local1072 = (float) arg0.vertexZ[local919] - local952;
local1080 = local968 * local1000 - local976 * local992; local1080 = local968 * local1000 - local976 * local992;
local1088 = local976 * local984 - local960 * local1000; local1088 = local976 * local984 - local960 * local1000;
@Pc(1096) float local1096 = local960 * local992 - local968 * local984; @Pc(1096) float local1096 = local960 * local992 - local968 * local984;
@ -468,9 +468,9 @@ public final class GlModel extends Model {
local683 = (local1184 * local1032 + local1192 * local1040 + local1200 * local1048) * local1214; local683 = (local1184 * local1032 + local1192 * local1040 + local1200 * local1048) * local1214;
local685 = (local1184 * local1056 + local1192 * local1064 + local1200 * local1072) * local1214; local685 = (local1184 * local1056 + local1192 * local1064 + local1200 * local1072) * local1214;
} else { } else {
local909 = arg0.anIntArray197[local810]; local909 = arg0.triangleVertexA[local810];
local914 = arg0.anIntArray200[local810]; local914 = arg0.triangleVertexB[local810];
local919 = arg0.anIntArray196[local810]; local919 = arg0.triangleVertexC[local810];
@Pc(1276) int local1276 = local426[local833]; @Pc(1276) int local1276 = local426[local833];
local1280 = local428[local833]; local1280 = local428[local833];
@Pc(1284) int local1284 = local430[local833]; @Pc(1284) int local1284 = local430[local833];
@ -478,14 +478,14 @@ public final class GlModel extends Model {
@Pc(1293) byte local1293 = arg0.aByteArray32[local833]; @Pc(1293) byte local1293 = arg0.aByteArray32[local833];
local952 = (float) arg0.aByteArray34[local833] / 256.0F; local952 = (float) arg0.aByteArray34[local833] / 256.0F;
if (local902 == 1) { if (local902 == 1) {
local960 = (float) (arg0.aShortArray21[local833] & 0xFFFF) / 1024.0F; local960 = (float) (arg0.texturesScaleZ[local833] & 0xFFFF) / 1024.0F;
method4095(arg0.anIntArray202[local909], arg0.anIntArray201[local909], arg0.anIntArray203[local909], local1276, local1280, local1284, local1288, local960, local1293, local952); method4095(arg0.vertexX[local909], arg0.vertexY[local909], arg0.vertexZ[local909], local1276, local1280, local1284, local1288, local960, local1293, local952);
local854 = aFloat26; local854 = aFloat26;
local856 = aFloat28; local856 = aFloat28;
method4095(arg0.anIntArray202[local914], arg0.anIntArray201[local914], arg0.anIntArray203[local914], local1276, local1280, local1284, local1288, local960, local1293, local952); method4095(arg0.vertexX[local914], arg0.vertexY[local914], arg0.vertexZ[local914], local1276, local1280, local1284, local1288, local960, local1293, local952);
local858 = aFloat26; local858 = aFloat26;
local683 = aFloat28; local683 = aFloat28;
method4095(arg0.anIntArray202[local919], arg0.anIntArray201[local919], arg0.anIntArray203[local919], local1276, local1280, local1284, local1288, local960, local1293, local952); method4095(arg0.vertexX[local919], arg0.vertexY[local919], arg0.vertexZ[local919], local1276, local1280, local1284, local1288, local960, local1293, local952);
local714 = aFloat26; local714 = aFloat26;
local685 = aFloat28; local685 = aFloat28;
local968 = local960 / 2.0F; local968 = local960 / 2.0F;
@ -523,39 +523,39 @@ public final class GlModel extends Model {
} else if (local902 == 2) { } else if (local902 == 2) {
local960 = (float) arg0.aByteArray28[local833] / 256.0F; local960 = (float) arg0.aByteArray28[local833] / 256.0F;
local968 = (float) arg0.aByteArray33[local833] / 256.0F; local968 = (float) arg0.aByteArray33[local833] / 256.0F;
@Pc(1525) int local1525 = arg0.anIntArray202[local914] - arg0.anIntArray202[local909]; @Pc(1525) int local1525 = arg0.vertexX[local914] - arg0.vertexX[local909];
@Pc(1535) int local1535 = arg0.anIntArray201[local914] - arg0.anIntArray201[local909]; @Pc(1535) int local1535 = arg0.vertexY[local914] - arg0.vertexY[local909];
@Pc(1545) int local1545 = arg0.anIntArray203[local914] - arg0.anIntArray203[local909]; @Pc(1545) int local1545 = arg0.vertexZ[local914] - arg0.vertexZ[local909];
@Pc(1555) int local1555 = arg0.anIntArray202[local919] - arg0.anIntArray202[local909]; @Pc(1555) int local1555 = arg0.vertexX[local919] - arg0.vertexX[local909];
@Pc(1565) int local1565 = arg0.anIntArray201[local919] - arg0.anIntArray201[local909]; @Pc(1565) int local1565 = arg0.vertexY[local919] - arg0.vertexY[local909];
@Pc(1575) int local1575 = arg0.anIntArray203[local919] - arg0.anIntArray203[local909]; @Pc(1575) int local1575 = arg0.vertexZ[local919] - arg0.vertexZ[local909];
@Pc(1583) int local1583 = local1535 * local1575 - local1565 * local1545; @Pc(1583) int local1583 = local1535 * local1575 - local1565 * local1545;
@Pc(1591) int local1591 = local1545 * local1555 - local1575 * local1525; @Pc(1591) int local1591 = local1545 * local1555 - local1575 * local1525;
@Pc(1599) int local1599 = local1525 * local1565 - local1555 * local1535; @Pc(1599) int local1599 = local1525 * local1565 - local1555 * local1535;
local1048 = 64.0F / (float) (arg0.aShortArray27[local833] & 0xFFFF); local1048 = 64.0F / (float) (arg0.texturesScaleX[local833] & 0xFFFF);
local1056 = 64.0F / (float) (arg0.aShortArray25[local833] & 0xFFFF); local1056 = 64.0F / (float) (arg0.texturesScaleY[local833] & 0xFFFF);
local1064 = 64.0F / (float) (arg0.aShortArray21[local833] & 0xFFFF); local1064 = 64.0F / (float) (arg0.texturesScaleZ[local833] & 0xFFFF);
local1072 = ((float) local1583 * local1288[0] + (float) local1591 * local1288[1] + (float) local1599 * local1288[2]) / local1048; local1072 = ((float) local1583 * local1288[0] + (float) local1591 * local1288[1] + (float) local1599 * local1288[2]) / local1048;
local1080 = ((float) local1583 * local1288[3] + (float) local1591 * local1288[4] + (float) local1599 * local1288[5]) / local1056; local1080 = ((float) local1583 * local1288[3] + (float) local1591 * local1288[4] + (float) local1599 * local1288[5]) / local1056;
local1088 = ((float) local1583 * local1288[6] + (float) local1591 * local1288[7] + (float) local1599 * local1288[8]) / local1064; local1088 = ((float) local1583 * local1288[6] + (float) local1591 * local1288[7] + (float) local1599 * local1288[8]) / local1064;
local553 = method4092(local1072, local1080, local1088); local553 = method4092(local1072, local1080, local1088);
method4104(arg0.anIntArray202[local909], arg0.anIntArray201[local909], arg0.anIntArray203[local909], local1276, local1280, local1284, local553, local1288, local1293, local952, local960, local968); method4104(arg0.vertexX[local909], arg0.vertexY[local909], arg0.vertexZ[local909], local1276, local1280, local1284, local553, local1288, local1293, local952, local960, local968);
local854 = aFloat27; local854 = aFloat27;
local856 = aFloat24; local856 = aFloat24;
method4104(arg0.anIntArray202[local914], arg0.anIntArray201[local914], arg0.anIntArray203[local914], local1276, local1280, local1284, local553, local1288, local1293, local952, local960, local968); method4104(arg0.vertexX[local914], arg0.vertexY[local914], arg0.vertexZ[local914], local1276, local1280, local1284, local553, local1288, local1293, local952, local960, local968);
local858 = aFloat27; local858 = aFloat27;
local683 = aFloat24; local683 = aFloat24;
method4104(arg0.anIntArray202[local919], arg0.anIntArray201[local919], arg0.anIntArray203[local919], local1276, local1280, local1284, local553, local1288, local1293, local952, local960, local968); method4104(arg0.vertexX[local919], arg0.vertexY[local919], arg0.vertexZ[local919], local1276, local1280, local1284, local553, local1288, local1293, local952, local960, local968);
local714 = aFloat27; local714 = aFloat27;
local685 = aFloat24; local685 = aFloat24;
} else if (local902 == 3) { } else if (local902 == 3) {
method4101(arg0.anIntArray202[local909], arg0.anIntArray201[local909], arg0.anIntArray203[local909], local1276, local1280, local1284, local1288, local1293, local952); method4101(arg0.vertexX[local909], arg0.vertexY[local909], arg0.vertexZ[local909], local1276, local1280, local1284, local1288, local1293, local952);
local854 = aFloat29; local854 = aFloat29;
local856 = aFloat25; local856 = aFloat25;
method4101(arg0.anIntArray202[local914], arg0.anIntArray201[local914], arg0.anIntArray203[local914], local1276, local1280, local1284, local1288, local1293, local952); method4101(arg0.vertexX[local914], arg0.vertexY[local914], arg0.vertexZ[local914], local1276, local1280, local1284, local1288, local1293, local952);
local858 = aFloat29; local858 = aFloat29;
local683 = aFloat25; local683 = aFloat25;
method4101(arg0.anIntArray202[local919], arg0.anIntArray201[local919], arg0.anIntArray203[local919], local1276, local1280, local1284, local1288, local1293, local952); method4101(arg0.vertexX[local919], arg0.vertexY[local919], arg0.vertexZ[local919], local1276, local1280, local1284, local1288, local1293, local952);
local714 = aFloat29; local714 = aFloat29;
local685 = aFloat25; local685 = aFloat25;
if ((local1293 & 0x1) == 0) { if ((local1293 & 0x1) == 0) {
@ -593,41 +593,41 @@ public final class GlModel extends Model {
} }
} }
} }
arg0.method1668(); arg0.calculateNormals();
if (arg0.aByteArray30 == null) { if (arg0.triangleInfo == null) {
local902 = 0; local902 = 0;
} else { } else {
local902 = arg0.aByteArray30[local810]; local902 = arg0.triangleInfo[local810];
} }
if (local902 == 0) { if (local902 == 0) {
@Pc(1994) long local1994 = (long) (local833 << 2) + ((long) (local553 << 24) + (long) (local817 << 8) + (long) local844 << 32); @Pc(1994) long local1994 = (long) (local833 << 2) + ((long) (local553 << 24) + (long) (local817 << 8) + (long) local844 << 32);
local919 = arg0.anIntArray197[local810]; local919 = arg0.triangleVertexA[local810];
@Pc(2004) Model_Class57 local2004 = arg0.aClass57Array1[local919]; @Pc(2004) VertexNormal local2004 = arg0.vertexNormals[local919];
this.aShortArray77[local439] = this.method4098(arg0, local919, local1994, local2004.anInt2437, local2004.anInt2431, local2004.anInt2436, local2004.anInt2432, local854, local856); this.aShortArray77[local439] = this.method4098(arg0, local919, local1994, local2004.x, local2004.y, local2004.z, local2004.triangles, local854, local856);
local1280 = arg0.anIntArray200[local810]; local1280 = arg0.triangleVertexB[local810];
@Pc(2033) Model_Class57 local2033 = arg0.aClass57Array1[local1280]; @Pc(2033) VertexNormal local2033 = arg0.vertexNormals[local1280];
this.aShortArray82[local439] = this.method4098(arg0, local1280, local1994 + (long) local866, local2033.anInt2437, local2033.anInt2431, local2033.anInt2436, local2033.anInt2432, local858, local683); this.aShortArray82[local439] = this.method4098(arg0, local1280, local1994 + (long) local866, local2033.x, local2033.y, local2033.z, local2033.triangles, local858, local683);
@Pc(2060) int local2060 = arg0.anIntArray196[local810]; @Pc(2060) int local2060 = arg0.triangleVertexC[local810];
@Pc(2065) Model_Class57 local2065 = arg0.aClass57Array1[local2060]; @Pc(2065) VertexNormal local2065 = arg0.vertexNormals[local2060];
this.aShortArray83[local439] = this.method4098(arg0, local2060, local1994 + (long) local868, local2065.anInt2437, local2065.anInt2431, local2065.anInt2436, local2065.anInt2432, local714, local685); this.aShortArray83[local439] = this.method4098(arg0, local2060, local1994 + (long) local868, local2065.x, local2065.y, local2065.z, local2065.triangles, local714, local685);
} else if (local902 == 1) { } else if (local902 == 1) {
@Pc(2096) TriangleNormal local2096 = arg0.aClass126Array1[local810]; @Pc(2096) TriangleNormal local2096 = arg0.triangleNormals[local810];
@Pc(2137) long local2137 = (long) ((local833 << 2) + (local2096.anInt4769 > 0 ? 1024 : 2048) + (local2096.anInt4770 + 256 << 12) + (local2096.anInt4767 + 256 << 22)) + ((long) (local553 << 24) + (long) (local817 << 8) + (long) local844 << 32); @Pc(2137) long local2137 = (long) ((local833 << 2) + (local2096.anInt4769 > 0 ? 1024 : 2048) + (local2096.anInt4770 + 256 << 12) + (local2096.anInt4767 + 256 << 22)) + ((long) (local553 << 24) + (long) (local817 << 8) + (long) local844 << 32);
this.aShortArray77[local439] = this.method4098(arg0, arg0.anIntArray197[local810], local2137, local2096.anInt4769, local2096.anInt4770, local2096.anInt4767, 0, local854, local856); this.aShortArray77[local439] = this.method4098(arg0, arg0.triangleVertexA[local810], local2137, local2096.anInt4769, local2096.anInt4770, local2096.anInt4767, 0, local854, local856);
this.aShortArray82[local439] = this.method4098(arg0, arg0.anIntArray200[local810], local2137 + (long) local866, local2096.anInt4769, local2096.anInt4770, local2096.anInt4767, 0, local858, local683); this.aShortArray82[local439] = this.method4098(arg0, arg0.triangleVertexB[local810], local2137 + (long) local866, local2096.anInt4769, local2096.anInt4770, local2096.anInt4767, 0, local858, local683);
this.aShortArray83[local439] = this.method4098(arg0, arg0.anIntArray196[local810], local2137 + (long) local868, local2096.anInt4769, local2096.anInt4770, local2096.anInt4767, 0, local714, local685); this.aShortArray83[local439] = this.method4098(arg0, arg0.triangleVertexC[local810], local2137 + (long) local868, local2096.anInt4769, local2096.anInt4770, local2096.anInt4767, 0, local714, local685);
} }
if (arg0.aShortArray23 == null) { if (arg0.triangleTextures == null) {
this.aShortArray80[local439] = -1; this.aShortArray80[local439] = -1;
} else { } else {
this.aShortArray80[local439] = arg0.aShortArray23[local810]; this.aShortArray80[local439] = arg0.triangleTextures[local810];
} }
if (this.aByteArray72 != null) { if (this.aByteArray72 != null) {
this.aByteArray72[local439] = (byte) arg0.anIntArray192[local810]; this.aByteArray72[local439] = (byte) arg0.triangleBones[local810];
} }
this.aShortArray75[local439] = arg0.aShortArray24[local810]; this.aShortArray75[local439] = arg0.triangleColors[local810];
if (arg0.aByteArray26 != null) { if (arg0.triangleAlpha != null) {
this.aByteArray71[local439] = arg0.aByteArray26[local810]; this.aByteArray71[local439] = arg0.triangleAlpha[local810];
} }
if (arg0.aShortArray22 != null) { if (arg0.aShortArray22 != null) {
this.aShortArray78[local439] = arg0.aShortArray22[local810]; this.aShortArray78[local439] = arg0.aShortArray22[local810];
@ -1852,7 +1852,7 @@ public final class GlModel extends Model {
} }
@OriginalMember(owner = "client!td", name = "o", descriptor = "()V") @OriginalMember(owner = "client!td", name = "o", descriptor = "()V")
public final void method4099() { public final void createBones() {
@Pc(5) int[] local5; @Pc(5) int[] local5;
@Pc(7) int local7; @Pc(7) int local7;
@Pc(24) int local24; @Pc(24) int local24;

View file

@ -28,7 +28,7 @@ public class HintArrowManager {
@Pc(4) long local4 = (long) arg2; @Pc(4) long local4 = (long) arg2;
@Pc(10) Model local10 = (Model) HINT_ARROWS.get(local4); @Pc(10) Model local10 = (Model) HINT_ARROWS.get(local4);
if (local10 == null) { if (local10 == null) {
@Pc(22) RawModel local22 = Static77.create(client.js5Archive7, arg2); @Pc(22) RawModel local22 = RawModel.create(client.js5Archive7, arg2);
if (local22 == null) { if (local22 == null) {
return null; return null;
} }

View file

@ -38,7 +38,7 @@ public final class IdkType {
@Pc(16) RawModel[] local16 = new RawModel[5]; @Pc(16) RawModel[] local16 = new RawModel[5];
for (@Pc(18) int local18 = 0; local18 < 5; local18++) { for (@Pc(18) int local18 = 0; local18 < 5; local18++) {
if (this.headModels[local18] != -1) { if (this.headModels[local18] != -1) {
local16[local13++] = Static77.create(IdkTypeList.modelsArchive, this.headModels[local18]); local16[local13++] = RawModel.create(IdkTypeList.modelsArchive, this.headModels[local18]);
} }
} }
@Pc(52) RawModel local52 = new RawModel(local16, local13); @Pc(52) RawModel local52 = new RawModel(local16, local13);
@ -114,7 +114,7 @@ public final class IdkType {
} }
@Pc(16) RawModel[] local16 = new RawModel[this.bodyModels.length]; @Pc(16) RawModel[] local16 = new RawModel[this.bodyModels.length];
for (@Pc(18) int local18 = 0; local18 < this.bodyModels.length; local18++) { for (@Pc(18) int local18 = 0; local18 < this.bodyModels.length; local18++) {
local16[local18] = Static77.create(IdkTypeList.modelsArchive, this.bodyModels[local18]); local16[local18] = RawModel.create(IdkTypeList.modelsArchive, this.bodyModels[local18]);
} }
@Pc(56) RawModel local56; @Pc(56) RawModel local56;
if (local16.length == 1) { if (local16.length == 1) {

View file

@ -253,7 +253,7 @@ public final class LocType {
} }
local7 = (RawModel) LocTypeList.aClass99_24.get((long) local60); local7 = (RawModel) LocTypeList.aClass99_24.get((long) local60);
if (local7 == null) { if (local7 == null) {
local7 = Static77.create(LocTypeList.modelsArchive, local60 & 0xFFFF); local7 = RawModel.create(LocTypeList.modelsArchive, local60 & 0xFFFF);
if (local7 == null) { if (local7 == null) {
return null; return null;
} }
@ -286,7 +286,7 @@ public final class LocType {
} }
local7 = (RawModel) LocTypeList.aClass99_24.get((long) local48); local7 = (RawModel) LocTypeList.aClass99_24.get((long) local48);
if (local7 == null) { if (local7 == null) {
local7 = Static77.create(LocTypeList.modelsArchive, local48 & 0xFFFF); local7 = RawModel.create(LocTypeList.modelsArchive, local48 & 0xFFFF);
if (local7 == null) { if (local7 == null) {
return null; return null;
} }
@ -651,7 +651,7 @@ public final class LocType {
if (local79 == null) { if (local79 == null) {
@Pc(175) RawModel local175 = null; @Pc(175) RawModel local175 = null;
for (local177 = 0; local177 < local24; local177++) { for (local177 = 0; local177 < local24; local177++) {
local175 = Static77.create(LocTypeList.modelsArchive, this.models[local177] & 0xFFFF); local175 = RawModel.create(LocTypeList.modelsArchive, this.models[local177] & 0xFFFF);
if (local175 == null) { if (local175 == null) {
return null; return null;
} }
@ -683,7 +683,7 @@ public final class LocType {
} }
local79 = (GlModel) LocTypeList.aClass99_24.get((long) local26); local79 = (GlModel) LocTypeList.aClass99_24.get((long) local26);
if (local79 == null) { if (local79 == null) {
@Pc(90) RawModel local90 = Static77.create(LocTypeList.modelsArchive, local26 & 0xFFFF); @Pc(90) RawModel local90 = RawModel.create(LocTypeList.modelsArchive, local26 & 0xFFFF);
if (local90 == null) { if (local90 == null) {
return null; return null;
} }
@ -811,7 +811,7 @@ public final class LocType {
local69.aShort19 = (short) (this.anInt4407 + 64); local69.aShort19 = (short) (this.anInt4407 + 64);
local60 = local69; local60 = local69;
local69.aShort18 = (short) (this.anInt4405 * 5 + 768); local69.aShort18 = (short) (this.anInt4405 * 5 + 768);
local69.method1668(); local69.calculateNormals();
} else { } else {
local60 = new SoftwareModel(local69, this.anInt4407 + 64, this.anInt4405 * 5 + 768, -50, -10, -50); local60 = new SoftwareModel(local69, this.anInt4407 + 64, this.anInt4405 * 5 + 768, -50, -10, -50);
} }
@ -881,7 +881,7 @@ public final class LocType {
if (local46 == null) { if (local46 == null) {
return null; return null;
} }
local46.method4099(); local46.createBones();
local46.method4111(false, false, false, false, false, true); local46.method4111(false, false, false, false, false, true);
LocTypeList.aClass99_36.put(local46, local30); LocTypeList.aClass99_36.put(local46, local30);
} }

View file

@ -262,7 +262,7 @@ public final class NpcType {
@Pc(84) RawModel[] local84 = new RawModel[this.modelIndices.length]; @Pc(84) RawModel[] local84 = new RawModel[this.modelIndices.length];
for (@Pc(86) int local86 = 0; local86 < this.modelIndices.length; local86++) { for (@Pc(86) int local86 = 0; local86 < this.modelIndices.length; local86++) {
if (this.modelIndices[local86] != -1) { if (this.modelIndices[local86] != -1) {
local84[local86] = Static77.create(NpcTypeList.modelsArchive, this.modelIndices[local86]); local84[local86] = RawModel.create(NpcTypeList.modelsArchive, this.modelIndices[local86]);
if (this.anIntArrayArray29 != null && this.anIntArrayArray29[local86] != null && local84[local86] != null) { if (this.anIntArrayArray29 != null && this.anIntArrayArray29[local86] != null && local84[local86] != null) {
local84[local86].translate(this.anIntArrayArray29[local86][0], this.anIntArrayArray29[local86][1], this.anIntArrayArray29[local86][2]); local84[local86].translate(this.anIntArrayArray29[local86][0], this.anIntArrayArray29[local86][1], this.anIntArrayArray29[local86][2]);
} }
@ -536,7 +536,7 @@ public final class NpcType {
} }
@Pc(82) RawModel[] local82 = new RawModel[this.anIntArray354.length]; @Pc(82) RawModel[] local82 = new RawModel[this.anIntArray354.length];
for (@Pc(84) int local84 = 0; local84 < this.anIntArray354.length; local84++) { for (@Pc(84) int local84 = 0; local84 < this.anIntArray354.length; local84++) {
local82[local84] = Static77.create(NpcTypeList.modelsArchive, this.anIntArray354[local84]); local82[local84] = RawModel.create(NpcTypeList.modelsArchive, this.anIntArray354[local84]);
} }
@Pc(119) RawModel local119; @Pc(119) RawModel local119;
if (local82.length == 1) { if (local82.length == 1) {

View file

@ -313,7 +313,7 @@ public final class ObjType {
} }
@Pc(76) Model local76 = (Model) ObjTypeList.models.get((long) this.anInt2354); @Pc(76) Model local76 = (Model) ObjTypeList.models.get((long) this.anInt2354);
if (local76 == null) { if (local76 == null) {
@Pc(85) RawModel local85 = Static77.create(ObjTypeList.modelsArchive, this.model); @Pc(85) RawModel local85 = RawModel.create(ObjTypeList.modelsArchive, this.model);
if (local85 == null) { if (local85 == null) {
return null; return null;
} }
@ -538,9 +538,9 @@ public final class ObjType {
if (local17 == -1) { if (local17 == -1) {
return null; return null;
} }
@Pc(36) RawModel local36 = Static77.create(ObjTypeList.modelsArchive, local17); @Pc(36) RawModel local36 = RawModel.create(ObjTypeList.modelsArchive, local17);
if (local4 != -1) { if (local4 != -1) {
@Pc(44) RawModel local44 = Static77.create(ObjTypeList.modelsArchive, local4); @Pc(44) RawModel local44 = RawModel.create(ObjTypeList.modelsArchive, local4);
@Pc(55) RawModel[] local55 = new RawModel[] { local36, local44 }; @Pc(55) RawModel[] local55 = new RawModel[] { local36, local44 };
local36 = new RawModel(local55, 2); local36 = new RawModel(local55, 2);
} }
@ -571,14 +571,14 @@ public final class ObjType {
if (local4 == -1) { if (local4 == -1) {
return null; return null;
} }
@Pc(43) RawModel local43 = Static77.create(ObjTypeList.modelsArchive, local4); @Pc(43) RawModel local43 = RawModel.create(ObjTypeList.modelsArchive, local4);
if (local18 != -1) { if (local18 != -1) {
@Pc(54) RawModel local54 = Static77.create(ObjTypeList.modelsArchive, local18); @Pc(54) RawModel local54 = RawModel.create(ObjTypeList.modelsArchive, local18);
if (local21 == -1) { if (local21 == -1) {
@Pc(68) RawModel[] local68 = new RawModel[] { local43, local54 }; @Pc(68) RawModel[] local68 = new RawModel[] { local43, local54 };
local43 = new RawModel(local68, 2); local43 = new RawModel(local68, 2);
} else { } else {
@Pc(81) RawModel local81 = Static77.create(ObjTypeList.modelsArchive, local21); @Pc(81) RawModel local81 = RawModel.create(ObjTypeList.modelsArchive, local21);
@Pc(96) RawModel[] local96 = new RawModel[] { local43, local54, local81 }; @Pc(96) RawModel[] local96 = new RawModel[] { local43, local54, local81 };
local43 = new RawModel(local96, 3); local43 = new RawModel(local96, 3);
} }
@ -625,7 +625,7 @@ public final class ObjType {
@OriginalMember(owner = "client!h", name = "d", descriptor = "(I)Lclient!w;") @OriginalMember(owner = "client!h", name = "d", descriptor = "(I)Lclient!w;")
public final SoftwareModel getInvModel() { public final SoftwareModel getInvModel() {
@Pc(11) RawModel local11 = Static77.create(ObjTypeList.modelsArchive, this.model); @Pc(11) RawModel local11 = RawModel.create(ObjTypeList.modelsArchive, this.model);
if (local11 == null) { if (local11 == null) {
return null; return null;
} }

File diff suppressed because it is too large Load diff

View file

@ -61,10 +61,10 @@ public class ShadowModelList {
@Pc(252) short local252 = (short) (((arg6 & 0x7F) * local130 + (arg4 & 0x7F) * local126 & 0x7F00) + (local130 * (arg6 & 0x380) + local126 * (arg4 & 0x380) & 0x38000) + (local126 * (arg4 & 0xFC00) + (arg6 & 0xFC00) * local130 & 0xFC0000) >> 8); @Pc(252) short local252 = (short) (((arg6 & 0x7F) * local130 + (arg4 & 0x7F) * local126 & 0x7F00) + (local130 * (arg6 & 0x380) + local126 * (arg4 & 0x380) & 0x38000) + (local126 * (arg4 & 0xFC00) + (arg6 & 0xFC00) * local130 & 0xFC0000) >> 8);
for (local162 = 0; local162 < local41; local162++) { for (local162 = 0; local162 < local41; local162++) {
if (local115 == 0) { if (local115 == 0) {
local103.method1676(local109, local113[0][(local162 + 1) % local41], local113[0][local162], local252, local207); local103.addTriangle(local109, local113[0][(local162 + 1) % local41], local113[0][local162], local252, local207);
} else { } else {
local103.method1676(local113[local115 - 1][local162], local113[local115 - 1][(local162 + 1) % local41], local113[local115][(local162 + 1) % local41], local252, local207); local103.addTriangle(local113[local115 - 1][local162], local113[local115 - 1][(local162 + 1) % local41], local113[local115][(local162 + 1) % local41], local252, local207);
local103.method1676(local113[local115 - 1][local162], local113[local115][(local162 + 1) % local41], local113[local115][local162], local252, local207); local103.addTriangle(local113[local115 - 1][local162], local113[local115][(local162 + 1) % local41], local113[local115][local162], local252, local207);
} }
} }
} }

View file

@ -225,22 +225,22 @@ public final class SoftwareModel extends Model {
@OriginalMember(owner = "client!w", name = "<init>", descriptor = "(Lclient!gb;IIIII)V") @OriginalMember(owner = "client!w", name = "<init>", descriptor = "(Lclient!gb;IIIII)V")
public SoftwareModel(@OriginalArg(0) RawModel arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5) { public SoftwareModel(@OriginalArg(0) RawModel arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5) {
arg0.method1668(); arg0.calculateNormals();
arg0.method1683(); arg0.createBones();
this.vertexCount = arg0.anInt2139; this.vertexCount = arg0.vertexCount;
this.anIntArray528 = arg0.anIntArray202; this.anIntArray528 = arg0.vertexX;
this.anIntArray527 = arg0.anIntArray201; this.anIntArray527 = arg0.vertexY;
this.anIntArray531 = arg0.anIntArray203; this.anIntArray531 = arg0.vertexZ;
this.anInt5787 = arg0.anInt2136; this.anInt5787 = arg0.triangleCount;
this.anIntArray534 = arg0.anIntArray197; this.anIntArray534 = arg0.triangleVertexA;
this.anIntArray524 = arg0.anIntArray200; this.anIntArray524 = arg0.triangleVertexB;
this.anIntArray529 = arg0.anIntArray196; this.anIntArray529 = arg0.triangleVertexC;
this.aByteArray73 = arg0.aByteArray35; this.aByteArray73 = arg0.trianglePriorities;
this.aByteArray75 = arg0.aByteArray26; this.aByteArray75 = arg0.triangleAlpha;
this.aByte20 = arg0.aByte7; this.aByte20 = arg0.priority;
this.aShortArray89 = arg0.aShortArray24; this.aShortArray89 = arg0.triangleColors;
this.anIntArrayArray41 = arg0.anIntArrayArray16; this.anIntArrayArray41 = arg0.boneVertices;
this.anIntArrayArray42 = arg0.anIntArrayArray15; this.anIntArrayArray42 = arg0.boneTriangles;
this.aShortArray90 = arg0.aShortArray22; this.aShortArray90 = arg0.aShortArray22;
this.aShortArray91 = arg0.aShortArray29; this.aShortArray91 = arg0.aShortArray29;
@Pc(102) int local102 = (int) Math.sqrt((double) (arg3 * arg3 + arg4 * arg4 + arg5 * arg5)); @Pc(102) int local102 = (int) Math.sqrt((double) (arg3 * arg3 + arg4 * arg4 + arg5 * arg5));
@ -249,12 +249,12 @@ public final class SoftwareModel extends Model {
this.anIntArray523 = new int[this.anInt5787]; this.anIntArray523 = new int[this.anInt5787];
this.anIntArray532 = new int[this.anInt5787]; this.anIntArray532 = new int[this.anInt5787];
@Pc(133) int local133; @Pc(133) int local133;
if (arg0.aShortArray23 == null) { if (arg0.triangleTextures == null) {
this.aShortArray92 = null; this.aShortArray92 = null;
} else { } else {
this.aShortArray92 = new short[this.anInt5787]; this.aShortArray92 = new short[this.anInt5787];
for (local133 = 0; local133 < this.anInt5787; local133++) { for (local133 = 0; local133 < this.anInt5787; local133++) {
@Pc(142) short local142 = arg0.aShortArray23[local133]; @Pc(142) short local142 = arg0.triangleTextures[local133];
if (local142 != -1 && Rasteriser.textureProvider.method3236(local142)) { if (local142 != -1 && Rasteriser.textureProvider.method3236(local142)) {
this.aShortArray92[local133] = local142; this.aShortArray92[local133] = local142;
} else { } else {
@ -262,17 +262,17 @@ public final class SoftwareModel extends Model {
} }
} }
} }
if (arg0.anInt2137 > 0 && arg0.aByteArray31 != null) { if (arg0.texturedCount > 0 && arg0.faceTextureIndex != null) {
@Pc(177) int[] local177 = new int[arg0.anInt2137]; @Pc(177) int[] local177 = new int[arg0.texturedCount];
@Pc(179) int local179; @Pc(179) int local179;
for (local179 = 0; local179 < this.anInt5787; local179++) { for (local179 = 0; local179 < this.anInt5787; local179++) {
if (arg0.aByteArray31[local179] != -1) { if (arg0.faceTextureIndex[local179] != -1) {
local177[arg0.aByteArray31[local179] & 0xFF]++; local177[arg0.faceTextureIndex[local179] & 0xFF]++;
} }
} }
this.anInt5789 = 0; this.anInt5789 = 0;
for (local179 = 0; local179 < arg0.anInt2137; local179++) { for (local179 = 0; local179 < arg0.texturedCount; local179++) {
if (local177[local179] > 0 && arg0.aByteArray29[local179] == 0) { if (local177[local179] > 0 && arg0.textureTypes[local179] == 0) {
this.anInt5789++; this.anInt5789++;
} }
} }
@ -281,11 +281,11 @@ public final class SoftwareModel extends Model {
this.anIntArray525 = new int[this.anInt5789]; this.anIntArray525 = new int[this.anInt5789];
local179 = 0; local179 = 0;
@Pc(248) int local248; @Pc(248) int local248;
for (local248 = 0; local248 < arg0.anInt2137; local248++) { for (local248 = 0; local248 < arg0.texturedCount; local248++) {
if (local177[local248] > 0 && arg0.aByteArray29[local248] == 0) { if (local177[local248] > 0 && arg0.textureTypes[local248] == 0) {
this.anIntArray526[local179] = arg0.aShortArray26[local248] & 0xFFFF; this.anIntArray526[local179] = arg0.textureFacesP[local248] & 0xFFFF;
this.anIntArray530[local179] = arg0.aShortArray20[local248] & 0xFFFF; this.anIntArray530[local179] = arg0.textureFacesM[local248] & 0xFFFF;
this.anIntArray525[local179] = arg0.aShortArray28[local248] & 0xFFFF; this.anIntArray525[local179] = arg0.textureFacesN[local248] & 0xFFFF;
local177[local248] = local179++; local177[local248] = local179++;
} else { } else {
local177[local248] = -1; local177[local248] = -1;
@ -293,10 +293,10 @@ public final class SoftwareModel extends Model {
} }
this.aByteArray74 = new byte[this.anInt5787]; this.aByteArray74 = new byte[this.anInt5787];
for (local248 = 0; local248 < this.anInt5787; local248++) { for (local248 = 0; local248 < this.anInt5787; local248++) {
if (arg0.aByteArray31[local248] == -1) { if (arg0.faceTextureIndex[local248] == -1) {
this.aByteArray74[local248] = -1; this.aByteArray74[local248] = -1;
} else { } else {
this.aByteArray74[local248] = (byte) local177[arg0.aByteArray31[local248] & 0xFF]; this.aByteArray74[local248] = (byte) local177[arg0.faceTextureIndex[local248] & 0xFF];
if (this.aByteArray74[local248] == -1 && this.aShortArray92 != null) { if (this.aByteArray74[local248] == -1 && this.aShortArray92 != null) {
this.aShortArray92[local248] = -1; this.aShortArray92[local248] = -1;
} }
@ -305,16 +305,16 @@ public final class SoftwareModel extends Model {
} }
for (local133 = 0; local133 < this.anInt5787; local133++) { for (local133 = 0; local133 < this.anInt5787; local133++) {
@Pc(366) byte local366; @Pc(366) byte local366;
if (arg0.aByteArray30 == null) { if (arg0.triangleInfo == null) {
local366 = 0; local366 = 0;
} else { } else {
local366 = arg0.aByteArray30[local133]; local366 = arg0.triangleInfo[local133];
} }
@Pc(377) byte local377; @Pc(377) byte local377;
if (arg0.aByteArray26 == null) { if (arg0.triangleAlpha == null) {
local377 = 0; local377 = 0;
} else { } else {
local377 = arg0.aByteArray26[local133]; local377 = arg0.triangleAlpha[local133];
} }
@Pc(388) short local388; @Pc(388) short local388;
if (this.aShortArray92 == null) { if (this.aShortArray92 == null) {
@ -328,37 +328,37 @@ public final class SoftwareModel extends Model {
if (local377 == -1) { if (local377 == -1) {
local366 = 2; local366 = 2;
} }
@Pc(435) Model_Class57 local435; @Pc(435) VertexNormal local435;
@Pc(468) int local468; @Pc(468) int local468;
@Pc(614) TriangleNormal local614; @Pc(614) TriangleNormal local614;
if (local388 == -1) { if (local388 == -1) {
if (local366 == 0) { if (local366 == 0) {
@Pc(416) int local416 = arg0.aShortArray24[local133] & 0xFFFF; @Pc(416) int local416 = arg0.triangleColors[local133] & 0xFFFF;
if (arg0.aClass57Array2 == null || arg0.aClass57Array2[this.anIntArray534[local133]] == null) { if (arg0.aClass57Array2 == null || arg0.aClass57Array2[this.anIntArray534[local133]] == null) {
local435 = arg0.aClass57Array1[this.anIntArray534[local133]]; local435 = arg0.vertexNormals[this.anIntArray534[local133]];
} else { } else {
local435 = arg0.aClass57Array2[this.anIntArray534[local133]]; local435 = arg0.aClass57Array2[this.anIntArray534[local133]];
} }
local468 = arg1 + (arg3 * local435.anInt2437 + arg4 * local435.anInt2431 + arg5 * local435.anInt2436) / (local108 * local435.anInt2432) << 17; local468 = arg1 + (arg3 * local435.x + arg4 * local435.y + arg5 * local435.z) / (local108 * local435.triangles) << 17;
this.anIntArray533[local133] = local468 | method4585(local416, local468 >> 17); this.anIntArray533[local133] = local468 | method4585(local416, local468 >> 17);
if (arg0.aClass57Array2 == null || arg0.aClass57Array2[this.anIntArray524[local133]] == null) { if (arg0.aClass57Array2 == null || arg0.aClass57Array2[this.anIntArray524[local133]] == null) {
local435 = arg0.aClass57Array1[this.anIntArray524[local133]]; local435 = arg0.vertexNormals[this.anIntArray524[local133]];
} else { } else {
local435 = arg0.aClass57Array2[this.anIntArray524[local133]]; local435 = arg0.aClass57Array2[this.anIntArray524[local133]];
} }
local468 = arg1 + (arg3 * local435.anInt2437 + arg4 * local435.anInt2431 + arg5 * local435.anInt2436) / (local108 * local435.anInt2432) << 17; local468 = arg1 + (arg3 * local435.x + arg4 * local435.y + arg5 * local435.z) / (local108 * local435.triangles) << 17;
this.anIntArray523[local133] = local468 | method4585(local416, local468 >> 17); this.anIntArray523[local133] = local468 | method4585(local416, local468 >> 17);
if (arg0.aClass57Array2 == null || arg0.aClass57Array2[this.anIntArray529[local133]] == null) { if (arg0.aClass57Array2 == null || arg0.aClass57Array2[this.anIntArray529[local133]] == null) {
local435 = arg0.aClass57Array1[this.anIntArray529[local133]]; local435 = arg0.vertexNormals[this.anIntArray529[local133]];
} else { } else {
local435 = arg0.aClass57Array2[this.anIntArray529[local133]]; local435 = arg0.aClass57Array2[this.anIntArray529[local133]];
} }
local468 = arg1 + (arg3 * local435.anInt2437 + arg4 * local435.anInt2431 + arg5 * local435.anInt2436) / (local108 * local435.anInt2432) << 17; local468 = arg1 + (arg3 * local435.x + arg4 * local435.y + arg5 * local435.z) / (local108 * local435.triangles) << 17;
this.anIntArray532[local133] = local468 | method4585(local416, local468 >> 17); this.anIntArray532[local133] = local468 | method4585(local416, local468 >> 17);
} else if (local366 == 1) { } else if (local366 == 1) {
local614 = arg0.aClass126Array1[local133]; local614 = arg0.triangleNormals[local133];
local468 = arg1 + (arg3 * local614.anInt4769 + arg4 * local614.anInt4770 + arg5 * local614.anInt4767) / (local108 + local108 / 2) << 17; local468 = arg1 + (arg3 * local614.anInt4769 + arg4 * local614.anInt4770 + arg5 * local614.anInt4767) / (local108 + local108 / 2) << 17;
this.anIntArray533[local133] = local468 | method4585(arg0.aShortArray24[local133] & 0xFFFF, local468 >> 17); this.anIntArray533[local133] = local468 | method4585(arg0.triangleColors[local133] & 0xFFFF, local468 >> 17);
this.anIntArray532[local133] = -1; this.anIntArray532[local133] = -1;
} else if (local366 == 3) { } else if (local366 == 3) {
this.anIntArray533[local133] = 128; this.anIntArray533[local133] = 128;
@ -368,28 +368,28 @@ public final class SoftwareModel extends Model {
} }
} else if (local366 == 0) { } else if (local366 == 0) {
if (arg0.aClass57Array2 == null || arg0.aClass57Array2[this.anIntArray534[local133]] == null) { if (arg0.aClass57Array2 == null || arg0.aClass57Array2[this.anIntArray534[local133]] == null) {
local435 = arg0.aClass57Array1[this.anIntArray534[local133]]; local435 = arg0.vertexNormals[this.anIntArray534[local133]];
} else { } else {
local435 = arg0.aClass57Array2[this.anIntArray534[local133]]; local435 = arg0.aClass57Array2[this.anIntArray534[local133]];
} }
local468 = arg1 + (arg3 * local435.anInt2437 + arg4 * local435.anInt2431 + arg5 * local435.anInt2436) / (local108 * local435.anInt2432); local468 = arg1 + (arg3 * local435.x + arg4 * local435.y + arg5 * local435.z) / (local108 * local435.triangles);
this.anIntArray533[local133] = method4582(local468); this.anIntArray533[local133] = method4582(local468);
if (arg0.aClass57Array2 == null || arg0.aClass57Array2[this.anIntArray524[local133]] == null) { if (arg0.aClass57Array2 == null || arg0.aClass57Array2[this.anIntArray524[local133]] == null) {
local435 = arg0.aClass57Array1[this.anIntArray524[local133]]; local435 = arg0.vertexNormals[this.anIntArray524[local133]];
} else { } else {
local435 = arg0.aClass57Array2[this.anIntArray524[local133]]; local435 = arg0.aClass57Array2[this.anIntArray524[local133]];
} }
local468 = arg1 + (arg3 * local435.anInt2437 + arg4 * local435.anInt2431 + arg5 * local435.anInt2436) / (local108 * local435.anInt2432); local468 = arg1 + (arg3 * local435.x + arg4 * local435.y + arg5 * local435.z) / (local108 * local435.triangles);
this.anIntArray523[local133] = method4582(local468); this.anIntArray523[local133] = method4582(local468);
if (arg0.aClass57Array2 == null || arg0.aClass57Array2[this.anIntArray529[local133]] == null) { if (arg0.aClass57Array2 == null || arg0.aClass57Array2[this.anIntArray529[local133]] == null) {
local435 = arg0.aClass57Array1[this.anIntArray529[local133]]; local435 = arg0.vertexNormals[this.anIntArray529[local133]];
} else { } else {
local435 = arg0.aClass57Array2[this.anIntArray529[local133]]; local435 = arg0.aClass57Array2[this.anIntArray529[local133]];
} }
local468 = arg1 + (arg3 * local435.anInt2437 + arg4 * local435.anInt2431 + arg5 * local435.anInt2436) / (local108 * local435.anInt2432); local468 = arg1 + (arg3 * local435.x + arg4 * local435.y + arg5 * local435.z) / (local108 * local435.triangles);
this.anIntArray532[local133] = method4582(local468); this.anIntArray532[local133] = method4582(local468);
} else if (local366 == 1) { } else if (local366 == 1) {
local614 = arg0.aClass126Array1[local133]; local614 = arg0.triangleNormals[local133];
local468 = arg1 + (arg3 * local614.anInt4769 + arg4 * local614.anInt4770 + arg5 * local614.anInt4767) / (local108 + local108 / 2); local468 = arg1 + (arg3 * local614.anInt4769 + arg4 * local614.anInt4770 + arg5 * local614.anInt4767) / (local108 + local108 / 2);
this.anIntArray533[local133] = method4582(local468); this.anIntArray533[local133] = method4582(local468);
this.anIntArray532[local133] = -1; this.anIntArray532[local133] = -1;

View file

@ -103,7 +103,7 @@ public final class SpotAnimType {
public final Model constructModel(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2) { public final Model constructModel(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2) {
@Pc(13) Model local13 = (Model) SpotAnimTypeList.models.get((long) this.id); @Pc(13) Model local13 = (Model) SpotAnimTypeList.models.get((long) this.id);
if (local13 == null) { if (local13 == null) {
@Pc(28) RawModel local28 = Static77.create(SpotAnimTypeList.modelsArchive, this.modelId); @Pc(28) RawModel local28 = RawModel.create(SpotAnimTypeList.modelsArchive, this.modelId);
if (local28 == null) { if (local28 == null) {
return null; return null;
} }

View file

@ -1,43 +0,0 @@
package rt4;
import org.openrs2.deob.annotation.OriginalArg;
import org.openrs2.deob.annotation.OriginalMember;
import org.openrs2.deob.annotation.Pc;
public final class Static77 {
@OriginalMember(owner = "client!gb", name = "L", descriptor = "[I")
public static final int[] anIntArray194 = new int[10000];
@OriginalMember(owner = "client!gb", name = "N", descriptor = "[I")
public static final int[] anIntArray195 = MathUtils.cos;
@OriginalMember(owner = "client!gb", name = "S", descriptor = "I")
public static int anInt2138 = 0;
@OriginalMember(owner = "client!gb", name = "V", descriptor = "[I")
public static final int[] anIntArray198 = MathUtils.sin;
@OriginalMember(owner = "client!gb", name = "Z", descriptor = "[I")
public static final int[] anIntArray199 = new int[10000];
@OriginalMember(owner = "client!gb", name = "a", descriptor = "([[III)I")
public static int method1680(@OriginalArg(0) int[][] arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2) {
@Pc(3) int local3 = arg1 >> 7;
@Pc(7) int local7 = arg2 >> 7;
if (local3 < 0 || local7 < 0 || local3 >= arg0.length || local7 >= arg0[0].length) {
return 0;
}
@Pc(27) int local27 = arg1 & 0x7F;
@Pc(31) int local31 = arg2 & 0x7F;
@Pc(53) int local53 = arg0[local3][local7] * (128 - local27) + arg0[local3 + 1][local7] * local27 >> 7;
@Pc(79) int local79 = arg0[local3][local7 + 1] * (128 - local27) + arg0[local3 + 1][local7 + 1] * local27 >> 7;
return local53 * (128 - local31) + local79 * local31 >> 7;
}
@OriginalMember(owner = "client!gb", name = "a", descriptor = "(Lclient!ve;II)Lclient!gb;")
public static RawModel create(@OriginalArg(0) Js5 arg0, @OriginalArg(1) int arg1) {
@Pc(5) byte[] local5 = arg0.getFile(arg1, 0);
return local5 == null ? null : new RawModel(local5);
}
}

View file

@ -5,29 +5,29 @@ import org.openrs2.deob.annotation.OriginalClass;
import org.openrs2.deob.annotation.OriginalMember; import org.openrs2.deob.annotation.OriginalMember;
@OriginalClass("client!hd") @OriginalClass("client!hd")
public final class Model_Class57 { public final class VertexNormal {
@OriginalMember(owner = "client!hd", name = "b", descriptor = "I") @OriginalMember(owner = "client!hd", name = "b", descriptor = "I")
public int anInt2431; public int y;
@OriginalMember(owner = "client!hd", name = "d", descriptor = "I") @OriginalMember(owner = "client!hd", name = "d", descriptor = "I")
public int anInt2432; public int triangles;
@OriginalMember(owner = "client!hd", name = "m", descriptor = "I") @OriginalMember(owner = "client!hd", name = "m", descriptor = "I")
public int anInt2436; public int z;
@OriginalMember(owner = "client!hd", name = "n", descriptor = "I") @OriginalMember(owner = "client!hd", name = "n", descriptor = "I")
public int anInt2437; public int x;
@OriginalMember(owner = "client!hd", name = "<init>", descriptor = "()V") @OriginalMember(owner = "client!hd", name = "<init>", descriptor = "()V")
public Model_Class57() { public VertexNormal() {
} }
@OriginalMember(owner = "client!hd", name = "<init>", descriptor = "(Lclient!hd;)V") @OriginalMember(owner = "client!hd", name = "<init>", descriptor = "(Lclient!hd;)V")
public Model_Class57(@OriginalArg(0) Model_Class57 arg0) { public VertexNormal(@OriginalArg(0) VertexNormal arg0) {
this.anInt2432 = arg0.anInt2432; this.triangles = arg0.triangles;
this.anInt2437 = arg0.anInt2437; this.x = arg0.x;
this.anInt2431 = arg0.anInt2431; this.y = arg0.y;
this.anInt2436 = arg0.anInt2436; this.z = arg0.z;
} }
} }