Important information: this site is currently scheduled to go offline indefinitely by end of the year.

Spotlight: Señor Casaroja's Noesis

General game file tools that are useful for more than one game
MrAdults
Moderator
Posts: 1007
Joined: Mon Mar 23, 2009 2:57 am
Has thanked: 44 times
Been thanked: 505 times

Re: Señor Casaroja's Noesis

Post by MrAdults »

Summary of recent stealth-releases.
-4.0955 - rapi.imageNormalSwizzle may now have 2 passed for "derive z" parameter to do normalize from z=1. Some games use this instead of the default method.
-4.0955 - Changed default derive z method for normal swizzling to be more precise.
-4.0954 - Added NMATFLAG_GAMMACORRECT, flags the material for gamma-correct lighting.
-4.0954 - Reduced memory footprint of program permutation data to permit for yet more permutations without considerable overhead.
-4.0954 - Added -ff13mgamma, enables gamma-correct lighting on all FF13 materials.
-4.0953 - Small update to se_lzfastest_decomp implementation.
-4.0953 - Various speedups and fixes.
-4.0952 - Added "se_lzfastest_decomp" extension method.
-4.0951 - Support for YMO version used in Ys Origin.
-4.095 - Added skeleton, skinning, and animation support for Ys: The Oath in Felghanna YMO files.
-4.094 - Fix for Ys Origin AIA files.
-4.093 - Python script for importing Ys AIA files is now included.
-4.093 - Added rapi.imageBlit32.
-4.093 - Added rapi.callExtensionMethod. Exposes various extension methods to Python.
-4.092 - Various bug fixes.
-4.092 - Support for large address space on 64-bit operating systems.
Mr.Mouse
Site Admin
Posts: 4073
Joined: Wed Jan 15, 2003 6:45 pm
Location: Dungeons of Doom
Has thanked: 450 times
Been thanked: 682 times
Contact:

Re: Señor Casaroja's Noesis

Post by Mr.Mouse »

Plenty of sneaky updates :stalk:
freakshow
beginner
Posts: 36
Joined: Sun Jan 19, 2014 7:08 pm
Has thanked: 8 times
Been thanked: 2 times

Re: Señor Casaroja's Noesis

Post by freakshow »

Thanks for this mind-blowing tool. I've seen cryengine .chr and .cgf are supported but not .caf animations.Is it something that you think you might add in the future Mr Adults?
Player
n00b
Posts: 15
Joined: Tue Mar 15, 2011 10:38 am
Has thanked: 4 times
Been thanked: 2 times

Re: Señor Casaroja's Noesis

Post by Player »

hello MrAdults.
Thank you for your work!
tell me you plan to add support for MAC OS?
MrAdults
Moderator
Posts: 1007
Joined: Mon Mar 23, 2009 2:57 am
Has thanked: 44 times
Been thanked: 505 times

Re: Señor Casaroja's Noesis

Post by MrAdults »

I've covered that at least a couple of times in this thread now. The short answer is no. The other short answer is use Wine. The medium-sized answer is pray to the demonic soul of Steve Jobs that he may rise up and strike me, forcing me to support his mysterious cursed operating systems until I join him in the grave.

Useful things:
-4.0958 - Added noeProcessImage. This is a utility function that lives in inc_noesis, and is very useful for automating the task of invoking image processing calls on multi-face/multi-mip images. See the example usage in the NIF script.
-4.0958 - Cubemaps and mipmaps are now used for NIF files.
-4.0958 - Added rapi.imageKernelProcess. Allows you to specify a Python "kernel" method to do per-pixel data processing on image data. Performing logic in the kernel is typically around 2-4 times faster than doing the same thing by looping through bytearrays yourself in Python.
-4.0958 - Added NPAPI_SelectDataViewerMesh to the native API. This is used by the latest triangle picker plugin (Rich/native_bin/example_visualize02.dll in the Noesis plugins repository), and allows you to go directly to meshes in the data viewer by ctrl+clicking any of their triangles.
-4.0958 - Fixed a formatting bug in Python error text.
-4.0958 - Added a "skip render" flag for models in the data viewer, mainly for convenience when using the "draw all models" option.
-4.0957 - Ctrl-C now works to copy the current selection in the data viewer. You can also use the "Copy data only" option to have Ctrl-C only grab the data string instead of the full entry text.
-4.0956 - Added a search option in the data viewer. You can search by value name or in the actual data. Convenient for finding meshes/materials in the model by name.
Markemp
veteran
Posts: 116
Joined: Tue Dec 24, 2013 2:42 am
Has thanked: 5 times
Been thanked: 65 times

Re: Señor Casaroja's Noesis

Post by Markemp »

freakshow wrote:Thanks for this mind-blowing tool. I've seen cryengine .chr and .cgf are supported but not .caf animations.Is it something that you think you might add in the future Mr Adults?
This is my request too, although it's a plug-in by ... revelation? that does the Cryengine stuff. .caf animations as well as .cga support would be most excellent.
User avatar
Tosyk
double-veteran
double-veteran
Posts: 1027
Joined: Thu Oct 22, 2009 10:24 am
Location: Russia, Siberia
Has thanked: 269 times
Been thanked: 154 times
Contact:

Re: Señor Casaroja's Noesis

Post by Tosyk »

is there any way to mirror models (along with skeleton) on export?
Thank you for all you do here
my blog | my forum
MrAdults
Moderator
Posts: 1007
Joined: Mon Mar 23, 2009 2:57 am
Has thanked: 44 times
Been thanked: 505 times

Re: Señor Casaroja's Noesis

Post by MrAdults »

Not unless you set RPGOPT_SWAPHANDEDNESS before the format's rpgConstructModel (if it's a format that's exposed through Python), or you write a tool script to reprocess an imported model through the rpg interface using RPGOPT_SWAPHANDEDNESS. Which would require you to do some scripting. Manually mirroring geometry to compensate for handedness is usually a poor idea.
User avatar
Tosyk
double-veteran
double-veteran
Posts: 1027
Joined: Thu Oct 22, 2009 10:24 am
Location: Russia, Siberia
Has thanked: 269 times
Been thanked: 154 times
Contact:

Re: Señor Casaroja's Noesis

Post by Tosyk »

MrAdults, thanks for reply.
trying to convert black desert models like so:

Code: Select all

...
		rapi.rpgSetOption(noesis.RPGOPT_SWAPHANDEDNESS, 1) #I put this before .rpgConstructModel
		mdl = rapi.rpgConstructModel()
		mdl.setModelMaterials(NoeModelMaterials(texList, matList))
		mdlList.append(mdl); mdl.setBones(boneList)
	return 1
I definitely do something wrong, could you tell me where should I put "RPGOPT_SWAPHANDEDNESS"?
Thank you for all you do here
my blog | my forum
MrAdults
Moderator
Posts: 1007
Joined: Mon Mar 23, 2009 2:57 am
Has thanked: 44 times
Been thanked: 505 times

Re: Señor Casaroja's Noesis

Post by MrAdults »

Since the bones are set independently after the model is constructed, you need to swap handedness of those matrices too. See the example usage in the Bullet Witch script. (the lines to swap endianness are commented out)
Darko
double-veteran
double-veteran
Posts: 723
Joined: Mon Jul 13, 2009 6:16 pm
Has thanked: 72 times
Been thanked: 138 times

Re: Señor Casaroja's Noesis

Post by Darko »

Hey Rich thanks for fixing MVC3 weights, but specular textures (.tex) got affected, now I only get pure white :S
Image
MrAdults
Moderator
Posts: 1007
Joined: Mon Mar 23, 2009 2:57 am
Has thanked: 44 times
Been thanked: 505 times

Re: Señor Casaroja's Noesis

Post by MrAdults »

That is more likely related to the global DXT-related changes than the MVC3 ones. Please send over an affected file or 2.
MrAdults
Moderator
Posts: 1007
Joined: Mon Mar 23, 2009 2:57 am
Has thanked: 44 times
Been thanked: 505 times

Re: Señor Casaroja's Noesis

Post by MrAdults »

Thanks for the test data. 4.0963 is up with the fix.
Darko
double-veteran
double-veteran
Posts: 723
Joined: Mon Jul 13, 2009 6:16 pm
Has thanked: 72 times
Been thanked: 138 times

Re: Señor Casaroja's Noesis

Post by Darko »

No, thank you for your time and patience. I already checked the spec textures and now It's working correctly.
Image
luxox18
mega-veteran
mega-veteran
Posts: 176
Joined: Fri Jul 29, 2011 9:18 pm
Has thanked: 54 times
Been thanked: 46 times

Re: Señor Casaroja's Noesis

Post by luxox18 »

someone can help me with this noesis script please

a friend is working in a noesis script for god of war 3 , he found vertex and uv coords but he can't obtain faces.

Image

also, he have other problems, the script only show the point cloud in r_harpy20.wad, all other models can be loaded perfectly but shows nothing.

this is the script

Code: Select all

from inc_noesis import *
import noesis
import rapi

def registerNoesisTypes():
   handle = noesis.register("God of War 3 model", ".wad")
   noesis.setHandlerTypeCheck(handle, noepyCheckType)
   noesis.setHandlerLoadModel(handle, noepyLoadModel) #see also noepyLoadModelRPG
       #noesis.setHandlerWriteModel(handle, noepyWriteModel)
       #noesis.setHandlerWriteAnim(handle, noepyWriteAnim)
   #noesis.logPopup()
       #print("The log can be useful for catching debug prints from preview loads.\nBut don't leave it on when you release your script, or it will probably annoy people.")
   return 1

NOEPY_HEADER = ""

#check if it's this type based on the data
def noepyCheckType(data):

   return 1       

#load the model
def noepyLoadModel(data, mdlList):
   ctx = rapi.rpgCreateContext()
   #rapi.rpgSetOption(noesis.RPGOPT_TRIWINDBACKWARD, 1)
   bs = NoeBitStream(data)
   bs.setEndian(NOE_BIGENDIAN)
   rapi.rpgSetOption(noesis.RPGOPT_BIGENDIAN, 1)
   
   VtxCount = (252, 436, 232, 168, 1847, 1780, 2892, 600, 380)
   VtxBytes = 24
   VtxOffset = (0x16A470, 0x16C6F0, 0x170890, 0x172F60, 0x1783D0, 0x18AFF0, 0x19FE30, 0x1B8FF0, 0x1BEE10)
   
   for i in range(0, 9):
      bs.seek(VtxOffset[i], NOESEEK_ABS) 
      VtxBuff = bs.readBytes(VtxCount[i] * VtxBytes)
      rapi.rpgBindPositionBufferOfs(VtxBuff, noesis.RPGEODATA_FLOAT, VtxBytes, 0)
      rapi.rpgBindNormalBufferOfs(VtxBuff, noesis.RPGEODATA_FLOAT, VtxBytes, 12)
      
      UVBuff = bs.readBytes(VtxCount[i] * 8)
      rapi.rpgBindUV1BufferOfs(UVBuff, noesis.RPGEODATA_FLOAT, 8, 0)

      rapi.rpgCommitTriangles(None, noesis.RPGEODATA_USHORT, VtxCount[i], noesis.RPGEO_POINTS, 1)


   mdl = rapi.rpgConstructModel()
   #mdl.setBones(Skeleton)  
   mdlList.append(mdl)        
   rapi.rpgClearBufferBinds()   
   return 1
according to albinoleopard a.k.a 3dmodel the creator for GOW3 bms script from ps23dformat the faces start with the following array FF FF FF 9C 00 00 00 00 FF FF FF 54 00 20 00 00 00 40

probally the files use triangle strip, my friend need to add a algorythm or something in his noesis script for decode this data

here are some files, including R_harpy20.wad , the only model that works.

http://www.mediafire.com/download/8ncr8 ... PS3_BE.rar

anyone can take a look please ?

thanks! :D

(note: my friend can't create a account here)
Post Reply