mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
Merge pull request #1445 from MellowArpeggiation/angelica
Replace DisplayLists with VBOs (Improved Angelica support)
This commit is contained in:
commit
d25a350efa
@ -86,6 +86,7 @@ import com.hbm.sound.MovingSoundPlayerLoop.EnumHbmSound;
|
|||||||
|
|
||||||
import cpw.mods.fml.client.FMLClientHandler;
|
import cpw.mods.fml.client.FMLClientHandler;
|
||||||
import cpw.mods.fml.common.FMLCommonHandler;
|
import cpw.mods.fml.common.FMLCommonHandler;
|
||||||
|
import cpw.mods.fml.common.Loader;
|
||||||
import cpw.mods.fml.common.eventhandler.EventPriority;
|
import cpw.mods.fml.common.eventhandler.EventPriority;
|
||||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||||
import cpw.mods.fml.common.gameevent.InputEvent;
|
import cpw.mods.fml.common.gameevent.InputEvent;
|
||||||
@ -925,14 +926,16 @@ public class ModEventHandlerClient {
|
|||||||
|
|
||||||
Minecraft mc = Minecraft.getMinecraft();
|
Minecraft mc = Minecraft.getMinecraft();
|
||||||
ArmorNo9.updateWorldHook(mc.theWorld);
|
ArmorNo9.updateWorldHook(mc.theWorld);
|
||||||
|
|
||||||
|
boolean supportsHighRenderDistance = FMLClientHandler.instance().hasOptifine() || Loader.isModLoaded("angelica");
|
||||||
|
|
||||||
if(mc.gameSettings.renderDistanceChunks > 16 && GeneralConfig.enableRenderDistCheck && ! FMLClientHandler.instance().hasOptifine()) {
|
if(mc.gameSettings.renderDistanceChunks > 16 && GeneralConfig.enableRenderDistCheck && !supportsHighRenderDistance) {
|
||||||
mc.gameSettings.renderDistanceChunks = 16;
|
mc.gameSettings.renderDistanceChunks = 16;
|
||||||
LoggingUtil.errorWithHighlight("========================== WARNING ==========================");
|
LoggingUtil.errorWithHighlight("========================== WARNING ==========================");
|
||||||
LoggingUtil.errorWithHighlight("Dangerous render distance detected: Values over 16 only work on 1.8+ or with Optifine installed!!");
|
LoggingUtil.errorWithHighlight("Dangerous render distance detected: Values over 16 only work on 1.8+ or with Optifine/Angelica installed!!");
|
||||||
LoggingUtil.errorWithHighlight("Set '1.25_enableRenderDistCheck' in hbm.cfg to 'false' to disable this check.");
|
LoggingUtil.errorWithHighlight("Set '1.25_enableRenderDistCheck' in hbm.cfg to 'false' to disable this check.");
|
||||||
LoggingUtil.errorWithHighlight("========================== WARNING ==========================");
|
LoggingUtil.errorWithHighlight("========================== WARNING ==========================");
|
||||||
LoggingUtil.errorWithHighlight("If you got this error after removing Optifine: Consider deleting your option files after removing mods.");
|
LoggingUtil.errorWithHighlight("If you got this error after removing Optifine/Angelica: Consider deleting your option files after removing mods.");
|
||||||
LoggingUtil.errorWithHighlight("If you got this error after downgrading your Minecraft version: Consider using a launcher that doesn't reuse the same folders for every game instance. MultiMC for example, it's really good and it comes with a dedicated cat button. You like cats, right? Are you using the Microsoft launcher? The one launcher that turns every version switch into a tightrope act because all the old config and options files are still here because different instances all use the same folder structure instead of different folders like a competent launcher would, because some MO-RON thought that this was an acceptable way of doing things? Really? The launcher that circumcises every crashlog into indecipherable garbage, tricking oblivious people into posting that as a \"crash report\", effectively wasting everyone's time? The launcher made by the company that thought it would be HI-LA-RI-OUS to force everyone to use Microsoft accounts, effectively breaking every other launcher until they implement their terrible auth system?");
|
LoggingUtil.errorWithHighlight("If you got this error after downgrading your Minecraft version: Consider using a launcher that doesn't reuse the same folders for every game instance. MultiMC for example, it's really good and it comes with a dedicated cat button. You like cats, right? Are you using the Microsoft launcher? The one launcher that turns every version switch into a tightrope act because all the old config and options files are still here because different instances all use the same folder structure instead of different folders like a competent launcher would, because some MO-RON thought that this was an acceptable way of doing things? Really? The launcher that circumcises every crashlog into indecipherable garbage, tricking oblivious people into posting that as a \"crash report\", effectively wasting everyone's time? The launcher made by the company that thought it would be HI-LA-RI-OUS to force everyone to use Microsoft accounts, effectively breaking every other launcher until they implement their terrible auth system?");
|
||||||
LoggingUtil.errorWithHighlight("========================== WARNING ==========================");
|
LoggingUtil.errorWithHighlight("========================== WARNING ==========================");
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import com.hbm.lib.RefStrings;
|
|||||||
import com.hbm.render.anim.AnimationLoader;
|
import com.hbm.render.anim.AnimationLoader;
|
||||||
import com.hbm.render.anim.BusAnimation;
|
import com.hbm.render.anim.BusAnimation;
|
||||||
import com.hbm.render.loader.HFRWavefrontObject;
|
import com.hbm.render.loader.HFRWavefrontObject;
|
||||||
|
import com.hbm.render.loader.IModelCustomNamed;
|
||||||
import com.hbm.render.loader.WavefrontObjDisplayList;
|
import com.hbm.render.loader.WavefrontObjDisplayList;
|
||||||
|
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
@ -25,35 +26,35 @@ public class ResourceManager {
|
|||||||
////Obj TEs
|
////Obj TEs
|
||||||
|
|
||||||
//Turrets
|
//Turrets
|
||||||
public static final IModelCustom turret_chekhov = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_chekhov.obj")).asDisplayList();
|
public static final IModelCustom turret_chekhov = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_chekhov.obj")).asVBO();
|
||||||
public static final IModelCustom turret_jeremy = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_jeremy.obj")).asDisplayList();
|
public static final IModelCustom turret_jeremy = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_jeremy.obj")).asVBO();
|
||||||
public static final IModelCustom turret_tauon = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_tauon.obj")).asDisplayList();
|
public static final IModelCustom turret_tauon = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_tauon.obj")).asVBO();
|
||||||
public static final IModelCustom turret_richard = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_richard.obj")).asDisplayList();
|
public static final IModelCustom turret_richard = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_richard.obj")).asVBO();
|
||||||
public static final IModelCustom turret_howard = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_howard.obj")).asDisplayList();
|
public static final IModelCustom turret_howard = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_howard.obj")).asVBO();
|
||||||
public static final IModelCustom turret_maxwell = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_microwave.obj")).asDisplayList();
|
public static final IModelCustom turret_maxwell = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_microwave.obj")).asVBO();
|
||||||
public static final IModelCustom turret_fritz = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_fritz.obj")).asDisplayList();
|
public static final IModelCustom turret_fritz = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_fritz.obj")).asVBO();
|
||||||
public static final IModelCustom turret_brandon = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_brandon.obj")).asDisplayList();
|
public static final IModelCustom turret_brandon = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_brandon.obj")).asVBO();
|
||||||
public static final IModelCustom turret_arty = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_arty.obj")).asDisplayList();
|
public static final IModelCustom turret_arty = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_arty.obj")).asVBO();
|
||||||
public static final IModelCustom turret_himars = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_himars.obj")).asDisplayList();
|
public static final IModelCustom turret_himars = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_himars.obj")).asVBO();
|
||||||
public static final IModelCustom turret_sentry = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_sentry.obj")).asDisplayList();
|
public static final IModelCustom turret_sentry = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_sentry.obj")).asVBO();
|
||||||
|
|
||||||
public static final IModelCustom turret_howard_damaged = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_howard_damaged.obj")).asDisplayList();
|
public static final IModelCustom turret_howard_damaged = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/turrets/turret_howard_damaged.obj")).asVBO();
|
||||||
|
|
||||||
//Heaters
|
//Heaters
|
||||||
public static final IModelCustom heater_firebox = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/firebox.obj"), false).asDisplayList();
|
public static final IModelCustom heater_firebox = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/firebox.obj"), false).asVBO();
|
||||||
public static final IModelCustom heater_oven = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/heating_oven.obj"), false).asDisplayList();
|
public static final IModelCustom heater_oven = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/heating_oven.obj"), false).asVBO();
|
||||||
public static final IModelCustom heater_oilburner = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/oilburner.obj")).asDisplayList();
|
public static final IModelCustom heater_oilburner = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/oilburner.obj")).asVBO();
|
||||||
public static final IModelCustom heater_electric = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/electric_heater.obj"), false).asDisplayList();
|
public static final IModelCustom heater_electric = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/electric_heater.obj"), false).asVBO();
|
||||||
public static final IModelCustom heater_heatex = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/heatex.obj")).asDisplayList();
|
public static final IModelCustom heater_heatex = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/heatex.obj")).asVBO();
|
||||||
|
|
||||||
//Heat Engines
|
//Heat Engines
|
||||||
public static final IModelCustom stirling = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/stirling.obj"));
|
public static final IModelCustom stirling = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/stirling.obj"));
|
||||||
public static final IModelCustom sawmill = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/sawmill.obj"));
|
public static final IModelCustom sawmill = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/sawmill.obj"));
|
||||||
public static final IModelCustom crucible_heat = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/crucible.obj"));
|
public static final IModelCustom crucible_heat = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/crucible.obj"));
|
||||||
public static final IModelCustom boiler = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/boiler.obj")).asDisplayList();
|
public static final IModelCustom boiler = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/boiler.obj")).asVBO();
|
||||||
public static final IModelCustom boiler_burst = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/boiler_burst.obj")).asDisplayList();
|
public static final IModelCustom boiler_burst = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/boiler_burst.obj")).asVBO();
|
||||||
public static final IModelCustom boiler_industrial = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/industrial_boiler.obj")).asDisplayList();
|
public static final IModelCustom boiler_industrial = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/industrial_boiler.obj")).asVBO();
|
||||||
public static final IModelCustom hephaestus = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/hephaestus.obj")).asDisplayList();
|
public static final IModelCustom hephaestus = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/hephaestus.obj")).asVBO();
|
||||||
|
|
||||||
//Caster o' Strands
|
//Caster o' Strands
|
||||||
public static final IModelCustom strand_caster = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/strand_caster.obj"));
|
public static final IModelCustom strand_caster = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/strand_caster.obj"));
|
||||||
@ -70,53 +71,53 @@ public class ResourceManager {
|
|||||||
public static final IModelCustom mine_fat = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/mine_fat.obj"));
|
public static final IModelCustom mine_fat = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/mine_fat.obj"));
|
||||||
|
|
||||||
//Oil Pumps
|
//Oil Pumps
|
||||||
public static final IModelCustom derrick = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/derrick.obj")).asDisplayList();
|
public static final IModelCustom derrick = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/derrick.obj")).asVBO();
|
||||||
public static final IModelCustom pumpjack = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/pumpjack.obj")).asDisplayList();
|
public static final IModelCustom pumpjack = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/pumpjack.obj")).asVBO();
|
||||||
public static final IModelCustom fracking_tower = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/fracking_tower.obj")).asDisplayList();
|
public static final IModelCustom fracking_tower = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/fracking_tower.obj")).asVBO();
|
||||||
|
|
||||||
//Refinery
|
//Refinery
|
||||||
public static final IModelCustom refinery = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/refinery.obj")).asDisplayList();
|
public static final IModelCustom refinery = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/refinery.obj")).asVBO();
|
||||||
public static final IModelCustom vacuum_distill = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/vacuum_distill.obj")).asDisplayList();
|
public static final IModelCustom vacuum_distill = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/vacuum_distill.obj")).asVBO();
|
||||||
public static final IModelCustom refinery_exploded = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/refinery_exploded.obj")).asDisplayList();
|
public static final IModelCustom refinery_exploded = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/refinery_exploded.obj")).asVBO();
|
||||||
public static final IModelCustom fraction_tower = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/fraction_tower.obj"));
|
public static final IModelCustom fraction_tower = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/fraction_tower.obj"));
|
||||||
public static final IModelCustom fraction_spacer = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/fraction_spacer.obj"));
|
public static final IModelCustom fraction_spacer = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/fraction_spacer.obj"));
|
||||||
public static final IModelCustom cracking_tower = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/cracking_tower.obj")).asDisplayList();
|
public static final IModelCustom cracking_tower = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/cracking_tower.obj")).asVBO();
|
||||||
public static final IModelCustom catalytic_reformer = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/catalytic_reformer.obj")).asDisplayList();
|
public static final IModelCustom catalytic_reformer = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/catalytic_reformer.obj")).asVBO();
|
||||||
public static final IModelCustom hydrotreater = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/hydrotreater.obj")).asDisplayList();
|
public static final IModelCustom hydrotreater = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/hydrotreater.obj")).asVBO();
|
||||||
public static final IModelCustom liquefactor = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/liquefactor.obj")).asDisplayList();
|
public static final IModelCustom liquefactor = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/liquefactor.obj")).asVBO();
|
||||||
public static final IModelCustom solidifier = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/solidifier.obj")).asDisplayList();
|
public static final IModelCustom solidifier = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/solidifier.obj")).asVBO();
|
||||||
public static final IModelCustom compressor = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/compressor.obj")).asDisplayList();
|
public static final IModelCustom compressor = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/compressor.obj")).asVBO();
|
||||||
public static final IModelCustom coker = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/coker.obj")).asDisplayList();
|
public static final IModelCustom coker = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/coker.obj")).asVBO();
|
||||||
|
|
||||||
//Flare Stack
|
//Flare Stack
|
||||||
public static final IModelCustom oilflare = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/flare_stack.obj")).asDisplayList();
|
public static final IModelCustom oilflare = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/flare_stack.obj")).asVBO();
|
||||||
public static final IModelCustom chimney_brick = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/chimney_brick.obj")).asDisplayList();
|
public static final IModelCustom chimney_brick = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/chimney_brick.obj")).asVBO();
|
||||||
public static final IModelCustom chimney_industrial = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/chimney_industrial.obj")).asDisplayList();
|
public static final IModelCustom chimney_industrial = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/chimney_industrial.obj")).asVBO();
|
||||||
|
|
||||||
//Tank
|
//Tank
|
||||||
public static final IModelCustom fluidtank = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/fluidtank.obj")).asDisplayList();
|
public static final IModelCustom fluidtank = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/fluidtank.obj")).asVBO();
|
||||||
public static final IModelCustom fluidtank_exploded = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/fluidtank_exploded.obj")).asDisplayList();
|
public static final IModelCustom fluidtank_exploded = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/fluidtank_exploded.obj")).asVBO();
|
||||||
public static final IModelCustom bat9000 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/bat9000.obj")).asDisplayList();
|
public static final IModelCustom bat9000 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/bat9000.obj")).asVBO();
|
||||||
public static final IModelCustom orbus = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/orbus.obj")).asDisplayList();
|
public static final IModelCustom orbus = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/orbus.obj")).asVBO();
|
||||||
|
|
||||||
//Turbofan
|
//Turbofan
|
||||||
public static final IModelCustom turbofan = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/turbofan.obj")).asDisplayList();
|
public static final IModelCustom turbofan = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/turbofan.obj")).asVBO();
|
||||||
|
|
||||||
//Gas Turbine
|
//Gas Turbine
|
||||||
public static final IModelCustom turbinegas = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/turbinegas.obj")).asDisplayList();
|
public static final IModelCustom turbinegas = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/turbinegas.obj")).asVBO();
|
||||||
|
|
||||||
//Pumps
|
//Pumps
|
||||||
public static final IModelCustom pump = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/pump.obj")).asDisplayList();
|
public static final IModelCustom pump = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/pump.obj")).asVBO();
|
||||||
|
|
||||||
//Large Turbine
|
//Large Turbine
|
||||||
public static final IModelCustom steam_engine = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/steam_engine.obj")).asDisplayList();
|
public static final IModelCustom steam_engine = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/steam_engine.obj")).asVBO();
|
||||||
public static final IModelCustom turbine = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/turbine.obj"));
|
public static final IModelCustom turbine = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/turbine.obj"));
|
||||||
public static final IModelCustom chungus = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/chungus.obj")).asDisplayList();
|
public static final IModelCustom chungus = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/chungus.obj")).asVBO();
|
||||||
|
|
||||||
//Cooling Tower
|
//Cooling Tower
|
||||||
public static final IModelCustom tower_small = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/tower_small.obj")).asDisplayList();
|
public static final IModelCustom tower_small = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/tower_small.obj")).asVBO();
|
||||||
public static final IModelCustom tower_large = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/tower_large.obj")).asDisplayList();
|
public static final IModelCustom tower_large = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/tower_large.obj")).asVBO();
|
||||||
public static final IModelCustom condenser = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/condenser.obj")).asDisplayList();
|
public static final IModelCustom condenser = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/condenser.obj")).asVBO();
|
||||||
|
|
||||||
//Wood burner
|
//Wood burner
|
||||||
public static final IModelCustom wood_burner = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/wood_burner.obj"));
|
public static final IModelCustom wood_burner = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/wood_burner.obj"));
|
||||||
@ -131,7 +132,7 @@ public class ResourceManager {
|
|||||||
|
|
||||||
//Combustion Engine
|
//Combustion Engine
|
||||||
public static final IModelCustom dieselgen = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/dieselgen.obj"));
|
public static final IModelCustom dieselgen = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/dieselgen.obj"));
|
||||||
public static final IModelCustom combustion_engine = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/combustion_engine.obj")).asDisplayList();
|
public static final IModelCustom combustion_engine = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/combustion_engine.obj")).asVBO();
|
||||||
|
|
||||||
//Press
|
//Press
|
||||||
public static final IModelCustom press_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/press_body.obj"));
|
public static final IModelCustom press_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/press_body.obj"));
|
||||||
@ -179,7 +180,7 @@ public class ResourceManager {
|
|||||||
//Mining Drill
|
//Mining Drill
|
||||||
public static final IModelCustom drill_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/drill_main.obj"));
|
public static final IModelCustom drill_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/drill_main.obj"));
|
||||||
public static final IModelCustom drill_bolt = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/drill_bolt.obj"));
|
public static final IModelCustom drill_bolt = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/drill_bolt.obj"));
|
||||||
public static final IModelCustom mining_drill = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/mining_drill.obj")).asDisplayList();
|
public static final IModelCustom mining_drill = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/mining_drill.obj")).asVBO();
|
||||||
|
|
||||||
//Laser Miner
|
//Laser Miner
|
||||||
public static final IModelCustom mining_laser = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/mining_laser.obj"));
|
public static final IModelCustom mining_laser = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/mining_laser.obj"));
|
||||||
@ -263,11 +264,11 @@ public class ResourceManager {
|
|||||||
public static final IModelCustom shredder = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/shredder.obj"));
|
public static final IModelCustom shredder = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/shredder.obj"));
|
||||||
|
|
||||||
//Bombs
|
//Bombs
|
||||||
public static final IModelCustom bomb_gadget = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/gadget.obj")).asDisplayList();
|
public static final IModelCustom bomb_gadget = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/gadget.obj")).asVBO();
|
||||||
public static final IModelCustom bomb_boy = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/LilBoy1.obj"));
|
public static final IModelCustom bomb_boy = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/LilBoy1.obj"));
|
||||||
public static final IModelCustom bomb_man = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/FatMan.obj")).asDisplayList();
|
public static final IModelCustom bomb_man = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/FatMan.obj")).asVBO();
|
||||||
public static final IModelCustom bomb_mike = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/ivymike.obj"));
|
public static final IModelCustom bomb_mike = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/ivymike.obj"));
|
||||||
public static final IModelCustom bomb_tsar = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/tsar.obj")).asDisplayList();
|
public static final IModelCustom bomb_tsar = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/bombs/tsar.obj")).asVBO();
|
||||||
public static final IModelCustom bomb_prototype = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/Prototype.obj"));
|
public static final IModelCustom bomb_prototype = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/Prototype.obj"));
|
||||||
public static final IModelCustom bomb_fleija = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/Fleija.obj"));
|
public static final IModelCustom bomb_fleija = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/Fleija.obj"));
|
||||||
public static final IModelCustom bomb_solinium = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/bombs/ufp.obj"));
|
public static final IModelCustom bomb_solinium = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/bombs/ufp.obj"));
|
||||||
@ -327,7 +328,7 @@ public class ResourceManager {
|
|||||||
//Doors
|
//Doors
|
||||||
public static AnimatedModel transition_seal = ColladaLoader.load(new ResourceLocation(RefStrings.MODID, "models/doors/seal.dae"), true);
|
public static AnimatedModel transition_seal = ColladaLoader.load(new ResourceLocation(RefStrings.MODID, "models/doors/seal.dae"), true);
|
||||||
public static Animation transition_seal_anim = ColladaLoader.loadAnim(24040, new ResourceLocation(RefStrings.MODID, "models/doors/seal.dae"));
|
public static Animation transition_seal_anim = ColladaLoader.loadAnim(24040, new ResourceLocation(RefStrings.MODID, "models/doors/seal.dae"));
|
||||||
public static final WavefrontObjDisplayList fire_door = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/doors/fire_door.obj")).asDisplayList();
|
public static final IModelCustomNamed fire_door = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/doors/fire_door.obj")).asVBO();
|
||||||
|
|
||||||
//Secure Access Door
|
//Secure Access Door
|
||||||
public static final ResourceLocation secure_access_door_tex = new ResourceLocation(RefStrings.MODID, "textures/models/doors/secure_access_door.png");
|
public static final ResourceLocation secure_access_door_tex = new ResourceLocation(RefStrings.MODID, "textures/models/doors/secure_access_door.png");
|
||||||
@ -846,17 +847,17 @@ public class ResourceManager {
|
|||||||
public static final IModelCustom nightmare_dark = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/nightmare_dark.obj"));
|
public static final IModelCustom nightmare_dark = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/nightmare_dark.obj"));
|
||||||
public static final IModelCustom glass_cannon = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/glass_cannon.obj"));
|
public static final IModelCustom glass_cannon = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/glass_cannon.obj"));
|
||||||
public static final IModelCustom bio_revolver = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/bio_revolver.obj"));
|
public static final IModelCustom bio_revolver = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/bio_revolver.obj"));
|
||||||
public static final IModelCustom chemthrower = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/chemthrower.obj")).asDisplayList();
|
public static final IModelCustom chemthrower = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/chemthrower.obj")).asVBO();
|
||||||
public static final IModelCustom novac = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/novac.obj"));
|
public static final IModelCustom novac = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/novac.obj"));
|
||||||
public static final IModelCustom m2 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/m2_browning.obj")).asDisplayList(); //large fella should be a display list
|
public static final IModelCustom m2 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/m2_browning.obj")).asVBO(); //large fella should be a display list
|
||||||
public static final IModelCustom lunatic_sniper = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lunatic_sniper.obj")).asDisplayList();
|
public static final IModelCustom lunatic_sniper = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lunatic_sniper.obj")).asVBO();
|
||||||
public static final IModelCustom tau = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/tau.obj"));
|
public static final IModelCustom tau = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/tau.obj"));
|
||||||
public static final IModelCustom benelli = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/benelli_new.obj")).asDisplayList();
|
public static final IModelCustom benelli = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/benelli_new.obj")).asVBO();
|
||||||
public static final IModelCustom coilgun = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/coilgun.obj")).asDisplayList();
|
public static final IModelCustom coilgun = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/coilgun.obj")).asVBO();
|
||||||
public static final IModelCustom cryocannon = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/cryo_cannon.obj")).asDisplayList();
|
public static final IModelCustom cryocannon = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/cryo_cannon.obj")).asVBO();
|
||||||
public static final IModelCustom uac_pistol = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/UAC pistol.obj")).asDisplayList();
|
public static final IModelCustom uac_pistol = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/UAC pistol.obj")).asVBO();
|
||||||
public static final IModelCustom congolake = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/congolake.obj")).asDisplayList();
|
public static final IModelCustom congolake = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/congolake.obj")).asVBO();
|
||||||
public static final IModelCustom lilmac = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lilmac.obj")).asDisplayList();
|
public static final IModelCustom lilmac = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lilmac.obj")).asVBO();
|
||||||
|
|
||||||
public static final HashMap<String, BusAnimation> python_anim = AnimationLoader.load(new ResourceLocation(RefStrings.MODID, "models/weapons/animations/python.json"));
|
public static final HashMap<String, BusAnimation> python_anim = AnimationLoader.load(new ResourceLocation(RefStrings.MODID, "models/weapons/animations/python.json"));
|
||||||
public static final HashMap<String, BusAnimation> cursed_anim = AnimationLoader.load(new ResourceLocation(RefStrings.MODID, "models/weapons/animations/cursed.json"));
|
public static final HashMap<String, BusAnimation> cursed_anim = AnimationLoader.load(new ResourceLocation(RefStrings.MODID, "models/weapons/animations/cursed.json"));
|
||||||
@ -1082,30 +1083,30 @@ public class ResourceManager {
|
|||||||
public static final IModelCustom b29 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/b29.obj"));
|
public static final IModelCustom b29 = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/b29.obj"));
|
||||||
|
|
||||||
//Missiles
|
//Missiles
|
||||||
public static final IModelCustom missileV2 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_v2.obj")).asDisplayList();
|
public static final IModelCustom missileV2 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_v2.obj")).asVBO();
|
||||||
public static final IModelCustom missileABM = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_abm.obj")).asDisplayList();
|
public static final IModelCustom missileABM = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_abm.obj")).asVBO();
|
||||||
public static final IModelCustom missileStealth = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_stealth.obj"), false).asDisplayList();
|
public static final IModelCustom missileStealth = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_stealth.obj"), false).asVBO();
|
||||||
public static final IModelCustom missileStrong = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_strong.obj")).asDisplayList();
|
public static final IModelCustom missileStrong = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_strong.obj")).asVBO();
|
||||||
public static final IModelCustom missileHuge = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_huge.obj")).asDisplayList();
|
public static final IModelCustom missileHuge = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_huge.obj")).asVBO();
|
||||||
public static final IModelCustom missileNuclear = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_atlas.obj")).asDisplayList();
|
public static final IModelCustom missileNuclear = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_atlas.obj")).asVBO();
|
||||||
public static final IModelCustom missileMicro = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_micro.obj")).asDisplayList();
|
public static final IModelCustom missileMicro = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/missile_micro.obj")).asVBO();
|
||||||
public static final IModelCustom missileShuttle = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileShuttle.obj"));
|
public static final IModelCustom missileShuttle = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileShuttle.obj"));
|
||||||
public static final IModelCustom missileCarrier = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileCarrier.obj"));
|
public static final IModelCustom missileCarrier = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileCarrier.obj"));
|
||||||
public static final IModelCustom missileBooster = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileBooster.obj"));
|
public static final IModelCustom missileBooster = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missileBooster.obj"));
|
||||||
public static final IModelCustom minerRocket = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/minerRocket.obj"));
|
public static final IModelCustom minerRocket = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/minerRocket.obj"));
|
||||||
public static final IModelCustom soyuz = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/soyuz.obj")).asDisplayList();
|
public static final IModelCustom soyuz = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/soyuz.obj")).asVBO();
|
||||||
public static final IModelCustom soyuz_lander = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/soyuz_lander.obj")).asDisplayList();
|
public static final IModelCustom soyuz_lander = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/soyuz_lander.obj")).asVBO();
|
||||||
public static final IModelCustom soyuz_module = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/soyuz_module.obj")).asDisplayList();
|
public static final IModelCustom soyuz_module = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/soyuz_module.obj")).asVBO();
|
||||||
public static final IModelCustom soyuz_launcher_legs = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/launch_table/soyuz_launcher_legs.obj"), false).asDisplayList();
|
public static final IModelCustom soyuz_launcher_legs = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/launch_table/soyuz_launcher_legs.obj"), false).asVBO();
|
||||||
public static final IModelCustom soyuz_launcher_table = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/launch_table/soyuz_launcher_table.obj"), false).asDisplayList();
|
public static final IModelCustom soyuz_launcher_table = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/launch_table/soyuz_launcher_table.obj"), false).asVBO();
|
||||||
public static final IModelCustom soyuz_launcher_tower_base = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/launch_table/soyuz_launcher_tower_base.obj"), false).asDisplayList();
|
public static final IModelCustom soyuz_launcher_tower_base = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/launch_table/soyuz_launcher_tower_base.obj"), false).asVBO();
|
||||||
public static final IModelCustom soyuz_launcher_tower = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/launch_table/soyuz_launcher_tower.obj"), false).asDisplayList();
|
public static final IModelCustom soyuz_launcher_tower = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/launch_table/soyuz_launcher_tower.obj"), false).asVBO();
|
||||||
public static final IModelCustom soyuz_launcher_support_base = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/launch_table/soyuz_launcher_support_base.obj"), false).asDisplayList();
|
public static final IModelCustom soyuz_launcher_support_base = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/launch_table/soyuz_launcher_support_base.obj"), false).asVBO();
|
||||||
public static final IModelCustom soyuz_launcher_support = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/launch_table/soyuz_launcher_support.obj"), false).asDisplayList();
|
public static final IModelCustom soyuz_launcher_support = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/launch_table/soyuz_launcher_support.obj"), false).asVBO();
|
||||||
|
|
||||||
//Missile Parts
|
//Missile Parts
|
||||||
public static final IModelCustom missile_pad = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/weapons/launch_pad_silo.obj"));
|
public static final IModelCustom missile_pad = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/weapons/launch_pad_silo.obj"));
|
||||||
public static final IModelCustom missile_erector = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/launch_pad_erector.obj")).asDisplayList();
|
public static final IModelCustom missile_erector = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/launch_pad_erector.obj")).asVBO();
|
||||||
public static final IModelCustom missile_assembly = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_assembly.obj"));
|
public static final IModelCustom missile_assembly = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/missile_assembly.obj"));
|
||||||
public static final IModelCustom strut = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/strut.obj"));
|
public static final IModelCustom strut = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/strut.obj"));
|
||||||
public static final IModelCustom compact_launcher = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/compact_launcher.obj"));
|
public static final IModelCustom compact_launcher = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/compact_launcher.obj"));
|
||||||
|
|||||||
@ -26,11 +26,8 @@ public class RenderBlocksCT extends RenderBlocks {
|
|||||||
VertInfo bc;
|
VertInfo bc;
|
||||||
VertInfo br;
|
VertInfo br;
|
||||||
|
|
||||||
Tessellator tess;
|
|
||||||
|
|
||||||
public RenderBlocksCT() {
|
public RenderBlocksCT() {
|
||||||
super();
|
super();
|
||||||
this.tess = Tessellator.instance;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void prepWorld(IBlockAccess acc) {
|
public void prepWorld(IBlockAccess acc) {
|
||||||
@ -240,13 +237,13 @@ public class RenderBlocksCT extends RenderBlocks {
|
|||||||
boolean debugColor = false;
|
boolean debugColor = false;
|
||||||
|
|
||||||
/// ORDER: ROTATIONAL ///
|
/// ORDER: ROTATIONAL ///
|
||||||
if(debugColor) tess.setColorOpaque_F(1F, 1F, 0F);
|
if(debugColor) Tessellator.instance.setColorOpaque_F(1F, 1F, 0F);
|
||||||
drawVert(ftr, icon.getMaxU(), icon.getMinV(), ntr);
|
drawVert(ftr, icon.getMaxU(), icon.getMinV(), ntr);
|
||||||
if(debugColor) tess.setColorOpaque_F(1F, 0F, 0F);
|
if(debugColor) Tessellator.instance.setColorOpaque_F(1F, 0F, 0F);
|
||||||
drawVert(ftl, icon.getMinU(), icon.getMinV(), ntl);
|
drawVert(ftl, icon.getMinU(), icon.getMinV(), ntl);
|
||||||
if(debugColor) tess.setColorOpaque_F(0F, 0F, 1F);
|
if(debugColor) Tessellator.instance.setColorOpaque_F(0F, 0F, 1F);
|
||||||
drawVert(fbl, icon.getMinU(), icon.getMaxV(), nbl);
|
drawVert(fbl, icon.getMinU(), icon.getMaxV(), nbl);
|
||||||
if(debugColor) tess.setColorOpaque_F(0F, 1F, 0F);
|
if(debugColor) Tessellator.instance.setColorOpaque_F(0F, 1F, 0F);
|
||||||
drawVert(fbr, icon.getMaxU(), icon.getMaxV(), nbr);
|
drawVert(fbr, icon.getMaxU(), icon.getMaxV(), nbr);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -257,11 +254,11 @@ public class RenderBlocksCT extends RenderBlocks {
|
|||||||
private void drawVert(double x, double y, double z, double u, double v, VertInfo info) {
|
private void drawVert(double x, double y, double z, double u, double v, VertInfo info) {
|
||||||
|
|
||||||
if(this.enableAO) {
|
if(this.enableAO) {
|
||||||
tess.setColorOpaque_F(info.red, info.green, info.blue);
|
Tessellator.instance.setColorOpaque_F(info.red, info.green, info.blue);
|
||||||
tess.setBrightness(info.brightness);
|
Tessellator.instance.setBrightness(info.brightness);
|
||||||
}
|
}
|
||||||
|
|
||||||
tess.addVertexWithUV(x, y, z, u, v);
|
Tessellator.instance.addVertexWithUV(x, y, z, u, v);
|
||||||
}
|
}
|
||||||
|
|
||||||
private double[] avgCoords(double[] first, double[] second) {
|
private double[] avgCoords(double[] first, double[] second) {
|
||||||
@ -315,32 +312,32 @@ public class RenderBlocksCT extends RenderBlocks {
|
|||||||
GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
|
GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
|
||||||
GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
|
GL11.glTranslatef(-0.5F, -0.5F, -0.5F);
|
||||||
|
|
||||||
tess.startDrawingQuads();
|
Tessellator.instance.startDrawingQuads();
|
||||||
tess.setNormal(0.0F, -1.0F, 0.0F);
|
Tessellator.instance.setNormal(0.0F, -1.0F, 0.0F);
|
||||||
super.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, this.getBlockIconFromSideAndMetadata(block, 0, meta));
|
super.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, this.getBlockIconFromSideAndMetadata(block, 0, meta));
|
||||||
tess.draw();
|
Tessellator.instance.draw();
|
||||||
tess.startDrawingQuads();
|
Tessellator.instance.startDrawingQuads();
|
||||||
tess.setNormal(0.0F, 1.0F, 0.0F);
|
Tessellator.instance.setNormal(0.0F, 1.0F, 0.0F);
|
||||||
super.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, this.getBlockIconFromSideAndMetadata(block, 1, meta));
|
super.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, this.getBlockIconFromSideAndMetadata(block, 1, meta));
|
||||||
tess.draw();
|
Tessellator.instance.draw();
|
||||||
|
|
||||||
tess.startDrawingQuads();
|
Tessellator.instance.startDrawingQuads();
|
||||||
tess.setNormal(0.0F, 0.0F, -1.0F);
|
Tessellator.instance.setNormal(0.0F, 0.0F, -1.0F);
|
||||||
super.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, this.getBlockIconFromSideAndMetadata(block, 2, meta));
|
super.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, this.getBlockIconFromSideAndMetadata(block, 2, meta));
|
||||||
tess.draw();
|
Tessellator.instance.draw();
|
||||||
tess.startDrawingQuads();
|
Tessellator.instance.startDrawingQuads();
|
||||||
tess.setNormal(0.0F, 0.0F, 1.0F);
|
Tessellator.instance.setNormal(0.0F, 0.0F, 1.0F);
|
||||||
super.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, this.getBlockIconFromSideAndMetadata(block, 3, meta));
|
super.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, this.getBlockIconFromSideAndMetadata(block, 3, meta));
|
||||||
tess.draw();
|
Tessellator.instance.draw();
|
||||||
|
|
||||||
tess.startDrawingQuads();
|
Tessellator.instance.startDrawingQuads();
|
||||||
tess.setNormal(-1.0F, 0.0F, 0.0F);
|
Tessellator.instance.setNormal(-1.0F, 0.0F, 0.0F);
|
||||||
super.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, this.getBlockIconFromSideAndMetadata(block, 4, meta));
|
super.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, this.getBlockIconFromSideAndMetadata(block, 4, meta));
|
||||||
tess.draw();
|
Tessellator.instance.draw();
|
||||||
tess.startDrawingQuads();
|
Tessellator.instance.startDrawingQuads();
|
||||||
tess.setNormal(1.0F, 0.0F, 0.0F);
|
Tessellator.instance.setNormal(1.0F, 0.0F, 0.0F);
|
||||||
super.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, this.getBlockIconFromSideAndMetadata(block, 5, meta));
|
super.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, this.getBlockIconFromSideAndMetadata(block, 5, meta));
|
||||||
tess.draw();
|
Tessellator.instance.draw();
|
||||||
|
|
||||||
GL11.glTranslatef(0.5F, 0.5F, 0.5F);
|
GL11.glTranslatef(0.5F, 0.5F, 0.5F);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import java.io.IOException;
|
|||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.InputStreamReader;
|
import java.io.InputStreamReader;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
@ -16,12 +17,11 @@ import net.minecraft.client.Minecraft;
|
|||||||
import net.minecraft.client.renderer.Tessellator;
|
import net.minecraft.client.renderer.Tessellator;
|
||||||
import net.minecraft.client.resources.IResource;
|
import net.minecraft.client.resources.IResource;
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraftforge.client.model.IModelCustom;
|
|
||||||
import net.minecraftforge.client.model.ModelFormatException;
|
import net.minecraftforge.client.model.ModelFormatException;
|
||||||
import net.minecraftforge.client.model.obj.TextureCoordinate;
|
import net.minecraftforge.client.model.obj.TextureCoordinate;
|
||||||
import net.minecraftforge.client.model.obj.Vertex;
|
import net.minecraftforge.client.model.obj.Vertex;
|
||||||
|
|
||||||
public class HFRWavefrontObject implements IModelCustom {
|
public class HFRWavefrontObject implements IModelCustomNamed {
|
||||||
private static Pattern vertexPattern = Pattern.compile("(v( (\\-){0,1}\\d+(\\.\\d+)?){3,4} *\\n)|(v( (\\-){0,1}\\d+(\\.\\d+)?){3,4} *$)");
|
private static Pattern vertexPattern = Pattern.compile("(v( (\\-){0,1}\\d+(\\.\\d+)?){3,4} *\\n)|(v( (\\-){0,1}\\d+(\\.\\d+)?){3,4} *$)");
|
||||||
private static Pattern vertexNormalPattern = Pattern.compile("(vn( (\\-){0,1}\\d+(\\.\\d+)?){3,4} *\\n)|(vn( (\\-){0,1}\\d+(\\.\\d+)?){3,4} *$)");
|
private static Pattern vertexNormalPattern = Pattern.compile("(vn( (\\-){0,1}\\d+(\\.\\d+)?){3,4} *\\n)|(vn( (\\-){0,1}\\d+(\\.\\d+)?){3,4} *$)");
|
||||||
private static Pattern textureCoordinatePattern = Pattern.compile("(vt( (\\-){0,1}\\d+\\.\\d+){2,3} *\\n)|(vt( (\\-){0,1}\\d+(\\.\\d+)?){2,3} *$)");
|
private static Pattern textureCoordinatePattern = Pattern.compile("(vt( (\\-){0,1}\\d+\\.\\d+){2,3} *\\n)|(vt( (\\-){0,1}\\d+(\\.\\d+)?){2,3} *$)");
|
||||||
@ -482,6 +482,19 @@ public class HFRWavefrontObject implements IModelCustom {
|
|||||||
public String getType() {
|
public String getType() {
|
||||||
return "obj";
|
return "obj";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getPartNames() {
|
||||||
|
List<String> names = new ArrayList<String>();
|
||||||
|
for(S_GroupObject data : groupObjects) {
|
||||||
|
names.add(data.name);
|
||||||
|
}
|
||||||
|
return names;
|
||||||
|
}
|
||||||
|
|
||||||
|
public WavefrontObjVBO asVBO() {
|
||||||
|
return new WavefrontObjVBO(this);
|
||||||
|
}
|
||||||
|
|
||||||
public WavefrontObjDisplayList asDisplayList() {
|
public WavefrontObjDisplayList asDisplayList() {
|
||||||
return new WavefrontObjDisplayList(this);
|
return new WavefrontObjDisplayList(this);
|
||||||
|
|||||||
13
src/main/java/com/hbm/render/loader/IModelCustomNamed.java
Normal file
13
src/main/java/com/hbm/render/loader/IModelCustomNamed.java
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
package com.hbm.render.loader;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import net.minecraftforge.client.model.IModelCustom;
|
||||||
|
|
||||||
|
public interface IModelCustomNamed extends IModelCustom {
|
||||||
|
|
||||||
|
// A little messy, but this is the cleanest refactor, and can be useful in the future
|
||||||
|
|
||||||
|
public List<String> getPartNames();
|
||||||
|
|
||||||
|
}
|
||||||
@ -7,11 +7,10 @@ import org.apache.commons.lang3.tuple.Pair;
|
|||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
import net.minecraft.client.renderer.Tessellator;
|
import net.minecraft.client.renderer.Tessellator;
|
||||||
import net.minecraftforge.client.model.IModelCustom;
|
|
||||||
import net.minecraftforge.client.model.obj.GroupObject;
|
import net.minecraftforge.client.model.obj.GroupObject;
|
||||||
import net.minecraftforge.client.model.obj.WavefrontObject;
|
import net.minecraftforge.client.model.obj.WavefrontObject;
|
||||||
|
|
||||||
public class WavefrontObjDisplayList implements IModelCustom {
|
public class WavefrontObjDisplayList implements IModelCustomNamed {
|
||||||
|
|
||||||
public List<Pair<String, Integer>> nameToCallList = new ArrayList<>();
|
public List<Pair<String, Integer>> nameToCallList = new ArrayList<>();
|
||||||
|
|
||||||
@ -95,4 +94,13 @@ public class WavefrontObjDisplayList implements IModelCustom {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getPartNames() {
|
||||||
|
List<String> names = new ArrayList<String>();
|
||||||
|
for(Pair<String, Integer> data : nameToCallList) {
|
||||||
|
names.add(data.getLeft());
|
||||||
|
}
|
||||||
|
return names;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
158
src/main/java/com/hbm/render/loader/WavefrontObjVBO.java
Normal file
158
src/main/java/com/hbm/render/loader/WavefrontObjVBO.java
Normal file
@ -0,0 +1,158 @@
|
|||||||
|
package com.hbm.render.loader;
|
||||||
|
|
||||||
|
import java.nio.FloatBuffer;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.lwjgl.BufferUtils;
|
||||||
|
import org.lwjgl.opengl.*;
|
||||||
|
|
||||||
|
import net.minecraftforge.client.model.obj.TextureCoordinate;
|
||||||
|
import net.minecraftforge.client.model.obj.Vertex;
|
||||||
|
|
||||||
|
public class WavefrontObjVBO implements IModelCustomNamed {
|
||||||
|
|
||||||
|
class VBOBufferData {
|
||||||
|
|
||||||
|
String name;
|
||||||
|
int vertices = 0;
|
||||||
|
int vertexHandle;
|
||||||
|
int uvHandle;
|
||||||
|
int normalHandle;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
List<VBOBufferData> groups = new ArrayList<VBOBufferData>();
|
||||||
|
|
||||||
|
static int VERTEX_SIZE = 3;
|
||||||
|
static int UV_SIZE = 3;
|
||||||
|
|
||||||
|
public WavefrontObjVBO(HFRWavefrontObject obj) {
|
||||||
|
for(S_GroupObject g : obj.groupObjects) {
|
||||||
|
VBOBufferData data = new VBOBufferData();
|
||||||
|
data.name = g.name;
|
||||||
|
|
||||||
|
FloatBuffer vertexData = BufferUtils.createFloatBuffer(g.faces.size() * 3 * VERTEX_SIZE);
|
||||||
|
FloatBuffer uvData = BufferUtils.createFloatBuffer(g.faces.size() * 3 * UV_SIZE);
|
||||||
|
FloatBuffer normalData = BufferUtils.createFloatBuffer(g.faces.size() * 3 * VERTEX_SIZE);
|
||||||
|
|
||||||
|
for(S_Face face : g.faces) {
|
||||||
|
for(int i = 0; i < face.vertices.length; i++) {
|
||||||
|
Vertex vert = face.vertices[i];
|
||||||
|
TextureCoordinate tex = new TextureCoordinate(0, 0);
|
||||||
|
Vertex normal = face.vertexNormals[i];
|
||||||
|
|
||||||
|
if(face.textureCoordinates != null && face.textureCoordinates.length > 0) {
|
||||||
|
tex = face.textureCoordinates[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
data.vertices++;
|
||||||
|
vertexData.put(new float[] { vert.x, vert.y, vert.z });
|
||||||
|
uvData.put(new float[] { tex.u, tex.v, tex.w });
|
||||||
|
normalData.put(new float[] { normal.x, normal.y, normal.z });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
vertexData.flip();
|
||||||
|
uvData.flip();
|
||||||
|
normalData.flip();
|
||||||
|
|
||||||
|
data.vertexHandle = GL15.glGenBuffers();
|
||||||
|
GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, data.vertexHandle);
|
||||||
|
GL15.glBufferData(GL15.GL_ARRAY_BUFFER, vertexData, GL15.GL_STATIC_DRAW);
|
||||||
|
GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0);
|
||||||
|
|
||||||
|
data.uvHandle = GL15.glGenBuffers();
|
||||||
|
GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, data.uvHandle);
|
||||||
|
GL15.glBufferData(GL15.GL_ARRAY_BUFFER, uvData, GL15.GL_STATIC_DRAW);
|
||||||
|
GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0);
|
||||||
|
|
||||||
|
data.normalHandle = GL15.glGenBuffers();
|
||||||
|
GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, data.normalHandle);
|
||||||
|
GL15.glBufferData(GL15.GL_ARRAY_BUFFER, normalData, GL15.GL_STATIC_DRAW);
|
||||||
|
GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0);
|
||||||
|
|
||||||
|
groups.add(data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getType() {
|
||||||
|
return "obj_vbo";
|
||||||
|
}
|
||||||
|
|
||||||
|
private void renderVBO(VBOBufferData data) {
|
||||||
|
GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, data.vertexHandle);
|
||||||
|
GL11.glVertexPointer(VERTEX_SIZE, GL11.GL_FLOAT, 0, 0l);
|
||||||
|
|
||||||
|
GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, data.uvHandle);
|
||||||
|
GL11.glTexCoordPointer(UV_SIZE, GL11.GL_FLOAT, 0, 0l);
|
||||||
|
|
||||||
|
GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, data.normalHandle);
|
||||||
|
GL11.glNormalPointer(GL11.GL_FLOAT, 0, 0l);
|
||||||
|
|
||||||
|
GL11.glEnableClientState(GL11.GL_VERTEX_ARRAY);
|
||||||
|
GL11.glEnableClientState(GL11.GL_TEXTURE_COORD_ARRAY);
|
||||||
|
GL11.glEnableClientState(GL11.GL_NORMAL_ARRAY);
|
||||||
|
|
||||||
|
GL11.glDrawArrays(GL11.GL_TRIANGLES, 0, data.vertices);
|
||||||
|
|
||||||
|
GL11.glDisableClientState(GL11.GL_VERTEX_ARRAY);
|
||||||
|
GL11.glDisableClientState(GL11.GL_TEXTURE_COORD_ARRAY);
|
||||||
|
GL11.glDisableClientState(GL11.GL_NORMAL_ARRAY);
|
||||||
|
|
||||||
|
GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void renderAll() {
|
||||||
|
for(VBOBufferData data : groups) {
|
||||||
|
renderVBO(data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void renderOnly(String... groupNames) {
|
||||||
|
for(VBOBufferData data : groups) {
|
||||||
|
for(String name : groupNames) {
|
||||||
|
if(data.name.equalsIgnoreCase(name)) {
|
||||||
|
renderVBO(data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void renderPart(String partName) {
|
||||||
|
for(VBOBufferData data : groups) {
|
||||||
|
if(data.name.equalsIgnoreCase(partName)) {
|
||||||
|
renderVBO(data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void renderAllExcept(String... excludedGroupNames) {
|
||||||
|
for(VBOBufferData data : groups) {
|
||||||
|
boolean skip = false;
|
||||||
|
for(String name : excludedGroupNames) {
|
||||||
|
if(data.name.equalsIgnoreCase(name)) {
|
||||||
|
skip = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!skip) {
|
||||||
|
renderVBO(data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getPartNames() {
|
||||||
|
List<String> names = new ArrayList<String>();
|
||||||
|
for(VBOBufferData data : groups) {
|
||||||
|
names.add(data.name);
|
||||||
|
}
|
||||||
|
return names;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -2,7 +2,6 @@ package com.hbm.render.tileentity;
|
|||||||
|
|
||||||
import java.nio.DoubleBuffer;
|
import java.nio.DoubleBuffer;
|
||||||
|
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
import com.hbm.animloader.AnimatedModel;
|
import com.hbm.animloader.AnimatedModel;
|
||||||
@ -11,7 +10,7 @@ import com.hbm.animloader.AnimationWrapper;
|
|||||||
import com.hbm.animloader.AnimationWrapper.EndResult;
|
import com.hbm.animloader.AnimationWrapper.EndResult;
|
||||||
import com.hbm.animloader.AnimationWrapper.EndType;
|
import com.hbm.animloader.AnimationWrapper.EndType;
|
||||||
import com.hbm.blocks.BlockDummyable;
|
import com.hbm.blocks.BlockDummyable;
|
||||||
import com.hbm.render.loader.WavefrontObjDisplayList;
|
import com.hbm.render.loader.IModelCustomNamed;
|
||||||
import com.hbm.tileentity.DoorDecl;
|
import com.hbm.tileentity.DoorDecl;
|
||||||
import com.hbm.tileentity.TileEntityDoorGeneric;
|
import com.hbm.tileentity.TileEntityDoorGeneric;
|
||||||
|
|
||||||
@ -75,25 +74,33 @@ public class RenderDoorGeneric extends TileEntitySpecialRenderer {
|
|||||||
animModel.controller.setAnim(w);
|
animModel.controller.setAnim(w);
|
||||||
animModel.renderAnimated(System.currentTimeMillis());
|
animModel.renderAnimated(System.currentTimeMillis());
|
||||||
} else {
|
} else {
|
||||||
WavefrontObjDisplayList model = door.getModel();
|
IModelCustomNamed model = door.getModel();
|
||||||
|
|
||||||
long ms = System.currentTimeMillis()-te.animStartTime;
|
long ms = System.currentTimeMillis()-te.animStartTime;
|
||||||
float openTicks = MathHelper.clamp_float(te.state == 2 || te.state == 0 ? door.timeToOpen()*50-ms : ms, 0, door.timeToOpen()*50)*0.02F;
|
float openTicks = MathHelper.clamp_float(te.state == 2 || te.state == 0 ? door.timeToOpen()*50-ms : ms, 0, door.timeToOpen()*50)*0.02F;
|
||||||
for(Pair<String, Integer> p : model.nameToCallList){
|
|
||||||
if(!door.doesRender(p.getLeft(), false))
|
for(String partName : model.getPartNames()) {
|
||||||
|
if(!door.doesRender(partName, false))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
GL11.glPushMatrix();
|
GL11.glPushMatrix();
|
||||||
bindTexture(door.getTextureForPart(te.getSkinIndex(), p.getLeft()));
|
{
|
||||||
doPartTransform(door, p.getLeft(), openTicks, false);
|
bindTexture(door.getTextureForPart(te.getSkinIndex(), partName));
|
||||||
GL11.glCallList(p.getRight());
|
doPartTransform(door, partName, openTicks, false);
|
||||||
for(String name : door.getChildren(p.getLeft())){
|
model.renderPart(partName);
|
||||||
if(!door.doesRender(name, true))
|
|
||||||
continue;
|
for(String innerPartName : door.getChildren(partName)) {
|
||||||
GL11.glPushMatrix();
|
if(!door.doesRender(innerPartName, true))
|
||||||
bindTexture(door.getTextureForPart(te.getSkinIndex(), name));
|
continue;
|
||||||
doPartTransform(door, name, openTicks, true);
|
|
||||||
model.renderPart(name);
|
GL11.glPushMatrix();
|
||||||
GL11.glPopMatrix();
|
{
|
||||||
|
bindTexture(door.getTextureForPart(te.getSkinIndex(), innerPartName));
|
||||||
|
doPartTransform(door, innerPartName, openTicks, true);
|
||||||
|
model.renderPart(innerPartName);
|
||||||
|
}
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
GL11.glPopMatrix();
|
GL11.glPopMatrix();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -24,7 +24,7 @@ import net.minecraftforge.client.model.IModelCustom;
|
|||||||
|
|
||||||
public class RenderSnowglobe extends TileEntitySpecialRenderer implements IItemRendererProvider {
|
public class RenderSnowglobe extends TileEntitySpecialRenderer implements IItemRendererProvider {
|
||||||
|
|
||||||
public static final IModelCustom snowglobe = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/trinkets/snowglobe.obj"), false).asDisplayList();
|
public static final IModelCustom snowglobe = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/trinkets/snowglobe.obj"), false).asVBO();
|
||||||
public static final ResourceLocation socket = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/snowglobe.png");
|
public static final ResourceLocation socket = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/snowglobe.png");
|
||||||
public static final ResourceLocation glass = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/snowglobe_glass.png");
|
public static final ResourceLocation glass = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/snowglobe_glass.png");
|
||||||
public static final ResourceLocation features = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/snowglobe_features.png");
|
public static final ResourceLocation features = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/snowglobe_features.png");
|
||||||
|
|||||||
@ -11,7 +11,7 @@ import net.minecraftforge.client.model.IModelCustom;
|
|||||||
|
|
||||||
public class HorsePronter {
|
public class HorsePronter {
|
||||||
|
|
||||||
public static final IModelCustom horse = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/mobs/horse.obj"), false).asDisplayList();
|
public static final IModelCustom horse = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/mobs/horse.obj"), false).asVBO();
|
||||||
|
|
||||||
public static final ResourceLocation tex_demohorse = new ResourceLocation(RefStrings.MODID, "textures/models/horse/horse_demo.png");
|
public static final ResourceLocation tex_demohorse = new ResourceLocation(RefStrings.MODID, "textures/models/horse/horse_demo.png");
|
||||||
|
|
||||||
|
|||||||
@ -4,12 +4,13 @@ import com.hbm.animloader.AnimatedModel;
|
|||||||
import com.hbm.animloader.Animation;
|
import com.hbm.animloader.Animation;
|
||||||
import com.hbm.lib.Library;
|
import com.hbm.lib.Library;
|
||||||
import com.hbm.main.ResourceManager;
|
import com.hbm.main.ResourceManager;
|
||||||
import com.hbm.render.loader.WavefrontObjDisplayList;
|
import com.hbm.render.loader.IModelCustomNamed;
|
||||||
import com.hbm.util.BobMathUtil;
|
import com.hbm.util.BobMathUtil;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
import net.minecraft.util.AxisAlignedBB;
|
import net.minecraft.util.AxisAlignedBB;
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
public abstract class DoorDecl {
|
public abstract class DoorDecl {
|
||||||
@ -90,7 +91,7 @@ public abstract class DoorDecl {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
public WavefrontObjDisplayList getModel() {
|
public IModelCustomNamed getModel() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -179,7 +180,7 @@ public abstract class DoorDecl {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
public WavefrontObjDisplayList getModel() {
|
public IModelCustomNamed getModel() {
|
||||||
return ResourceManager.fire_door;
|
return ResourceManager.fire_door;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -267,7 +268,7 @@ public abstract class DoorDecl {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public WavefrontObjDisplayList getModel() {
|
public IModelCustomNamed getModel() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -358,7 +359,7 @@ public abstract class DoorDecl {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
public WavefrontObjDisplayList getModel() {
|
public IModelCustomNamed getModel() {
|
||||||
return ResourceManager.sliding_seal_door;
|
return ResourceManager.sliding_seal_door;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -457,7 +458,7 @@ public abstract class DoorDecl {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
public WavefrontObjDisplayList getModel() {
|
public IModelCustomNamed getModel() {
|
||||||
return ResourceManager.secure_access_door;
|
return ResourceManager.secure_access_door;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -546,7 +547,7 @@ public abstract class DoorDecl {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
public WavefrontObjDisplayList getModel() {
|
public IModelCustomNamed getModel() {
|
||||||
return ResourceManager.round_airlock_door;
|
return ResourceManager.round_airlock_door;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -629,7 +630,7 @@ public abstract class DoorDecl {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
public WavefrontObjDisplayList getModel() {
|
public IModelCustomNamed getModel() {
|
||||||
return ResourceManager.qe_sliding_door;
|
return ResourceManager.qe_sliding_door;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -715,7 +716,7 @@ public abstract class DoorDecl {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
public WavefrontObjDisplayList getModel() {
|
public IModelCustomNamed getModel() {
|
||||||
return ResourceManager.qe_containment;
|
return ResourceManager.qe_containment;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -856,7 +857,7 @@ public abstract class DoorDecl {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
public WavefrontObjDisplayList getModel() {
|
public IModelCustomNamed getModel() {
|
||||||
return ResourceManager.water_door;
|
return ResourceManager.water_door;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -918,7 +919,7 @@ public abstract class DoorDecl {
|
|||||||
@Override public int[] getDimensions() { return new int[] { 0, 0, 2, 2, 2, 2 }; }
|
@Override public int[] getDimensions() { return new int[] { 0, 0, 2, 2, 2, 2 }; }
|
||||||
@Override @SideOnly(Side.CLIENT) public ResourceLocation getTextureForPart(String partName) { return ResourceManager.silo_hatch_tex; }
|
@Override @SideOnly(Side.CLIENT) public ResourceLocation getTextureForPart(String partName) { return ResourceManager.silo_hatch_tex; }
|
||||||
@Override public ResourceLocation getTextureForPart(int skinIndex, String partName) { return ResourceManager.silo_hatch_tex; }
|
@Override public ResourceLocation getTextureForPart(int skinIndex, String partName) { return ResourceManager.silo_hatch_tex; }
|
||||||
@Override @SideOnly(Side.CLIENT) public WavefrontObjDisplayList getModel() { return ResourceManager.silo_hatch; }
|
@Override @SideOnly(Side.CLIENT) public IModelCustomNamed getModel() { return ResourceManager.silo_hatch; }
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -978,7 +979,7 @@ public abstract class DoorDecl {
|
|||||||
@Override public int[] getDimensions() { return new int[] { 0, 0, 3, 3, 3, 3 }; }
|
@Override public int[] getDimensions() { return new int[] { 0, 0, 3, 3, 3, 3 }; }
|
||||||
@Override @SideOnly(Side.CLIENT) public ResourceLocation getTextureForPart(String partName) { return ResourceManager.silo_hatch_large_tex; }
|
@Override @SideOnly(Side.CLIENT) public ResourceLocation getTextureForPart(String partName) { return ResourceManager.silo_hatch_large_tex; }
|
||||||
@Override public ResourceLocation getTextureForPart(int skinIndex, String partName) { return ResourceManager.silo_hatch_large_tex; }
|
@Override public ResourceLocation getTextureForPart(int skinIndex, String partName) { return ResourceManager.silo_hatch_large_tex; }
|
||||||
@Override @SideOnly(Side.CLIENT) public WavefrontObjDisplayList getModel() { return ResourceManager.silo_hatch_large; }
|
@Override @SideOnly(Side.CLIENT) public IModelCustomNamed getModel() { return ResourceManager.silo_hatch_large; }
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1056,7 +1057,7 @@ public abstract class DoorDecl {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
public WavefrontObjDisplayList getModel() {
|
public IModelCustomNamed getModel() {
|
||||||
return ResourceManager.large_vehicle_door;
|
return ResourceManager.large_vehicle_door;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1110,7 +1111,7 @@ public abstract class DoorDecl {
|
|||||||
public abstract ResourceLocation getTextureForPart(int skinIndex, String partName);
|
public abstract ResourceLocation getTextureForPart(int skinIndex, String partName);
|
||||||
|
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
public abstract WavefrontObjDisplayList getModel();
|
public abstract IModelCustomNamed getModel();
|
||||||
|
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
public AnimatedModel getAnimatedModel() {
|
public AnimatedModel getAnimatedModel() {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user