Skip to content

Commit 7d4bbe6

Browse files
committed
just commit the rest of the nonsense
1 parent f505759 commit 7d4bbe6

112 files changed

Lines changed: 13779 additions & 879 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

lib/cwlib-gl/src/main/java/cwlib/gl/exporter/SceneExporter.java

Lines changed: 51 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import cwlib.enums.*;
44
import cwlib.gl.jobs.DecalBaker;
55
import cwlib.gl.jobs.MaterialBaker;
6+
import cwlib.io.Resource;
67
import cwlib.io.streams.MemoryOutputStream;
78
import cwlib.resources.*;
89
import cwlib.singleton.ResourceSystem;
@@ -21,6 +22,7 @@
2122
import cwlib.types.archives.SaveArchive;
2223
import cwlib.types.data.ResourceDescriptor;
2324
import cwlib.types.databases.FileDB;
25+
import cwlib.types.databases.FileDBRow;
2426
import cwlib.types.databases.FileEntry;
2527
import de.javagl.jgltf.impl.v2.Image;
2628
import de.javagl.jgltf.impl.v2.*;
@@ -387,7 +389,7 @@ else if (specular.isSimpleMultiply(gmat))
387389
material.addExtensions("KHR_materials_specular", spec);
388390
}
389391

390-
MaterialBox glow = gmat.getBoxConnectedToPort(output, BrdfPort.GLOW);
392+
MaterialBox glow = gmat.getBoxConnectedToPort(output, BrdfPort.SELF_ILLUMINATION);
391393
if (glow != null)
392394
{
393395
material.setEmissiveFactor(new float[] { 1.0f, 1.0f, 1.0f });
@@ -425,7 +427,7 @@ else if (glow.isTexture())
425427
TextureInfo info = new TextureInfo();
426428
System.out.println("Baking " + name + " glow texture");
427429
byte[] png = new MaterialBaker(mesh, gmat, gfxMaterialDescriptor,
428-
materialTransform, BrdfPort.GLOW, 0).BakeToPNG();
430+
materialTransform, BrdfPort.SELF_ILLUMINATION, 0).BakeToPNG();
429431
info.setIndex(registerTexture(name + "_baked.glow", png));
430432
material.setEmissiveTexture(info);
431433
}
@@ -473,7 +475,7 @@ public int registerMaterial(RMesh mesh, Vector4f materialTransform,
473475

474476

475477
boolean isAlphaClip = ((gmat.flags & GfxMaterialFlags.ALPHA_CLIP) != 0);
476-
boolean hasAlphaNode = gmat.getBoxConnectedToPort(output, BrdfPort.ALPHA_CLIP) != null;
478+
boolean hasAlphaNode = gmat.getBoxConnectedToPort(output, BrdfPort.OPACITY) != null;
477479
boolean isAlphaBlend = gmat.alphaMode != 0;
478480

479481
if (isAlphaBlend && !isAlphaClip) material.setAlphaMode(AlphaMode.BLEND);
@@ -634,7 +636,7 @@ else if (specular.isSimpleMultiply(gmat))
634636
material.addExtensions("KHR_materials_specular", spec);
635637
}
636638

637-
MaterialBox glow = gmat.getBoxConnectedToPort(output, BrdfPort.GLOW);
639+
MaterialBox glow = gmat.getBoxConnectedToPort(output, BrdfPort.SELF_ILLUMINATION);
638640
if (glow != null)
639641
{
640642
material.setEmissiveFactor(new float[] { 1.0f, 1.0f, 1.0f });
@@ -673,7 +675,7 @@ else if (glow.isTexture())
673675
TextureInfo info = new TextureInfo();
674676
System.out.println("Baking " + name + " glow texture");
675677
byte[] png = new MaterialBaker(mesh, gmat, descriptor, materialTransform,
676-
BrdfPort.GLOW, 0).BakeToPNG();
678+
BrdfPort.SELF_ILLUMINATION, 0).BakeToPNG();
677679
info.setIndex(registerTexture(name + "_baked.glow", png));
678680
material.setEmissiveTexture(info);
679681
}
@@ -1547,5 +1549,49 @@ static class KHRMaterialsSpecular
15471549
{
15481550
public float[] specularColorFactor;
15491551
public TextureInfo specularColorTexture;
1552+
}
1553+
1554+
public static void main(String[] args)
1555+
{
1556+
ResourceSystem.GUI_MODE = false;
1557+
1558+
FileDB database = new FileDB("E:\\emu\\rpcs3\\dev_hdd0\\game\\LBP1DEBUG\\USRDIR\\gamedata\\alear\\sync\\alrs.map");
1559+
1560+
ResourceSystem.getDatabases().add(database);
1561+
ResourceSystem.getDatabases().add(new FileDB("E:\\emu\\rpcs3\\dev_hdd0\\game\\LBP1DEBUG\\USRDIR\\output\\brg_patch.map"));
1562+
ResourceSystem.getDatabases().add(new FileDB("E:\\emu\\rpcs3\\dev_hdd0\\game\\LBP1DEBUG\\USRDIR\\output\\blurayguids.map"));
1563+
ResourceSystem.getArchives().add(new FileArchive("E:\\\\emu\\\\rpcs3\\\\dev_hdd0\\\\game\\\\LBP1DEBUG\\\\USRDIR\\\\gamedata\\\\alear\\\\sync\\\\alrs.farc"));
1564+
ResourceSystem.getArchives().add(new FileArchive("E:\\\\emu\\\\rpcs3\\\\dev_hdd0\\\\game\\\\LBP1DEBUG\\\\USRDIR\\\\data.farc"));
1565+
1566+
List<String> fails = new ArrayList<>();
1567+
1568+
for (FileDBRow row : database)
1569+
{
1570+
if (!row.getPath().endsWith(".plan")) continue;
1571+
RPlan plan = ResourceSystem.load(new ResourceDescriptor(row.getGUID(), ResourceType.PLAN), RPlan.class);
1572+
if (plan == null) continue;
1573+
if (!plan.inventoryData.type.contains(InventoryObjectType.BACKGROUND)) continue;
1574+
1575+
try
1576+
{
1577+
SceneExporter exporter = new SceneExporter();
1578+
exporter.registerPlan(plan);
1579+
exporter.export("C:/Users/Aidan/Desktop/out/" + row.getName().replace(".plan", ".glb"));
1580+
}
1581+
catch (Exception ex)
1582+
{
1583+
fails.add(row.getPath());
1584+
continue;
1585+
}
1586+
}
1587+
1588+
System.out.println("done");
1589+
System.out.println("fails:");
1590+
for (String fail : fails)
1591+
System.out.println("\t" + fail);
1592+
1593+
1594+
1595+
15501596
}
15511597
}

lib/cwlib/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,11 @@
7474
</repository>
7575
</repositories>
7676
<dependencies>
77+
<dependency>
78+
<groupId>org.ejml</groupId>
79+
<artifactId>ejml-all</artifactId>
80+
<version>0.44.0</version>
81+
</dependency>
7782
<dependency>
7883
<groupId>javax.activation</groupId>
7984
<artifactId>activation</artifactId>

lib/cwlib/src/main/java/cwlib/CwlibConfiguration.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,12 @@ public class CwlibConfiguration
4646
public static File SCE_PSSL_EXECUTABLE =
4747
new File(JAR_DIRECTORY, "sce/orbis-wave-psslc.exe");
4848

49+
/**
50+
* Path to PSV shader compiler executable, you'll have to
51+
* get this from a PS Vita SDK yourself.
52+
*/
53+
public static File SCE_PSP2_CGC_EXECUTABLE =
54+
new File(JAR_DIRECTORY, "sce/psp2cgc.exe");
4955

5056
/**
5157
* Whether Toolkit can compile PS3 shaders, requires
@@ -59,17 +65,30 @@ public class CwlibConfiguration
5965
*/
6066
public static boolean CAN_COMPILE_ORBIS_SHADERS = false;
6167

68+
/**
69+
* Whether Toolkit can compile PS Vita shaders, require
70+
* SCE_PSP2_CGC_EXECUTABLE to be set.
71+
*/
72+
public static boolean CAN_COMPILE_PSP2_SHADERS = false;
73+
6274
/**
6375
* Whether Toolkit is running on Windows
6476
*/
6577
public static boolean IS_WINDOWS =
6678
System.getProperty("os.name").toLowerCase().contains("win");
6779

80+
/**
81+
* Folder contained source shaders for named materials, used as an override for the shader compiler.
82+
*/
83+
public static File SHADER_SOURCE_DIRECTORY = new File("E:/art");
84+
6885
static
6986
{
7087
if (SCE_PSSL_EXECUTABLE != null)
7188
CAN_COMPILE_ORBIS_SHADERS = SCE_PSSL_EXECUTABLE.exists();
7289
if (SCE_CGC_EXECUTABLE != null)
7390
CAN_COMPILE_CELL_SHADERS = SCE_CGC_EXECUTABLE.exists();
91+
if (SCE_PSP2_CGC_EXECUTABLE != null)
92+
CAN_COMPILE_PSP2_SHADERS = SCE_PSP2_CGC_EXECUTABLE.exists();
7493
}
7594
}

lib/cwlib/src/main/java/cwlib/enums/BrdfPort.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,13 @@
33
public class BrdfPort
44
{
55
public static final int DIFFUSE = 0;
6-
public static final int ALPHA_CLIP = 1;
6+
public static final int OPACITY = 1; // OPACITY
77
public static final int SPECULAR = 2;
88
public static final int BUMP = 3;
9-
public static final int GLOW = 4;
10-
public static final int REFLECTION = 6;
11-
public static final int UNKNOWN = 7; // 7, just adds tex * ambcol, to final color
9+
public static final int SELF_ILLUMINATION = 4; // SELF ILLUMINATION
10+
public static final int RIM_LIGHT = 5;
11+
public static final int REFLECT = 6;
12+
public static final int UNKNOWN = 7; // 7, just adds tex * ambcol, to final color // ambient color map
1213

1314
// 169
1415
public static final int ANISO = 170;

lib/cwlib/src/main/java/cwlib/enums/GameShader.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,7 @@ public enum GameShader
55
LBP1,
66
LBP2_PRE_ALPHA,
77
LBP2,
8-
LBP3_PS4
8+
LBP3_PS4,
9+
LBP_STUPID_BUILD,
10+
VITA
911
}

lib/cwlib/src/main/java/cwlib/enums/Part.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import cwlib.io.Serializable;
44
import cwlib.io.serializer.Serializer;
55
import cwlib.structs.things.parts.*;
6+
import cwlib.types.data.Revision;
67

78
import java.util.ArrayList;
89

@@ -155,12 +156,12 @@ public String getNameForReflection()
155156
* @param version Parts revision
156157
* @return Parts
157158
*/
158-
public static Part[] fromFlags(int head, long flags, int version)
159+
public static Part[] fromFlags(Revision revision, long flags, int version)
159160
{
160161
ArrayList<Part> parts = new ArrayList<>(64);
161162
for (Part part : Part.values())
162163
{
163-
if (part.hasPart(head, flags, version))
164+
if (part.hasPart(revision.getHead(), flags, version))
164165
parts.add(part);
165166
}
166167
return parts.toArray(Part[]::new);

lib/cwlib/src/main/java/cwlib/enums/ResourceType.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package cwlib.enums;
22

3+
import cwlib.io.Resource;
34
import cwlib.io.Serializable;
45
import cwlib.io.ValueEnum;
56
import cwlib.resources.*;
@@ -92,11 +93,11 @@ public enum ResourceType implements ValueEnum<Integer>
9293

9394
private final String header;
9495
private final int value;
95-
private final Class<? extends Serializable> compressable;
96+
private final Class<? extends Resource> compressable;
9697
private final String folder;
9798
private final String extension;
9899

99-
ResourceType(String magic, int value, Class<? extends Serializable> clazz,
100+
ResourceType(String magic, int value, Class<? extends Resource> clazz,
100101
String folder, String extension)
101102
{
102103
this.header = magic;
@@ -125,7 +126,7 @@ public Integer getValue()
125126
return this.value;
126127
}
127128

128-
public Class<? extends Serializable> getCompressable()
129+
public Class<? extends Resource> getCompressable()
129130
{
130131
return this.compressable;
131132
}

lib/cwlib/src/main/java/cwlib/enums/Revisions.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -699,8 +699,9 @@ public class Revisions
699699
public static final int ALEAR_PARAMETER_ANIMATIONS = 6;
700700
public static final int ALEAR_PINS = 7;
701701
public static final int ALEAR_EXPLOSIVES = 8;
702-
703-
public static final int ALEAR_BR1_MAX = 8;
702+
public static final int ALEAR_INVENTORY_DATA = 9;
703+
704+
public static final int ALEAR_BR1_MAX = 9;
704705

705706
// Toolkit revisions
706707

lib/cwlib/src/main/java/cwlib/enums/SwitchType.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,10 @@ public enum SwitchType implements ValueEnum<Integer>
8989
POWERUP_TWEAKER(81),
9090
RACE_START(82),
9191
DECORATION_MOUNT(83),
92-
SPRING_SENSOR(84);
92+
SPRING_SENSOR(84),
93+
94+
NETWORK_SAMPLER(85),
95+
NETWORK_SENSOR(86);
9396

9497
private final int value;
9598

lib/cwlib/src/main/java/cwlib/enums/ToolType.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,11 @@ public enum ToolType implements ValueEnum<Byte>
5555
RAIL_EDIT(43),
5656
ADD_LIGHT(44),
5757
ADVENTURE_RESET(45),
58-
ADVENTURE_SAVE(46);
58+
ADVENTURE_SAVE(46),
59+
60+
TOOL_SHAPE_SPIKE(53),
61+
TOOL_SHAPE_DROWNED(54),
62+
TOOL_SHAPE_CRUSH(55);
5963

6064
private final byte value;
6165

0 commit comments

Comments
 (0)