Modding errors

From OniGalore
Revision as of 15:02, 11 August 2018 by Script 10k (talk | contribs) (Iritscen confirmed that Mac also has the limitation)
Jump to navigation Jump to search

You might use the browser's search function to quickly find an error text.

Frequently asked questions

ouch2_tn.jpg
Well... yea... shit happens.

  • Why does Oni crash on game start?
What did you worked on? A character animations?
  • Why does Oni crash while loading a level?
What did you worked on? A game level?
You are using a mod with bgra32 textures and an old engine that doesn't support bgra32.
  • Why can't I convert character animations?
See HERE if you use "-create:tram".
  • Why are body parts in one place in the dae file?
Because the file wasn't saved the right way. Read on here.


Visual errors based on settings

Black loading/win/lose level screens but normal gameplay

Those screens are black if user has a lower resolution than the screen (TXMB).

Oni "HD" screen have a resolution of 1024x768.

Binary errors

Crash while starting Oni

... due to overloaded animation

Animations with more than 107 keys per bone crash the game. You can import animations with more than 107 frames if the keys cover multiple frames.

For example 12 frames <EKey>12 -156.628983 -14.6175327 -78.3831558</EKey>

Such range and EKeys are produced by an older onisplit version. See HERE.

Edit: You shouldn't encounter this bug anymore with onisplit v0.9.56.0 or newer.

Crash while loading a level

... due to improper textures

  • Textures' x and y (pixel) dimension must be power of two: 512, 256, 128, 64, etc.

... due to missing files

Generally it can be said the Oni complains when an instance is missing that is used somewhere else. For instance:

  • AKEV don't tolerate missing textures.
  • ONVL and ONCC don't tolerate missing variants (ONCV).

... due to triangle limit

  • with too many triangles Oni crashes after ca. 90% of the loading process; the triangle limit is ca. 520.000 (500.000 to be on save side)

Crash while playing

... due to missing files

If you encounter a crash when spawning a character or when you cycle through all characters [F8] then check if the crashing character has a TRMA file.

Non-crash errors

These errors are visible inside the game and don't cause a crash when they appear.

Multiple savegame names for same level number

The load game menu can show additional savegame names if any new ONLV is provided in another level0 plugin.

For fast test you should use a plugin name which names comes before "level0_Final" like "level0_Addin".

If you choose a name like "level0_More" the new savegame will be appended after all Final ONLDs, also a clone appears:

"Final" list
new savegame name from "More"
clone savegame name of the slot meant to overwrite


Multiple TXMB

A level can start with multiple TXMB, visible one by one, although there was just one BSL command calling for one.

Cause: When you use additional plugins, files with the same name can stack.

Missing character texture (TXMP)

The texture is either missing, or the texture name and the link in TRMA are unequal.

Distorted colors in textures (TXMP)

color_spectrum_test_tn.jpg

Why do my source and re-extracted textures look okay but in-game the colors are distorted? The "little endian data" flag in the level archive is missing.

  • bug: TXMP creation via command line and v0.9.56.0 (flag missing), imported with v0.9.52.0 (flag won't be added)
  • no bug: TXMP creation via command line and v0.9.56.0 (flag missing), import with v0.9.56.0 (flag becomes added)
  • no bug: TXMP creation via XML file and v0.9.56.0 (flag is present), import with v0.9.56.0

Missing animation collection (TRAC)

Missing 3D model (TRBS)

Distorted 3D model (TRBS)

correct names for old version
correct order for new version
Konoko_Ref_tn.png

When creating the 3D in Mod Tool you have to watch out for the naming or order of body parts.

  • If you use onisplit v0.9.58.0 or lower the naming of body parts must be absolute correct.
  • If you you higher versions the naming is unimportant but the order matters. The order can be easily changes in the Schematic [9]. Then goto Edit > Reorder Nodes Tool [I] and move an object to its new position.

Non-working combos (TRAM)

Situation: When you create combos you want to test your moves in-game. And each move actually works (test via: chr_animate) but the combo does not work.

Requirements to prevent that bug:

  • <Attacks> and <HorizontalExtents> data is needed
    • edit: with onisplit v0.9.55.0 or newer versions the HorizontalExtents (now named "AttackRing") become calculated automatically
  • correct links at the Direct Animations tag
  • correct links inside character's animation collection (TRAC)


Dev mode error messages

  • throwtarget was NULL - The throw target animation was not found.

BSL errors

  • Func "main", File "(called from engine)", Line 0: semantic error, function "main" does not exist.

Or either the function "main" wasn't found in any bsl file (This can also happen with any other function) or the bsl file has to many commands (see here), if the later make sure you split your bsl in more bsl files (creating additional functions if necessary, more information below).

  • Func "(null)", File "test.bsl", Line 3: semantic error, Identifier "main" already declared - In this case the function "main" is double, it can be found in the file "test.bsl" at line 3. (It's not the first but the last line of the double function.)
  • Func "(null)", File "main.bsl", Line 1: Illegal token, got "func" expected ";" - The variable declaration didn't ended with a semicolon.
  • SLiSchedule_Task_Find FAILED [IMPORTANT] - Controls freezes after about 5 messages of this. Caused by calling too many BSL functions in parallel (using fork) in a very short amount of time.

Mistyped variable

  • For example chr_lod 4 will produce this error: Func "(null)", File "(called from console)", Line 1: Illegal token, got "0" expected ";"
    • Correct use of this varible would be: chr_lod = 4
    • Equality symbole is needed for variable.

Mistyped function

  • For example killled_griffen = 1 will produce Func "(null)", File "(called from console)", Line 1: semantic error, symbole "killed_griffen" is not a variable (function most likely)
    • Correct use of this function is: killed_griffen 1
    • Equality symbole is not allowed for functions.


  • Another wrong function: chr_givepowerup = 0 ammo 1 - The debugger will say:
  • Func "(null)", File "(called from console)", Line 1: semantic error, symbole "chr_givepowerup" is not a variable (function most likely)
  • Func "(null)", File "(called from console)", Line 1: Illegal token, got "ammo" expected ";"
    • Correct use of this function is: chr_givepowerup 0 ammo 1

BSL commands per file limitation

The Oni engine has some limitation for how many bsl commands can be loaded with a single BSL file.

If you input too many bsl commands on one bsl file, you may get errors on the developer mode console like this «Func "main", File "(called from engine)", Line 0: semantic error, function "main" does not exist.» (it can be other function other than main).

For instance you can check this files (extract the files and put them on IGMD\EnvWarehouse to experience the problem):

http://script10k.oni2.net/wikifiles/main_not_working_without_commenting_commands.zip

http://script10k.oni2.net/wikifiles/main_not_working_without_commenting_commands(functions_split).zip

http://script10k.oni2.net/wikifiles/main_split_in_two_files.zip

In all these bsl files (each of them is a different scenario) the message "This message should appear on the beginning" should appear when you load level 1.

However for "main_not_working_without_commenting_commands" it doesn't work while you don't comment the 5th line on the bsl file.

The scenario "main_not_working_without_commenting_commands(functions_split)" is the same, but in this one the main function is split in two functions, which is not enough for the error go away.

The last scenario "main_split_in_two_files" is the same as the previous but the 2 functions are split in two different files: "main.bsl" and "continuation.bsl". In this case the script works as expected, the message "This message should appear on the beginning" appears on level load.

So if you experience the error «Function "x" does not exist.» when in fact it does exist split your larger code for other functions on other BSL files. That should fix the problem.

OniSplit error messages

TRAM-related

  • COLLADA error: dublicate id light - Maybe your dae file has more than one root scene. In this case you can right-click the model (that selects all 19 bones), then you go to the crosswalk seettings, check "Selection Only" and save the file.
  • .dae files cannot be imported as TRAM - Newer onisplit versions doesn't seem to support "-create:tram" any longer. If you use that command download an older version. v0.9.41.0
  • TRAM*tgt has more than 256 (0-255) frames
Parametername: Value too large for Byte
  bei Oni.BinaryWriter.WriteByte(Int32 value)
  bei Oni.Totoro.AnimationDatWriter.WriteRotations(List`1 rotations, Int32 frameSize)
  bei Oni.Totoro.AnimationDatWriter.WriteAnimation()
  bei Oni.Xml.XmlImporter.ReadAnimation()
  bei Oni.Xml.XmlImporter.Import(String filePath, String outputDirPath)
  bei Oni.Program.ExecuteTasks(String[] args, String outputDirPath, Set`1 importedFiles, Queue`1 taskQueue)
  bei Oni.Program.CreateGeneric(String[] args)
  bei Oni.Program.Execute(String[] args)
  bei Oni.Program.Main(String[] args)


TRBS

dae files, if a bone has a point cluster, onisplit 0.94.9.0 fails to convert the file.


AE Installer

Blank mod list

Your user account probably doesn't have the necessary rights that the AE Installer needs. (E.g. on Windows, this can happen if you have Oni installed on an old hard drive which is now wired to your new system. Add "full control" to your account: right-click Oni folder, properties, security, edit.)


XSI / Mod Tool errors

Corrupted DAE files

Situation: I cannot load my dae file into XSI. It give me an "Unspecified Failure".

Possible cause: When you create the dae file also paths are stored inside. If a path contains an illegal letter XSI cannot load the file.

Solution: Make sure the paths use only letters of the English alphabet.

Objects with test image

If the texture's file name contains a "#" ModTool fails to apply that texture and takes its rainbow colored test image instead.