Nornimator
(by Vadim) English Version

Creatures 3/Docking Station
Creatures Abenteuer/Adventures
Tools & Utilities

Vadim gave us permission to host his program Nornimator on our site Creatures Unlimited. Thanks a lot. :-)
Except for comments on download/installation the documentation as follows is written by Vadim.

Nornimator

Note: This screenshot can be somewhat old. The general appearance is the same, but several interface elements could have been added or changed. 

Project information

This program allows you to create images of norns in any positions without running the game. It's main use is for webpages. This is a clone of C2 Nornpose. The original NornPose was created by LummoxJR. This program was made with his permission.

This project doesn't use NornPose as a base. It may look like the C2 nornpose, but it's different from it. First, lots of improvements were made to allow creating images much faster. Also, several completely new features were introduced and the general behavior is different.

Progress

Here's a list of all the done and future features:

 

Feature % Description
Drawing creatures 100% The program can already draw any norns, including creatures with custom ATTs like Gaia. As I am unsure if I used the correct Z-Order, I have left the editor in the program. If you fix it, please send me the new configuration.
Breed detection 100% Automatically detects installed breeds. It uses a list to name them. If you are making a new breed and want it to appear in the list, email me.
Preloading 100% Unlike the original NornPose, this program tries to be as fast as possible. It loads all the ATT files into memory on startup. Soon it will also be able to cache sprites. When loading an image for the first time it will be left in the memory in a converted form. The next time it will draw much faster. 
Animation 0% I know, it's called Nornimator. But some people want to try it so much that I decided to make a beta version before all the features are done.
ATT Editor 0% With some small improvements you will be able to edit the ATTs directly from the program.
C1 and C2 compatibility 15% The program is so customizable from inside, that only writing the necessary code to load SPR and S16 files and changing some settings it could work with C1 and C2 too. 
Configuration 20% The program is supposed to be very configurable, but for now several settings can be changed only from inside. This will be fixed very soon. Several settings can be changed only by editing the configuration files.
Z-Order editor 100% Allows defining the order in which the sprites are drawn. It might be removed in future versions.
Pigmentation 100% Now it's possible to modify the colors of your norns! I even made some improvements, as the range and invert effects.
Sprite maker 100% This was made for people who do sprites. Set the pigmentation you want, and this will generate the pigmentated sprites automatically! Unfortunately, as a lot of BMPs, but it stills being a good feature.
I hope that you'll like it, Wafuru!

How to use it

This is a fast and temporal explanation of its use. I will try to write a more decent documentation soon.The interface is quite simple. You click the body part you want to change, change the settings and click set.

Body part

Visible - Toggles visibility or invisibility of a body part. Whenever it is visible or not all the body parts depending on it will be still being shown in the right place

X Offset and Y Offset - The offset for the position. You can move a body part from its original position by the pixels specified in here. The subparts will be adjusted if their parent part is moved.

Breed list - Shows a list of the detected breeds. It will tell you the slot, gender and specie of the creature. The list was copied from Ricardo2000's list. Known breeds are named and the reserved ones are marked by their owner's name enclosed in "<" and ">". If you have a breed that the program does not have a name for, email me and I will add it to the future versions.

Pose - The position of the body part

Checkboxes with arrows - This allows you changing only certain settings without modifying others. For example, if you have a Bengal norn in the position you want and you decide to change it to a Civet, you can do it without modifying its position. Just uncheck all the checkboxes except the one for the breed. Select the breed you want, choose "All" and click set. Only the breed will be changed and other settings will remain the same. 

Apply settings

All - Apply the settings to all the body parts

Selected - Apply only to the currently selected and checked body parts

Subparts - Apply to the sub-parts. For example, if you selected a thigh, the settings will be applied to the thigh, the shin and the foot.

Symmetric - Apply to symmetric parts. For example, if you selected a humerus the settings will be applied to the left and the right humerus

Symmetric with subparts - The same as symmetric but applying the settings to the subparts too.

Autosave - Apply the settings automatically without the need to click the "Set" button.

Global settings
Age - Here you can choose the age you want the creature to have

Face - At last!!! Now you will see how a scared norn looks like!

Global X offset and Global Y offset - Move all the norn by the amount of pixels specified here. Really, this is not needed. Setting the offset for the body works exactly the same. But I think that this is a faster way of doing that.

Eyes closed - Check it to see the creature with its eyes closed

C3 Directory - Path where C3 is installed. If you enter the wrong path as soon as it loses the focus you will hear a beep and the text will become red. If the path is wrong, the program will not be able to load the graphics and you will see a blank image. 

Image

Automatic - Chooses the size of the image automatically, just as NornPose.

Background - The size of the image is set to the size of the backround.

Custom - Specify your own size here

X Scroll and Y Scroll - Just try! Now you can scroll the image if it is too big.

Buttons

Z-Order - Allows you changing the order in which the body parts are drawn. It's very simple to use.

Rescan - Reloads all the ATTs and repeats the search for breeds.

Log - Shows a log of errors and other messages. You can choose the detail you want. You can also make it appear automatically when an error occurs. It will be shown automatically if a fatal error happens.

Options - Shows the options dialog (for now, it only allows to enable or disable the cache) 

Pigmentation

The pigmentation can be quite hard to understand, but it shouldn't be a problem if you know how is it defined in the genome. In C3 there are three effects: Tint, Rotation and Swap.

Tint modifies the color of the image. It works independently with each color component. A number is added or substracted, and the result is the final color. If the tint value for a component is 128, no changes are done. If it is bigger, then the difference is added. If smaller, it is substracted.

Rotation rotates the colors in the R->G->B direction if it is higher than 128 and R->B->G if smaller.

Swap swaps red and blue channel. If it is higher than 128, then the color becomes more red, and if it is smaller, more blue.

Invert inverts the color, substracting the current color value from 255 if the value is not 128.

Range is a powerful, but difficult to use feature. It allows defining a color range that will be replaced with another. With this, you can change a creature's skin, or its eyes without modifying the rest. The range end color must be higher or equal to the start color to work. For example, this range works:
000 120 200 to 255 120 240 but not this one: 200 120 0 to 150 150 20

Mask is another powerful feature, but it's hard to use too. If the color is in the specified range for the mask, nothing happens. But if it is not, then the pigmenting process is stopped. It allows you to choose a range of colors to which the effects will be applied. The mask effects affect all the effects that are under them.

Mask (Exclude) is like the normal mask, but instead of choosing a range of colors you want to modify, you choose a range of colors you don't want to touch. The program will process all the colors excepting the ones that are in the specified range. 

Sprite maker

The sprite maker generates sprites with the pigmentation you gave them. You can choose to generate all the images or only the current position.
It needs a directory where it will write the 7MB of BMP files. They have names like XXXX_NNN where XXXX is the standard C3 name for the sprite file and NNN is the number of the image in the sprite beginning at 0.


This is version 1.0.21 beta of Nornimator. An improved version will replace this one when finished.

Installation:

  • Unzip Nornimator.zip. Then put the folder Nornimator to a directory of your choice.
  • Inside the folder Nornimator you'll find another ZIP file: support.zip. It contains files necessary to run Nornimator. Unzip support.zip and double-click support.exe to install those files.
  • To start Nornimator double-click on nornimator.exe .

Version history
  • Version 1.0.21

Partial CA support done - unfortunately, no overlays yet.
Bad news: The project will stop for a while. The reason is that the drawing code (364 lines) it too big, ugly and inefficent. It has progressed since I tried drawing norns for the first time and is full of stuff that shouldn't be there, and some really ugly fixes to solve some problems that appeared when I was trying to add support for CA. Adding overlays would make it even worse. I am thinking about switching to VB6. Users will have to download the new version and a 500Kb update for the support files. VB6 has several features that will allow me to write a better, cleaner and possibly faster code, but that will take some time.

I also have to think what to do with the interface. As you can see, the Global settings tab is completely full. I can't compress it in any way, and people are asking me to do the program smaller.

Note: Drawing CA norns works much better with the cache disabled. I didn't fix it because I am going to rewrite it anyway.

If you have any suggesions, email me.

New features
Partial CA support - To draw CA Norns, just change the C3 path to the CA directory.
Drawing pregnant Norns

Bug fixes
None

  • Version 1.0.20

I fixed rotation (pigmenting) and now some things look different.
Eeww. AN would love to place in his site the picture I got when I tried it.
Don't ask how it looks like or what parameters are needed. It's not difficult anyway.

New features
None

Bug fixes
Sprite maker fixed
Interface elements will not appear on wrong places anymore
Rotation pigmenting effect fixed. After looking again at the description in the CDN I understood that I didn't implement it correctly.

  • Version 1.0.19

New features
Sprite maker

Bug fixes
None

  • Version 1.0.18

Whee! The nasy bug that made the program work incorrectly with 565 files has been fixed!
I know, I fixed it before, but this time it was different. It was the pigmenting system and it's cause is mostly due to the lack of unsigned variables in Visual Basic. I hope that M$ will have the great idea of adding unsigned variables to VB7. I did a quick mock up by copying a integer variable with the color and a zero integer for padding to a long variable using LSet... I wouldn't say that it's a good programming technique, but it works.

I am so happy that I am uploading it right now, after finishing (11:11) instead of waiting for my cheap internet connection (begins at 18:00)

New features
None

Bug fixes
A nasty 565 decoding bug has been finally fixed.

  • Version 1.0.17

I remember that somebody asked me this, so here's the answer:
Nornimator currently has 3910 lines of source code including blank lines and the few comments I have written.
It doesn't include the code used to define interface elements.
1568 lines in forms
2342 lines in modules

The EXE file size is 300Kb. C1 NornPose is about 41KB

Remember that the amount of code isn't really important. I could remove about 500 lines of code if I rewrite some parts of the program.

New features
Mask and Exclusive mask effects added to the pigmenting system
Presets in the pigmenting window have been enabled

Bug fixes
It looks like the cache system now should work right. It had some image corruption problems sometimes.

  • Version 1.0.16

New features
Pigmentation range effect

Bug fixes
Pigmentation fixed
The General settings/Image pages won't disappear after rescanning

  • Version 1.0.15

New features
Pigmentation! And more advanced than CL's :-)

Bug fixes
Autoredraw fixed (now only redraws if you really change something)
A bug fixed in the cache mode, but there's something left. I don't have time to fix it now. As always, flushing the cache works.
Now should fit at 800x600!

  • Version 1.0.14

Thanks to Theo, a really stupid bug was fixed.
I hope that CL will like this version. Seems to work fine.

New features
None

Bug fixes
When you switch to the Image/General options page, they are shown correctly.

  • Version 1.0.13

Thanks to Wafuru, a new bug was found in the C3 directory detection.

New features
A new and nice C3 directory selection window

Bug fixes
Now the configuration is not lost if the Rescan button is pressed.
The norn is drawn correcly after the rescan button is used, and the program does not lock up anymore
Now when the rescan button is pressed almost all the program is resetted. 

  • Version 1.0.12

Wow, I found two bugs found and removed them in less than 15 minutes, and updated my site. Two versions in one day!
This starts looking as addiction ;-)
::sigh:: If M$ made a new version every day, that would be really great!

New features
Clear button in log window

Bug fixes
A cache bug that could cause missing parts to be drawn from a previous creatures (ettins with unwanted norn tails) has been fixed.
Another cache bug that caused image corruption has been fixed too. Hehe, it looked exactly as the image corruption that could be seen sometimes in C1!

  • Version 1.0.11

New features
Preloading complete. Now it can use image caching (nothing is loaded twice, if you change one body part, the others will be drawn from memory). This gives it a speedup of a 25%, but is slower the first time. It could be even more with pigmentation (I expect it to slow drawing down a lot). The cache is enabled by default. It can be disabled from the options dialog.

Bug fixes
None

  • Version 1.0.10

New features
Now you can change the names of the breeds. Just click again a selected item, as you do to rename files.
Improved error handling 

Bug fixes
Now handles correctly big images. This should fix the error 480 if you seen it.
Saves the images with the correct size again. I did something really stupid and it was broken. 

  • Version 1.0.9

New features
Error logging added. Now istead of failing if required files are missing it will show you a window with a error message. The program will terminate. You can see the log by pressing the log button
Error handling almost everywhere. If you got any unexpected errors, try with this version

Bug fixes
None

  • Version 1.0.8

Unfortuantely, now it became somewhat slower due to the way the image size is detected. It will be fixed in the next version.
This version seems to be pretty decent. I'm sure that it could be even left as is, but I will still adding features to it.

New features
Now it saves the images with the correct size. The possiblity of setting the image size to the size of the background and to a custom size was added.
Now the background can be scrolled
Autoset, autoredraw and symmetric and with subparts setting modes done.

Bug fixes
Due to an error in an internal array, the program showed "Grendel" in the species column for ettins and "Ettin" for grendels, even though the breed name was correct. To get rid of it just press the rescan button.

  • Version 1.0.7 

New features
Initialization speedup: The program will read the ATTs and look for breeds when you start it for the first time. The next time it will use the data that was obtained previously, so it will load much faster. If something has changed and the program doesn't detect it, just press the "Rescan" button.
Z-Order editor: Allows defining the order in which the body parts are drawn

Bug fixes
Now it draws correctly the norns and also can draw breed mixes correctly. Look at the screenshot!

  • Version 1.0.5 

New features
None

Bug fixes
Now it should read 565 files correctly

  • Version 1.0.0 - 1.0.4

Only for testing. Lots of features don't work yet and there were lots of bugs.

New features
Now it can save images to disk, but doesn't do it with the correct size yet. This will be fixed soon

Bug fixes
Fixed several bugs in C3 detection

(Mairenn, 03/2003)