Professional Documents
Culture Documents
Noesis converts and previews many data formats. You can get an idea of which ones
by looking at the file type mask droplist on the face of the application.
RUNTIME SUPPORT:
Some components and plugins for Noesis may require MSVC++ 2010 runtimes to be
installed. These runtimes can currently be downloaded from:
https://www.microsoft.com/en-us/download/details.aspx?id=5555
Older native binary plugins, which will still function with current versions of
Noesis, may require 2005 runtimes. 2005 runtimes can currently be downloaded here:
https://www.microsoft.com/en-us/download/details.aspx?id=3387
USAGE:
For basic usage and information, see "Basic Controls" and the subsequent sections,
located near the bottom of this document.
TROUBLESHOOTING:
See the "Trouble!" section near the bottom of this document.
==========
What's New
==========
Version 4.33:
Special update!
- Various JPEG-2000 loader additions, including an option to preserve HDR data.
- Added a GeometryScale option for .noevmarch files.
- Added Noesis_FeedOptions and Noesis_LoadTexByHandlerMulti to the native plugin
API.
- Added "DickTools - TxV Dump", which appears under the right-click context menu
for .exe files when using the DickTools plugin.
My wife had some dental scans done, and they gave us the data in the form of an
awful Treatment Studio Viewer ("TxSTUDIOVIEWER") executable. This software is used
in association with i-CAT devices, and it's horrible. The software silently refuses
to run under a wide range of OS configurations. Even worse, though, the
TxSTUDIOVIEWER executable with embedded resources is generated by the client
software that sits on a random Windows machine, and represents a massive security
hole due to the way most practioners seem to be managing said machine/software. So
I reverse-engineered the resource data and added a feature to DickTools which dumps
image data from the executable container. This means you can retrieve your data in
raw(ish) form, and you never have to run the awful viewer software. Noesis can view
the resulting slices, and you can construct a .dcmvolset file to generate mesh data
from the slices. An example .dcmvolset file that worked well with my wife's data:
NOE_DICOM_VOLUME_SET_VER "1"
marchConfig "WR_20180925.noevmarch"
mipDown "2" #adjust accordingly based on how much
resolution and geometric complexity you want in the final mesh
showProgress "1" #optional, just provides message pumps to
inform you of loading progress
setAngleOffset "0" "270" "0" #depends on coordinate system
used in scan
loadOptions "-j2kbias 1000 -j2knoshift -j2kchansplit -j2khdr
-j2kchanskip 2" #slices are stored in single images across channels
Followed by dicomData entries pointing to each slice in .j2k format. You can find
an example .noevmarch file in scenes/dicom, but the IsoLevel should probably be
something like 0.002 given the range of densities present in this scan data.
Version 4.3:
- Added basic FF15 animation support. Requires all assets to be extracted from
.earc files in their original structure, in order to successfully locate asset
dependencies. The batch extraction feature can help you with this, by allowing you
to extract all .earc files to a central path. Animation data is supported for
Windows and PS4. Xbox One probably works too, but hasn't been tested. If you bug me
with questions about this, there's a 99.8% chance you'll be ignored.
- Added support for FF15 Windows edition textures and archives. (models,
skeletons, etc. are already identical to PS4)
- UE4 animations are now supported. Use -ue4anims, and -ue4datapath to make sure
all dependencies (e.g. skeleton) are available. -ue4animref can also be used to map
animations to a given skeletal mesh's skeleton. (useful for games like SF5 where
the common skeleton is massive)
- UE4 script now has support all the way up through 4.20.
- Various new UE4 tools. To enable them, set UE4_ENABLE_TOOLS to True in
fmt_ue4.py. This includes a version picker interface which persists between runs
and plugin reloads. There are also some diagnostic tools specifically for UE4
development, which were used to diagnose some cooking issues on a major UE4 title.
- Added ASTC support to the UE4 script, as well as support for secondary bulk
data.
- Added support for source art data to the UE4 script. (editor-only packages
generally aren't supported, but this path was required specifically for the ASTC
PSNR tool)
- Added support for compressed bulk data to the UE4 script.
- Added the ability to specify a full device path to the image ripper interface.
- New optional Python script to mount/extract NTFS images.
- New optional Python script to extract PS2 Aligned Partition Allocation images.
- Added support for Build v8/v9 maps.
- New optional Python script to extract character frames from MK/MK2/UMK3 ROM
images.
- Added a modal status pump function, available from Python. This displays the
provided status to the user and pumps an update - can be useful to avoid locking
the application during long operations.
- Exposed a new function to Python to get the absolute path of an archive-export
file. Allows archive scripts to perform their own file handling.
- The ASTC encoder is now exposed to Python.
- Exposed getArbitraryFloat/encodeArbitraryFloat to Python.
- Added FAT32 with LFN support to the FAT script. (previously only supported
FAT12/16)
- Added FAT32 option to detect non-contiguous files. (for diagnostics, used to
debug an issue with an EverDrive)
- Added "write SRAM" option to F2A script.
- Python imageDecodeRaw/imageEncodeRaw functions now use the underlying engine
versions, which adds support for some extra string formatting. (including half-
float support)
Top items from the current todo list:
- Refine FF15 animation implementation. I've documented 3 additional channel
types, as well as 3 additional data formats. However, I haven't bothered adding
support for most of this to the implementation yet.
- Wrap up x64 support and include x64 builds in the main distribution.
- Go back and revisit support for games that I really half-assed by only spending
a few hours, never bothering to look at animations and such. (this includes Death
by Degrees, Bayonetta/Vanquish/etc., DMC4/RE5/etc., Crisis Core, The Bouncer,
Bullet Witch, and a few others)
- Nicer support for physics/cloth simulation in preview, and for baking into
exported animations. (also need to document/expose IK/physics interfaces for user
plugins)
- Go through the laundry list of other games I'd like to support.
With that said, I'm dropping Noesis for a while. I just had a baby, and unrelated
to that, I'm set to have life-threatening surgery near the end of the year. If you
never see another Noesis release, I probably ended up dead, so go to my web site
and donate to my PayPal to help my fatherless family.
Version 4.297:
- Provided an optional Python script which implements a basic Flash2Advance (GBA
flash cart and linker cable) interface. See the accompanying text file for more
info.
- Exposed a new USB device interface to Python.
- Basic support for Philips proprietary volume data in the DICOM loader,
specifically to use on scans of my daughter! (she's due in June, baby gifts are
welcome)
- Support for non-DICOM images referenced by .dcmvolset files.
- Haven't merged my development branch over to release, so various things (FF15
anim support, lots of bug fixes, various major overhauls) still aren't present in
this release. I'll get it wrapped up one of these days. Maybe.
Version 4.296:
- Added support for Chasm: The Rift models and maps. Use -chasmloadmodels to load
maps up with all of the static models. Also note that CSM.BIN must be extracted
with Noesis, in order to extract map resources with the naming conventions that
Noesis expects. Thanks to Panzerscrek for many of the file specs that were used for
this support - source code for the importer is also available on my web site.
- Added native support for Build Engine v4, v5, and v6 map files. (previously only
supported v7) Also added special handling for TekWar.
- Support for MT .pak and .atlas files.
- Support for alpha encoding when expanding paletted PNG files with transparency
by index.
Version 4.295:
- Added DNF animation import support.
- Added an option to flip DNF materials into PBR mode.
- Fixed a bug that could cause bad reads and crashes in the DNF importer.
Version 4.294:
- Exposed Block Linear GOB tiling to Python via "untile_blocklineargob" and
"tile_blocklineargob" extension methods. The last argument for each is optional,
and is used as the block height. If the block height is negative, it's treated as
mip0's log2(maxBlockHeight) and used to auto-calculate the block height. If the
argument is not provided, block height is auto-calculated by auto-fitting with the
assumption that the maximum block height is 16.
- Fixed a bug in the TGA loader which was causing idLength to be ignored.
Version 4.293:
- Implemented support for nVidia's Block Linear GoB tiling (used by the Tegra X1,
among others), exposed through some new extension methods:
Noesis_UntileBlockLinearGOBs, Noesis_TileBlockLinearGOBs,
Noesis_TileCalculateBlockLinearGOBBlockHeight.
- Basic BNTX import support. Loads everything other than PVRTC/ETC/EAC formats, as
I haven't seen any of those in the wild.
- Fixed a potential crash when attempting to enable bloom without the necessary
hardware caps.
Version 4.292:
- Added a "?compat_nomemmod" commandline option. This disables memory modules and
generates DLL files on the temp path where dynamic code execution is used. I
noticed a mysterious crash in a memory module's entrypoint function in a crash log.
If Noesis crashes for you on startup, try this. But also scan your system for
viruses - the person who had this crash had a trojan module in his process space!
- Fixed a crash that could occur when attempting to export a model/animation with
multiple childless roots to PSK/PSA.
- Various documentation updates. It'd been a long time.
Version 4.291:
- Fixed a bug in the MD3 exporter that was causing bad transforms to be applied to
skeletally animated verts. The bug was introduced back in 4.205 or so. Thanks to
Edison for reporting this!
Version 4.29:
- Added import support for Sega Genesis/Mega Drive data exported by Virgin's
Chopper tool.
- Included a new optionalplugins script to dig Chopper data out of Sega
Genesis/Mega Drive ROM images, and export it back into higher-level M68K table and
tile formats.
- Added DeluxePaint ILBM import and export support. Supports a wide variety of
variations and types, including ACBM and HAM. Finding test data in all of these
variants is a real pain, so if you have a file that works in another viewer and
doesn't work in Noesis, send the file over and tell me which viewer it works in.
- Added DeluxePaint Animation (MS-DOS) import support. Includes options to crop by
single-pixel rectangle and adjust opaque palette ranges, for Chopper-friendliness.
- Added a whitespace callback to the ancient generic parser exposed through the
native API, to allow custom comments/delimiters.
- Brought in a GIFLIB patch to address various GIF loading issues, and fixed a bug
where some files would result in accumulating bad background values.
- Exposed decompRNC (Robert Northen Compression) to Python. (this is based on some
8086 assembly, and has had limited testing)
- Exposed compressHuffmanCanonical and decompHuffmanCanonical to Python. (this is
my own implementation and encoding, and assumes 8-bit code words, so probably won't
work out of the box with any given game)
- Exposed an option to dictate the default preview texture animation playback rate
in the data viewer.
- Added a commandline option to crop from image origin.
- Fixed a bug causing some ISO images to not be recognized. (legacy internal
archive handler was doing bad things with the file position)
- Numerous crash fixes.
Version 3.0:
-Added support for Saint Seiya: The Hades GMI+TPL files. Plugin source is
included. Thanks to fatduck for the file layout, and qslash for additional
contributions.
-Added support for DQ&FF in Itadaki Street Special JOB files. This is through the
Saint Seiya plugin as the formats are very similar.
-Added "Image_LoadTIM2" extension for plugin authors. See the ssthehades_gmi
plugin for example usage.
-Added a new option for SetPreviewOption - "noTextureLoad". Allows a plugin to
disable auto-loading additional textures based on filenames for preview mode.
-Added Noesis_AnimFromAnims and Noesis_AnimFromAnimsList functions for plugin
authors. Combines multiple animations and sequences into a single animation with a
sequence list.
Version 2.99:
-Started writing a CPU emulator for the R5900. It can be invoked within Noesis to
run native PS2 game code for specific tasks. The R5900 core will be exposed to
plugin developers when it is more complete.
-Added support for unpacking Bujingai's compressed .bin files. (the main AFS
containers have already been supported by Noesis for a long time) This uses the
R5900 core to decompress data, and find package index tables inside the game's ELF.
I used symbol offsets in determining my points of code execution, so hopefully this
will also work on different distributions of the game, but I make no guarantees.
-Added import support for Bujingai models and textures. Praise be to Gackt!
Materials will probably be messed up for most models, though, and level bits don't
get snapped into place. And some stuff may just not work at all. Who knows.
Animations are also loaded, but arm/leg bones are usually screwed up, because I'm
not handling IK joints correctly.
-Fixed COLLADA exporter bug where models that use multiple materials under the
same name would only export a single material.
-Fixed COLLADA vertex alphas not being imported.
-Fixed problems with exporting to COLLADA with non-normalized vertex weights.
-Added "No browse to target" option under the view menu. This prevents Noesis from
browsing to the path of the loaded file in the shell folder view, as well as from
browsing to the last selected folder on startup.
-Added "Don't apply on drag" option under the view menu. This removes the prompt
asking if you'd like to apply the model to the existing scene (if a scene is
already open), and defaults to always loading the drag-and-dropped item as a new
scene.
-Now printing vertex indices next to individual triangles in data viewer.
-Now printing bone indices, if applicable, next to individual vertices in data
viewer.
-Exposed Noesis_UntwiddlePS2 for plugin authors.
Version 2.76:
-Added ActorX PSK (model) import+export. Plugin source is included.
-Added ActorX PSA (animation) import+export. Plugin source is included.
-Added md5anim export.
-Added support for animation sequences. Sequences can be viewed in isolation by
selecting them in the data viewer.
-Added "export from preview" option, which exports data directly from the preview
model, incorporating any changes made by the data viewer.
-Added BNR+U8 container support.
-Exposed generic un-lzss function, which accepts many different decompression
parameters.
-Added a "show memory leaks" option to the tools menu. It is recommended that
plugin authors enable this option.
-Fixed a stack overflow when loading large PSK models, and sped up smoothed normal
calculation by a factor of 10 or so.
-Changed default vertex normal calculation method.
-Fixed procedural geometry generator breaking meshes up based on vertex weights,
when it didn't need to.
Version 2.64:
-New class-based math library for plugin authors. It's completely optional and
works with the existing C-based math library.
-Refined math classes a bit and cleaned up the implementations.
-Made rpgOptimize account for varying numbers of vertex weights and different
vertex component bits.
-Added -combinemeshes option.
-Made COLLADA importer support non-triangle polygon lists.
Version 2.54:
-Exposed a variety of compression/decompression methods through the plugin
interface.
-Added Metroid Prime 1/2/3 .PAK support via plugin. (source is included) Thanks to
revelation for providing the info for this format!
-Added GameCube/Wii filesystem support to the .iso parser.
-Added FF7CC archive extraction support, changed FF7CC model extension.
-Added extra wireframe rendering functionality to the data viewer.
-Added Evangelion: Jo .pkg extraction support.
-Various other fixes and minor additions that I couldn't be bothered to keep track
of.
Version 2.42:
-Added "Batch process" to the tools menu. Allows you to export multiple files and
issue other arbitary processing commands.
-Fixed a crash when exporting UV-less models to SMD.
-Fixed another crash when exporting UV-less or normal-less models to OBJ.
-Fixed texture output type sometimes not being recognized.
Version 2.35/2.36/2.37/2.38:
-Fixed Bayonetta support up, and added Vanqish support in the same plugin module.
(the formats are similar)
-Fixed broken path names for FPK extraction, made TTD's auto-load with GMO's.
(when applicable)
-Made GMO not default to grouping by material. Old functionality can be invoked by
the new -gmogroup option.
-Various changes and fixes for the plugin system.
-And yet more changes and fixes for the plugin system! Added auto-normalization of
weights, and triangles with different vertex component bits will not be merged into
the same surface.
-Added the ability to rotate/translate bones with offsets from within the data
viewer.
Version 2.3:
-Added proper display of normal maps where applicable, and some new light
properties. (viewable/editable in the data viewer)
-Bayonetta model import support. Source code is included in the plugin SDK.
-Sped model preview load up slightly. Probably won't be noticeable, this was
mainly a forward-looking optimization.
-Added vertex morph frame items for the data viewer. Highlighting a frame will
render the model in that frame in the active preview.
-Now sorting the file type mask in alphabetical order.
-Various new plugin API functions, including some useful procedural animation
functionality. (use it to test your bone weights)
-Fixed another container bug that was causing .iso and .afs to not be correctly
recognized.
-Added CPK container extraction support. Thanks to hcs for releasing source code
that describes this format! This implementation should run around 10-20 times
faster than cpk_unpack.exe.
Version 2.2:
-Export support for Quake II MD2, with new -md2strips and -md2painskin command
line options. MD2 exporter plugin source has been updated. This rounds out
import+export support for MDL, MD2, MD3, and MD5.
-Fixed a bug causing extra vertex weights to sometimes not be initialized with
NMSHAREDFL_FLATWEIGHTS_FORCE4.
-Unified the way that model-with-builtin-animation export is handled. (the IQM
plugin code has been updated accordingly)
-Over 15 new RAPI functions for plugin development, exposing lots of new
functionality, from tokenized text parsing to image resampling and combining. (see
pluginshare.h, >= 2.2 API functions are commented)
-Added -mdlavoidfb command line option to avoid fullbright colors when exporting
Quake MDL skins.
-Added -mdlskinsize command line option to explicitly set output dimensions of
Quake MDL skins.
Version 2.1:
-Quake MDL export support. This automatically combines texture pages and dithers
them all to the Quake palette. It also bakes all available skeletal and vertex
animation into the MDL frames.
-Fixed a general archive bug, which was causing quite a few archive file types to
not be correctly recognized.
-Added another RAPI interface function (for plugins) which performs all
commandline-specified transforms on a set of animation matrices. (plugins
previously had no way to obey -rotate, -posoffset, etc. command line options for
anim data)
-Fixed a variety of transform (rotate/scale/offset) bugs, as some transform
behavior was still format-dependent and it no longer is.
Version 2.0:
-New plugin system. Plugins can import/export any model, texture, and/or animation
format, and allow seamless third-party integration of new file formats into Noesis.
-Plugin SDK is now included in pluginsource.zip. Each plugin project compiles in
MS Visual Studio 2005, and they probably compile fine with the free Express
Edition.
-Quake II MD2 import support added via plugin. Source code is included.
-PCX image import and export support added via plugin. Source code is included.
-Inter-Quake Model import and export support added via plugin. Source code is
included.
-Added new control over scene lights. Highlight them in the data viewer to rotate
them with the left mouse in the model view. Their pivot point and distance to pivot
can also be adjusted directly in the data viewer.
-Added support for extracting LithTech REZ files. (thanks to aluigi's bms script
for the spec)
Version 1.9:
-Corrected a texture load path bug with .noesis files.
-Added support for extracting GCF (Valve) files. Tested with format version 1.6,
support for other versions is questionable.
-Added import support for Valve VTF textures. Only supports a limited set of image
types, and was only tested with v7.1 images.
-Added import support for Source MDL models. Only tested with format version 44.
-Added import support for Quake MDL.
-Added import support for FF8 battle models/animations.
-Made HL .map support actually work again. (loads halflife.wad if it's in the
working directory, to generate proper texcoords)
-Changed default coordinate system for Heretic 2, SiN, and Q3A models.
Version 1.8:
-Made MD3 export path handle NULL UV's.
-Added import and export support for Heretic 2 .m8 textures.
-Added import support for Heretic 2 .fm models. Vertex animations are handled, but
reference/node/skeletal data is not.
-Added support for paletted images in PNG and TGA loaders.
-Added support for SiN variant of Quake PAK format.
-Added import support for SiN SBM/SAM model/frame data.
-New support for ".noesis" scene files. This is a text-based format which allows
custom scenes to be crafted with simulated physics, but functionality is still
limited. Two scenes are included, one of which references an implementation of the
ODE physics library.
Version 1.7:
-Generic vertex morph handling. Only implemented so far for Sub Culture's DFF
format, DOAX2/NG2, and MD3. Preserves vertex morphs on export (to some formats) and
displays them in previewer as animations.
-Quake 3 MD3 import and export. (useful for exporting those morph target meshes,
though there is usually precision loss in the format)
-Fixed a path bug, which might've shown up in situations where a file is processed
in a working-directory-relative path.
-Support for converting skeletal models+animations to pure vertex morph
animations, via the MD3 path. Bone-based tags are also supported. (see -md3tbone
advanced option)
Version 1.6:
-New "Special Thanks" section in ReadMe, as I realized I was being a thankless
bastard for all of the awesome people on XeNTaX.
-Fixed a .glm import bug, which would cause some surfaces to be missed entirely.
(thanks to AceWell for submitting this bug)
-Added global JPEG reading/writing. (did this mainly to have auto-loading for JK2
model textures)
-Fixed another .glm bug, where path to .gla would be treated as working-directory-
relative instead of file-relative.
-Made scene lighting not rotate with model when changing the base rotation axis.
-Added read support for very old RenderWare (I think) DFF format. (used in Sub-
Culture for Windows/PC)
-Added limited BMP read/write support. (24bpp with no RLE)
-Fixed bad interface state when drag-and-dropping anims to apply to open models.
Version 1.5:
-Fixed crash on attempting to export non-power-of-two DXT-compressed images to
non-DXT formats. (thanks to firsak for submitting this bug)
-Fixed NMD texture output stomping sequential files in some instances.
-Fixed a potential crash when opening screwy SMD files. (thanks to firsak for
submitting this bug)
-Added "advanced commands" button to export window, to list export options.
-Other things which have been lost in the pages of history.
Versions 1.0-1.4:
-It's a mystery!
==================
Release Milestones
==================
1.0 - 2010/06/09
2.0 - 2010/10/27
3.0 - 2011/04/08
3.5 - 2011/08/25
4.0 - 2012/12/15
4.1 - 2014/09/26
4.2 - 2016/09/23
==============
Basic Controls
==============
In preview mode, the following controls are available:
1) Left Mouse: While held, moving the mouse will rotate your view around the focal
point.
2) Left Mouse + CTRL: While held, moving the mouse up and down zooms your view in
and out.
3) Right Mouse: While held, moving the mouse will move your focal point in the
scene, relative to the direction you're looking. Your focal point is represented by
a green/red box at the center of the screen.
4) Right Mouse + CTRL: While held, moving the mouse up and down moves your focal
point "in" and "out" of the screen.
5) Middle Mouse: Clicking the middle mouse button re-centers your view on the
model. Scrolling the mousewheel does what Left Mouse + CTRL does, with a larger
step length.
6) The icons on the preview pane (and their corresponding F# keys) will change
according to the data inside the file you are previewing. Remember to read the info
text when the preview main is in focus for reference.
The red/green focal point in the center of the screen will only appear while you
are holding down the right mouse button. If the box is green, it is not obstructed,
but if it's red, that means it's "behind" the geometry you're looking at. This is
helpful for determining the distance of your focal point when trying to center in
on some geometry.
For certain touch pads, tablets, and other devices, you may want to prevent cursor
locking when clicking and moving. There is an option to disable this under the data
viewer. See "Tools->Data Viewer->Persistent settings->Other->Disable cursor
locking".
Additionally, many features and options are available through the Noesis menus.
Explore and enjoy.
=================
Command Line Mode
=================
Noesis can be activated on the command line by using ?cmode as the first command
line argument. This allows you to quickly process files from external batch files
or other automation tools. Syntax is Noesis.exe ?cmode infile.raw outfile.raw
-options. An example batch file to convert one SMD model to RDM, rotating it 90
degrees, scaling it up to 2x the size, and prefixing texture names with the given
string:
@echo off
Noesis.exe ?cmode "pl_male01_hi.smd" "pl_male01_hi.rdm" -rotate 90 0 0 -smdnorm
-scale 2.0 -texpre "male01 tex_"
pause
This command would execute the tool named "&Get material info" (the & is there
because it's part of the tool's description string), and when that tool script
calls noesis.getSelectedFile, it will receive the path for someninjaguy.gmd.
============
Kinect Notes
============
You're on your own when it comes to getting your Kinect set up and working with
OpenNI, you'll just have to Google it. It's also possible that, by now, the Noesis
OpenNI+Kinect implementation is broken. Probably not, but who knows!
That said, once you've got Noesis to recognize the device, you'll have to assume a
"T-pose" with your arms sticking straight out, but also with your elbows bent so
that your hands are pointing toward the ceiling. Consult the OpenNI/NITE
documentation for more info, or go find my YouTube demo video and observe.
Setting models up to map to the generic NITE skeleton involves mapping bones. You
can apply angle modifiers or flip specific axes, as needed. Most models will
require you to tick the "global x flip" and "global y flip" options, but it depends
on the coordinate system of the model you're working with.
Additionally, you can use the "Base cap" option to snap a pose of yourself
attempting to mimic your model's base pose. This will then apply only base-relative
matrices to the model's existing pose, rather than completely overriding. This
option may mean less screwing around with angle offsets on certain models, but you
shouldn't mess with it unless you've got a pretty good idea of what you're doing.
You can also record animation data directly into the preview model. After
recording, you can export that animation data into any Noesis-exportable animation
format, using the "Export from preview" option.
Oh, and you can save/load bone mappings in the form of .noekin files. If a .noekin
file exists with the same name as your model file, it will be auto-loaded. Well,
that about covers it. This is just crazy experimental functionality, so don't
expect a lot from it.
================
MDL Export Notes
================
Noesis has some pretty in-depth functionality for exporting models to
MDL/MD2/MD3/MD5, used by various id game engines. Here are some tips on using that
functionality.
-For MD2, pay attention to the "Skin path:" printout at the end of your export.
Skin paths need to be absolute to work in Quake II, so you may need to add
something alone the lines of -texpre /models/monsters/infantry/ to your advanced
options. (only as an example, you should replace the infantry path with wherever
your skinpage.pcx will end up)
-For MDL, you will probably want to use -mdlavoidfb in the advanced options, if you
want your model to look correct in software and you have not custom-crafted a Quake
palette for it.
-The -mdlskinsize advanced option will work for both MDL and MD2 texture output.
-MD3 allows you to specify any bone in your import model as a tag on export - see
the -md3tbone option.
-MDL, MD2, and MD3 are all generally interchangeable in terms of data they
import/export. The main things to note are the potential loss of vertex/texture
coordinate precision and MD3 tags.
-All MD* formats can also bake skeletal animation data out to their vertex frames.
This happens automatically when you convert a model with skeletal animation data.
You can also use -loadrda to load pre-generated RDA animation files and combine
them with static skeletal meshes. (the results will be baked into the MDL/MD2/MD3)
-The MDL and MD2 exporters automatically generate a single texture page from all
textures that the model being converted references, compensating the texture
coordinates in the model. This can be incredibly handy, since MDL and MD2 only
allow a single texture page to be referenced. Texture pages can be grabbed from
within your source model, and on the local path in any image format that Noesis
supports. Just remember to have your textures all in the same folder as the model
being imported/exported.
This is all legacy code at this point, which is why it has various hardcoded
tentacles running through Noesis instead of going through standard plugin routes.
==============
Special Thanks
==============
revelation:
-Provided me with various specs and education on VIFcode and lots of other PS2-
related stuff.
-Provided spec for the FFX model/animation formats!
-Continually put up with my dumb questions about FFX animations.
-Provided info on the FFX filesystem.
-Provided Metroid Prime .pak file info.
-Also assisted in the Capcom .mod format and made many of his findings public,
which assisted me in conjunction with Surveyor's efforts.
-All around awesome guy that is always popping up wherever there's a technical
challenge.
chrrox:
-A longtime supporter of Noesis, with dozens of scripts under his belt.
-The most useful Noesis bug reporter who ever lived.
-A truly standup gentleman, who can routinely be seen writing importers for a
variety of model formats.
Mr.Mouse:
-Hosted Noesis and its site, once upon a time.
-A founder of XeNTaX! (we're not worthy) XeNTaX once provided a great foundation
for tools like Noesis to spring up.
flatz:
-Played a very important role in facilitating FF15 support.
aluigi:
-Cracked encryption on Ys: The Oath in Felghanna archives, which allowed me to get
at the .ymo data with ease.
-Provided spec on the LithTech .rez files.
-Generally just does a lot of stuff. aluigi is a talented guy, and his site is
constantly growing with new scripts and code.
Surveyor:
-Made public most of the ground work for the Capcom .mod format, and saved me
hours (maybe even days) of hex-editing!
-Chipped in on a lot of other stuff during his tenure at XeNTaX.
Tomaz:
-Hangs out in #qc and randomly shows interest in data decyphering. Helped with
Sub-Culture stuff too.
=============
Rights of Use
=============
The author of this software, Rich Whitehouse, accepts no liability for any use
(intended or otherwise) of this software, and expressly forbids the use of this
software in violating any form of intellectual or copyright law.
Noesis is provided free of charge and as a NON-COMMERCIAL product, and may not be
used or distributed in attachment to any other commercial or copyrighted product.
Noesis also may not be distributed without this ReadMe.txt file included in
completely unmodified form.
Many file formats supported by Noesis are also used in commercial products. When
working with existing material, make sure you know your usage rights, and do not
redistribute any copyrighted content that doesn't belong to you!
The author of this software does not in any way condone or support copyright
violation/infringement.
Plugins for this program are not supported or guaranteed in any way, and the author
of this software is not responsible for any aspect of third-party plugins. Use
caution when using plugins, and please be responsible and adhere to legal practices
when writing them.
Improper or uninformed use of Noesis could cause serious harm to you or your
computer. The author of this software accepts no responsibility for any damages
which result from the use of this software. You use this software entirely at your
own risk.
Additionally, Noesis makes use of libjpeg for JPEG reading/writing, as well as zlib
for... lots of things. Oh, and FCollada for COLLADA reading/writing. And libpng for
PNG reading/writing, as well as GIFLIB for GIF reading/writing. And the crunch
texture compression library by Rich Geldreich for crunch texture support. Noesis
also implements Python through a plugin that links to the Python C library. As of
version 3.75, a modified and slimmed down version of libcurl is also used for HTTP
transfers. I think that covers all of the third-party libs.
============
Uninstalling
============
If you want to wipe all traces of Noesis from your system, first remember to use
the association dialog under the Tools menu to remove all associations with file
types on your system. Then delete the HKEY_CURRENT_USER\Software\Noesis key in your
registry. You can then delete the actual folder in which you have extracted the
Noesis files.
An automated installer/uninstaller may be supplied some day, when the author is
less lazy.
========
Trouble!
========
If something goes wrong, first try removing all of your third-party plugins. If the
problems go away after removing those plugins, try adding them back one at a time.
Once you find the plugin causing the problem, contact the author of that plugin and
tell him/her that his/her plugin is busted.
If you have trouble using a plugin, such as the plugin not seeming to load or add
the given format to the format list, make sure you have the latest MSVC++ 2005
runtime package installed. Runtime links are provided near the top of this
document.
If none of the above circumvents your issue, make sure you're using the latest
version of Noesis. If you are, you may be looking at a genuine Noesis bug. Feel
free to report your issue to me, but take care to provide plenty of detail about
the circumstances, your system, and the data/game(s) you're working with. Direct
replies to bug reports are not guaranteed. If I sense that you're being
intentionally vague with details or that you aren't being forthcoming with data
required to reproduce your issue(s), you're likely to be ignored.
==============
Making Plugins
==============
For information on writing Python scripts, see "plugins\python\__NPReadMe.txt".
For native binary plugins, a file called pluginsource.zip is included in the Noesis
distribution. The native API is fairly dated and in many ways terrifying, there's
no formal documentation for any of it, and some of the included plugin source
itself is really terrible. You can check the web site for some examples of more
modern and less-grotesque plugin code, if you'd like. If you do set out to write a
Noesis plugin and brave the wilderness, I'll generally be happy to hold your hand
when you encounter issues.