12-04-2015, 08:56 PM
12-06-2015, 03:26 AM
(12-04-2015, 08:56 PM)Carpaccio Wrote: [ -> ]Possibly, if I ever manage to get them all done, hahaha...It takes me a long time to do much of anything.
I know what you mean mate. I have so many ideas for what I rip, but what I see in my head, ain't what I see on the monitor. Not saying that's how it is for you, but yeah... I just wanted to see them, because this guy used Buzz Lightyear that I ripped and created the entire Star Commnad team. It looked pretty great, and it nice to see what came out what I helped contribute.
I haven't gotten around to anymore Injustice models, sorry. I really wanted to try out some of the other games my missus bought me for Christmas...
XCOM: Enemy Unknown works, Defiance is a no go. Bourne fails when trying to extract certain textures. And I tried one I've had forever, Hellboy: The Science Of Evil.
Here's what I got up too:
ARMOUR: Female B.D.U
[attachment=5870]
ARMOUR: Female Carapace
[attachment=5871]
ARMOUR: Female Kevlar
[attachment=5872]
ARMOUR: Female Skeleton
[attachment=5873]
Insectoid:
[attachment=5874]
[attachment=5875]
12-06-2015, 11:39 AM
Well I'll be sure to let you have a look at what I do if I ever manage to get them all done. I'd love to have some interest in my otherwise rather pointless projects, haha.
Take your time anyway, man. I can wait. Do what you like, it's your process to determine.
Take your time anyway, man. I can wait. Do what you like, it's your process to determine.
12-07-2015, 05:18 AM
Thanks Car...
UPDATE: Of Updatiness...
I present my first art work... I call it... Z'evolushion D' Sextoid... This piece includes member of that XCOM rock band, SEXTOADS. On the left, Mikey d'Sex, from XCOM 5: Enforcer. Second is The Don, from iOS XCOM: Enemy Unknown. Then theirs Leon S. Sextoad from X360 XCOM: Enemy Unknown. Lastly we have the Angry menace, Gaph, from XCOM: Declassified: The Bureu.
[attachment=5878]
ENEMIES:
| XCOM 5: E[ PC ] || XCOM: EU[ iOS ] || XCOM: EU[ X360 ] || XCOM: D[ 360 ] |
[attachment=5880][attachment=5879][attachment=5882][attachment=5881]
PROPS:
| Pooltable[ iOS ] || Treadmill[ iOS ] || Pooltable[ X360 ] || Treadmill[ 360 ] |
[attachment=5883][attachment=5884][attachment=5885][attachment=5886]
Just lettin everyone know, I may open up a new thread in project organization for XCOM, too make everything easier;
UPDATE: Of Updatiness...
I present my first art work... I call it... Z'evolushion D' Sextoid... This piece includes member of that XCOM rock band, SEXTOADS. On the left, Mikey d'Sex, from XCOM 5: Enforcer. Second is The Don, from iOS XCOM: Enemy Unknown. Then theirs Leon S. Sextoad from X360 XCOM: Enemy Unknown. Lastly we have the Angry menace, Gaph, from XCOM: Declassified: The Bureu.
[attachment=5878]
ENEMIES:
| XCOM 5: E[ PC ] || XCOM: EU[ iOS ] || XCOM: EU[ X360 ] || XCOM: D[ 360 ] |
[attachment=5880][attachment=5879][attachment=5882][attachment=5881]
PROPS:
| Pooltable[ iOS ] || Treadmill[ iOS ] || Pooltable[ X360 ] || Treadmill[ 360 ] |
[attachment=5883][attachment=5884][attachment=5885][attachment=5886]
Just lettin everyone know, I may open up a new thread in project organization for XCOM, too make everything easier;
12-08-2015, 10:06 AM
Huh...you know, I've never actually played an XCOM game...always wondered what they were like. I know they have some cool alien designs here and there...
01-27-2016, 07:02 PM
Two games I'm ripping from. Firefly Online && Battlestar Galactica Online... CAUSE SHIT IS JUST ONLINE!
Firefly: Series 3 && Colonial Pegasus
[attachment=6019][attachment=6018]
Firefly: Series 3 && Colonial Pegasus
[attachment=6019][attachment=6018]
01-28-2016, 02:48 PM
You know how to riping from Resident Evil 6?
01-28-2016, 09:00 PM
(01-28-2016, 02:48 PM)sutinoer Wrote: [ -> ]You know how to riping from Resident Evil 6?
MATE, if it's Resi Evil, I know... OH I KNOW. Sorry, I love my Resi Evil. Would love an Orgi with Ada Wong, Claire Redfield, Jill Valentine and Rebecca Chambers a lot more, but aye.
First thing, you want to extract the .arc files. Locate the .mod model file and change the extension from .mod to .re6pc. Copy the attached plugin into the Noesis plugin folder. Open up Noesis and navigate to the model double click... VOILA. PS: You're gonna need arctool for the textures, as Noesis doesn't work with the textures.
#*************************************
#Author : Chrrox, Co-Author : Codeman02
#*************************************
#Noesis Python model import+export test module, imports/exports some data from/to a made-up format
from inc_noesis import *
import noesis
#rapi methods should only be used during handler callbacks
import rapi
#registerNoesisTypes is called by Noesis to allow the script to register formats.
#Do not implement this function in script files unless you want them to be dedicated format modules!
def registerNoesisTypes():
handle = noesis.register("Resident Evil 6", ".re6pc")
noesis.setHandlerTypeCheck(handle, re6CheckType)
noesis.setHandlerLoadModel(handle, re6LoadModel) #see also noepyLoadModelRPG
#noesis.setHandlerWriteModel(handle, noepyWriteModel)
#noesis.setHandlerWriteAnim(handle, noepyWriteAnim)
noesis.logPopup()
return 1
#check if it's this type based on the data
def re6CheckType(data):
bs = NoeBitStream(data)
idMagic = bs.readInt()
if idMagic != 0x00444F4
return 0
return 1
#load the model
def re6LoadModel(data, mdlList):
ctx = rapi.rpgCreateContext()
#rapi.rpgSetOption(noesis.RPGOPT_BIGENDIAN, 1)
bs = NoeBitStream(data)
#bs.setEndian(NOE_BIGENDIAN)
idMagic = bs.readInt()
header_version = bs.readUShort() # mod file version
header_bonecount = bs.readUShort() # word Bones[1 to bonecount]
header_grpcount = bs.readUShort() # word Groups[1 to grpcount]
header_Matcount = bs.readUShort() # word Materials[1 to Matcount]
header_vertexcount = bs.readInt() # total vertex in vertex buffer
header_TriangleCount = bs.readInt() # total face count
header_VertexIds = bs.readInt() # Integer Triangle[1 to TriangleCount]
header_vertexbuffersize = bs.readInt() # vertex buffer data size in bytes to alloc on the fly when reading
header_padding = bs.readInt() # always &H00000000 ???? no, sometime have a value :0/
header_bonegroupsA = bs.readInt() # bone groups sections used for skeleton
header_groupidtrc = bs.readInt() # ????
header_ptrBoneOffset = bs.readInt() # zero if only one bone
header_groupidtrOf = bs.readInt() # unused
header_ptr_group = bs.readInt() # groups array info Offset
header_ptr_vertex = bs.readInt() # vertex buffer pos in file
header_ptr_triangle = bs.readInt() # triangle buffer pos in file(index buffer)
modHeader2 = bs.readInt() # end of file - 4 ????
bs.seek(header_ptr_group, NOESEEK_ABS)#modHeader2[9]#== seekset
meshInfo = []
for i in range(0, header_grpcount):
unk00 = bs.readUShort()
vertCount = bs.readUShort()
unk01 = bs.readUByte()
unk02 = bs.readUByte()
groupid = bs.readUByte() # groupid
lodLevel = bs.readUByte()
unk04 = bs.readUByte()
vertFlag = bs.readUByte()
vertStride = bs.readUByte()
unk05 = bs.readUByte()
vertStart = bs.readUInt()
vertBase = bs.readUInt()
fvfInfo = bs.readUInt()
faceStart = bs.readUInt()
faceCount = bs.readUInt()
faceBase = bs.readUInt()#?
unk07 = bs.readUShort()
unk08 = bs.readUShort()
vertStart2 = bs.readUShort()
vertCount2 = bs.readUShort()
unk09 = bs.readInt()#?
# 0 1 2 3 4 5 6 7 8 9
meshInfo.append([vertCount,vertStride,vertStart,vertBase,faceStart,faceCount,faceBase,lodLevel,fvfInfo,groupid])
#print(meshInfo[i])
for i in range(0, header_grpcount):
bs.seek(header_ptr_vertex + meshInfo[i][3], NOESEEK_ABS)#vert
bs.seek(meshInfo[i][1] * meshInfo[i][2], NOESEEK_REL)#vert
print(meshInfo[i][7])
if (meshInfo[i][1] >= 0x14) and ((meshInfo[i][7] == 0x1) or (meshInfo[i][7] == 0xFF)or (meshInfo[i][7] == 0x3)) :
bfound=1
rapi.rpgSetName("LOD_" + str(hex(meshInfo[i][7])) + "_" + str(i) + "_" + str(meshInfo[i][1])+ "_" + str(hex(meshInfo[i][8])) + "_" + str(bs.tell())) #+ "_" + str((bs.tell()))
vertBuff = bs.readBytes(meshInfo[i][0] * meshInfo[i][1])
if meshInfo[i][8] == 0xB0983013:#12 == morph target objects: vertexpos + normal
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_SHORT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0xDB7DA014:#16
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_SHORT, meshInfo[i][1], 0)
rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 12)
elif meshInfo[i][8] == 0xB6681034:#16
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0x0CB68015:#20
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_SHORT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0xA8FAB018:#20
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_SHORT, meshInfo[i][1], 0)
rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0xA7D7D036:#20
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0xC31F201C:#24
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_SHORT, meshInfo[i][1], 0)
rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0xCBF6C01A:#24
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_SHORT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0x207D6037:#24
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, meshInfo[i][1], 0)
rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0xD1A47038:#24
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0xD8297028:#24
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0x2BE814D4:#28
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_SHORT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0x7CD414D4:#28
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_SHORT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0x14D40020:#28
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_SHORT, meshInfo[i][1], 0)
rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 20)
elif meshInfo[i][8] == 0xA320C016:#28
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_SHORT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0x49B4F029:#28
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0x5E7F202C:#28
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0xD877801B:#32
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_SHORT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0xB86DE02A:#32
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0x926FD02E:#32
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0xA14E003C:#32
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0xB392101F:#36
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_SHORT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0xBB424024:#36
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_SHORT, meshInfo[i][1], 0)
#rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 24)
elif meshInfo[i][8] == 0x63B6C02F:#36
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0x64593023:#40
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_SHORT, meshInfo[i][1], 0)
rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1],20) #or 32 for uv2
elif meshInfo[i][8] == 0x2F55C03#64
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_SHORT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
else:
bfound=0
print("unkown FVF "+ str(hex(meshInfo[i][8])))
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_SHORT, meshInfo[i][1], 0)
if bfound == 1:
print("face base : " + str(hex(meshInfo[i][6])))
bs.seek(header_ptr_triangle + (2 * meshInfo[i][4])+(2 * meshInfo[i][6]), NOESEEK_ABS)#faceoff
faceData = []
for a in range(0, meshInfo[i][5]):
face = bs.readUShort() - meshInfo[i][2]
faceData.append(face)
faceBuff = struct.pack("<" + 'H'*len(faceData), *faceData)
rapi.rpgCommitTriangles(faceBuff, noesis.RPGEODATA_USHORT, meshInfo[i][5], noesis.RPGEO_TRIANGLE, 1)
mdl = rapi.rpgConstructModelSlim()
mdlList.append(mdl)
rapi.rpgClearBufferBinds()
return 1
#Author : Chrrox, Co-Author : Codeman02
#*************************************
#Noesis Python model import+export test module, imports/exports some data from/to a made-up format
from inc_noesis import *
import noesis
#rapi methods should only be used during handler callbacks
import rapi
#registerNoesisTypes is called by Noesis to allow the script to register formats.
#Do not implement this function in script files unless you want them to be dedicated format modules!
def registerNoesisTypes():
handle = noesis.register("Resident Evil 6", ".re6pc")
noesis.setHandlerTypeCheck(handle, re6CheckType)
noesis.setHandlerLoadModel(handle, re6LoadModel) #see also noepyLoadModelRPG
#noesis.setHandlerWriteModel(handle, noepyWriteModel)
#noesis.setHandlerWriteAnim(handle, noepyWriteAnim)
noesis.logPopup()
return 1
#check if it's this type based on the data
def re6CheckType(data):
bs = NoeBitStream(data)
idMagic = bs.readInt()
if idMagic != 0x00444F4
return 0
return 1
#load the model
def re6LoadModel(data, mdlList):
ctx = rapi.rpgCreateContext()
#rapi.rpgSetOption(noesis.RPGOPT_BIGENDIAN, 1)
bs = NoeBitStream(data)
#bs.setEndian(NOE_BIGENDIAN)
idMagic = bs.readInt()
header_version = bs.readUShort() # mod file version
header_bonecount = bs.readUShort() # word Bones[1 to bonecount]
header_grpcount = bs.readUShort() # word Groups[1 to grpcount]
header_Matcount = bs.readUShort() # word Materials[1 to Matcount]
header_vertexcount = bs.readInt() # total vertex in vertex buffer
header_TriangleCount = bs.readInt() # total face count
header_VertexIds = bs.readInt() # Integer Triangle[1 to TriangleCount]
header_vertexbuffersize = bs.readInt() # vertex buffer data size in bytes to alloc on the fly when reading
header_padding = bs.readInt() # always &H00000000 ???? no, sometime have a value :0/
header_bonegroupsA = bs.readInt() # bone groups sections used for skeleton
header_groupidtrc = bs.readInt() # ????
header_ptrBoneOffset = bs.readInt() # zero if only one bone
header_groupidtrOf = bs.readInt() # unused
header_ptr_group = bs.readInt() # groups array info Offset
header_ptr_vertex = bs.readInt() # vertex buffer pos in file
header_ptr_triangle = bs.readInt() # triangle buffer pos in file(index buffer)
modHeader2 = bs.readInt() # end of file - 4 ????
bs.seek(header_ptr_group, NOESEEK_ABS)#modHeader2[9]#== seekset
meshInfo = []
for i in range(0, header_grpcount):
unk00 = bs.readUShort()
vertCount = bs.readUShort()
unk01 = bs.readUByte()
unk02 = bs.readUByte()
groupid = bs.readUByte() # groupid
lodLevel = bs.readUByte()
unk04 = bs.readUByte()
vertFlag = bs.readUByte()
vertStride = bs.readUByte()
unk05 = bs.readUByte()
vertStart = bs.readUInt()
vertBase = bs.readUInt()
fvfInfo = bs.readUInt()
faceStart = bs.readUInt()
faceCount = bs.readUInt()
faceBase = bs.readUInt()#?
unk07 = bs.readUShort()
unk08 = bs.readUShort()
vertStart2 = bs.readUShort()
vertCount2 = bs.readUShort()
unk09 = bs.readInt()#?
# 0 1 2 3 4 5 6 7 8 9
meshInfo.append([vertCount,vertStride,vertStart,vertBase,faceStart,faceCount,faceBase,lodLevel,fvfInfo,groupid])
#print(meshInfo[i])
for i in range(0, header_grpcount):
bs.seek(header_ptr_vertex + meshInfo[i][3], NOESEEK_ABS)#vert
bs.seek(meshInfo[i][1] * meshInfo[i][2], NOESEEK_REL)#vert
print(meshInfo[i][7])
if (meshInfo[i][1] >= 0x14) and ((meshInfo[i][7] == 0x1) or (meshInfo[i][7] == 0xFF)or (meshInfo[i][7] == 0x3)) :
bfound=1
rapi.rpgSetName("LOD_" + str(hex(meshInfo[i][7])) + "_" + str(i) + "_" + str(meshInfo[i][1])+ "_" + str(hex(meshInfo[i][8])) + "_" + str(bs.tell())) #+ "_" + str((bs.tell()))
vertBuff = bs.readBytes(meshInfo[i][0] * meshInfo[i][1])
if meshInfo[i][8] == 0xB0983013:#12 == morph target objects: vertexpos + normal
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_SHORT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0xDB7DA014:#16
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_SHORT, meshInfo[i][1], 0)
rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 12)
elif meshInfo[i][8] == 0xB6681034:#16
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0x0CB68015:#20
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_SHORT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0xA8FAB018:#20
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_SHORT, meshInfo[i][1], 0)
rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0xA7D7D036:#20
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0xC31F201C:#24
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_SHORT, meshInfo[i][1], 0)
rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0xCBF6C01A:#24
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_SHORT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0x207D6037:#24
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, meshInfo[i][1], 0)
rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0xD1A47038:#24
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0xD8297028:#24
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0x2BE814D4:#28
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_SHORT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0x7CD414D4:#28
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_SHORT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0x14D40020:#28
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_SHORT, meshInfo[i][1], 0)
rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 20)
elif meshInfo[i][8] == 0xA320C016:#28
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_SHORT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0x49B4F029:#28
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0x5E7F202C:#28
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0xD877801B:#32
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_SHORT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0xB86DE02A:#32
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0x926FD02E:#32
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0xA14E003C:#32
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0xB392101F:#36
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_SHORT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0xBB424024:#36
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_SHORT, meshInfo[i][1], 0)
#rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 24)
elif meshInfo[i][8] == 0x63B6C02F:#36
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_FLOAT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
elif meshInfo[i][8] == 0x64593023:#40
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_SHORT, meshInfo[i][1], 0)
rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1],20) #or 32 for uv2
elif meshInfo[i][8] == 0x2F55C03#64
rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_SHORT, meshInfo[i][1], 0)
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindUV1BufferOfs(vertBuff, noesis.RPGEODATA_HALFFLOAT, meshInfo[i][1], 16)
else:
bfound=0
print("unkown FVF "+ str(hex(meshInfo[i][8])))
rapi.rpgBindUV1Buffer(None, noesis.RPGEODATA_FLOAT, 0)
#rapi.rpgBindPositionBufferOfs(vertBuff, noesis.RPGEODATA_SHORT, meshInfo[i][1], 0)
if bfound == 1:
print("face base : " + str(hex(meshInfo[i][6])))
bs.seek(header_ptr_triangle + (2 * meshInfo[i][4])+(2 * meshInfo[i][6]), NOESEEK_ABS)#faceoff
faceData = []
for a in range(0, meshInfo[i][5]):
face = bs.readUShort() - meshInfo[i][2]
faceData.append(face)
faceBuff = struct.pack("<" + 'H'*len(faceData), *faceData)
rapi.rpgCommitTriangles(faceBuff, noesis.RPGEODATA_USHORT, meshInfo[i][5], noesis.RPGEO_TRIANGLE, 1)
mdl = rapi.rpgConstructModelSlim()
mdlList.append(mdl)
rapi.rpgClearBufferBinds()
return 1
FORGOT TO MENTION: In the level that you play as Sherry Birkin and she's been captured with Weskers son, she's butt-ass nekkid under the robe... Good hunting
01-29-2016, 10:39 AM
Hobbit: Fight For Middle Earth
Elf, Human, Orc
[attachment=6025][attachment=6026][attachment=6027]
Transformers: Victory Is Sweet
Optimus Prime, Bumblebee
[attachment=6028][attachment=6029]
Star Wars: Rebel Strike
Hera, Sabine
[attachment=6030][attachment=6031]
Teenage Mutant Ninja Turtles: Rooftop Run
Donatello: 2012, Leonardo: 2012
[attachment=6036][attachment=6037]
School Of Dragons
Deadly Nadder: Ice Crystal, Deadly Nadder: Stormfly, Deadly Nadder: Warpaint, Nightfury: Toothless
[attachment=6032][attachment=6033][attachment=6034][attachment=6035]
Elf, Human, Orc
[attachment=6025][attachment=6026][attachment=6027]
Transformers: Victory Is Sweet
Optimus Prime, Bumblebee
[attachment=6028][attachment=6029]
Star Wars: Rebel Strike
Hera, Sabine
[attachment=6030][attachment=6031]
Teenage Mutant Ninja Turtles: Rooftop Run
Donatello: 2012, Leonardo: 2012
[attachment=6036][attachment=6037]
School Of Dragons
Deadly Nadder: Ice Crystal, Deadly Nadder: Stormfly, Deadly Nadder: Warpaint, Nightfury: Toothless
[attachment=6032][attachment=6033][attachment=6034][attachment=6035]
02-02-2016, 08:01 AM
02-02-2016, 10:04 AM
I kind of lost track of things, did you ever manage to get around to the Injustice models I was wondering about before? Raven and Doomsday from the PC version?
02-02-2016, 05:30 PM
(02-02-2016, 10:04 AM)Carpaccio Wrote: [ -> ]I kind of lost track of things, did you ever manage to get around to the Injustice models I was wondering about before? Raven and Doomsday from the PC version?
Raven has been submitted to tmr, Doomsday, not yet. I have to make room on this laptop. As soon as I have enough, he's on my to-do list!
02-18-2016, 05:21 AM
Submitted Mister Sinister from Deadpool to tMR, awaiting approval. Also submitted Trishka Novak from Bulletstorm...
[attachment=6088]
[attachment=6088]
02-18-2016, 07:30 AM
Submitted models:
Brawler A
[attachment=6089]
Sentinel Head A
[attachment=6090]
Sentinel Torso A
[attachment=6091]
Wolverine( Will be submitted after I make a coffee and have a feed )
[attachment=6092]
Brawler A
[attachment=6089]
Sentinel Head A
[attachment=6090]
Sentinel Torso A
[attachment=6091]
Wolverine( Will be submitted after I make a coffee and have a feed )
[attachment=6092]
02-18-2016, 08:50 AM
Deadpool: Classic
[attachment=6093]
Nightwing: Injustice;
[attachment=6094]
Nightwing: New 52;
[attachment=6095]
[attachment=6093]
Nightwing: Injustice;
[attachment=6094]
Nightwing: New 52;
[attachment=6095]