Skip to content

Commit

Permalink
Scale-able Subclasses for Vehicle and Part Models.
Browse files Browse the repository at this point in the history
  • Loading branch information
Fexcraft committed Sep 17, 2020
1 parent 1a564ed commit d61a85e
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 4 deletions.
13 changes: 13 additions & 0 deletions src/main/java/net/fexcraft/mod/fvtm/model/GenericModel.java
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ public abstract class GenericModel<T, K> implements Model<T, K> {
public GroupList groups = new GroupList();
private ArrayList<String> creators = new ArrayList<>();
protected int textureX, textureY;
public Float scale;

public GenericModel(){
if(!DefaultPrograms.DIDLOAD) DefaultPrograms.init();
Expand Down Expand Up @@ -254,4 +255,16 @@ public void clearDisplayLists(){
for(TurboList list : groups) clearDisplayLists(list);
}

public static abstract class ScaledGenericModel<T, K> extends GenericModel<T, K>{

@Override
public void render(ModelRendererTurbo[] mrts){
GL11.glPushMatrix();
GL11.glScalef(scale, scale, scale);
super.render(mrts);
GL11.glPopMatrix();
}

}

}
24 changes: 22 additions & 2 deletions src/main/java/net/fexcraft/mod/fvtm/model/PartModel.java
Original file line number Diff line number Diff line change
Expand Up @@ -50,12 +50,12 @@ public class PartModel extends GenericModel<VehicleData, String> implements FCLI

@Override
public void render(VehicleData data, String key){
for(TurboList list : groups){ list.render(null, data, data, key, null); }
for(TurboList list : groups) list.render(null, data, data, key, null);
}

@Override
public void render(VehicleData data, String key, Entity ent, RenderCache cache){
for(TurboList list : groups){ list.render(ent, data, data, key, cache); }
for(TurboList list : groups) list.render(ent, data, data, key, cache);
}

@Override
Expand Down Expand Up @@ -140,4 +140,24 @@ public static void translateAndRotatePartOnSwivelPointFast(VehicleData vehicle,
GL11.glRotated(180f, 0.0F, 0.0F, 1.0F);
}

public static class ScaledPartModel extends PartModel {

@Override
public void render(VehicleData data, String key){
GL11.glPushMatrix();
GL11.glScalef(scale, scale, scale);
super.render(data, key);
GL11.glPopMatrix();
}

@Override
public void render(VehicleData data, String key, Entity ent, RenderCache cache){
GL11.glPushMatrix();
GL11.glScalef(scale, scale, scale);
super.render(data, key, ent, cache);
GL11.glPopMatrix();
}

}

}
24 changes: 22 additions & 2 deletions src/main/java/net/fexcraft/mod/fvtm/model/VehicleModel.java
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,12 @@ public class VehicleModel extends GenericModel<VehicleData, Object> implements F

@Override
public void render(VehicleData data, Object key){
for(TurboList list : groups){ list.render(null, data, data, null, null); }
for(TurboList list : groups) list.render(null, data, data, null, null);
}

@Override
public void render(VehicleData data, Object key, Entity ent, RenderCache cache){
for(TurboList list : groups){ list.render(ent, data, data, null, cache); }
for(TurboList list : groups) list.render(ent, data, data, null, cache);
}

////-///---/---///-////
Expand Down Expand Up @@ -105,5 +105,25 @@ else if(type == TransformType.FIRST_PERSON_LEFT_HAND || type == TransformType.FI
//GL11.glScalef(-scale.xCoord, -scale.yCoord, -scale.zCoord);
GL11.glPopMatrix();
}

public static class ScaledVehicleModel extends VehicleModel {

@Override
public void render(VehicleData data, Object key){
GL11.glPushMatrix();
GL11.glScalef(scale, scale, scale);
super.render(data, key);
GL11.glPopMatrix();
}

@Override
public void render(VehicleData data, Object key, Entity ent, RenderCache cache){
GL11.glPushMatrix();
GL11.glScalef(scale, scale, scale);
super.render(data, key, ent, cache);
GL11.glPopMatrix();
}

}

}

0 comments on commit d61a85e

Please sign in to comment.