A new Trespasser patch/update (Trespasser CE)

Discuss the game Trespasser here!

Moderators: TresCom Support Team, TresCom Board Managers

User avatar
Draconisaurus
T-Rex Killer
T-Rex Killer
Posts: 14045
Joined: Mon Dec 06, 2004 5:21 pm
Antispam: No
Location: Isla Sorna
Contact:

Re: A new Trespasser patch/update (Trespasser CE)

Post by Draconisaurus »

Well, now it works. Dunno what changed.
User avatar
TheIdiot
T-Rex
T-Rex
Posts: 4345
Joined: Thu Feb 20, 2014 9:13 pm
Location: Canada, eh?

Re: A new Trespasser patch/update (Trespasser CE)

Post by TheIdiot »

Hey again, Lee - got a pair questions/requests for you:

First,
is there any way to either implement into the code or create a .NUT script for a trigger which fires when you push a customizable button on the keyboard? I assume it would work similarily to your implementation of the Sprint system (with the addition of the key to the Controls menu and such), except instead of increasing player speed, it activates a trigger. I would imagine this as a Trespasser trigger to look like:

Code: Select all

string class = "CKeyPressTrigger"
string Key = "X"
bool KeyHeld = true (fires repeatedly while the key is held)
bool KeyTap = true (fires once when the key is pressed)
bool KeyRelease = true (fires once when the key is released)
I can see a lot of good use for such a function, and already have a few ideas of my own. I remember that you said something about this being doable with scripts, and if that is the case, it would be wonderful if you could write up a template script for this with the functions listed above as configurable modifiers.

Secondly,
would it be possible to write a triggered script which fades in an overlay image, and then fades it back out either after a set period of time or if another script/trigger removes it? I imagine this should be doable using the same scripting as the HUDs you've made for CE, except this element would be static instead and its size and position would be the key modifiers. This would mostly be used as a replacement for the broken retail ActionType which permanently displays a .BMP image on-screen, which presumably uses .tga files as your other scripts do, allowing for much greater flexibility.

As always, a massive thank you if you can help bring any of these things to fruition. :) I look forward to hearing your response!
User avatar
tatu
-=TresCom Website Manager=-
-=TresCom Website Manager=-
Posts: 5088
Joined: Fri Jun 24, 2005 9:40 pm
Antispam: No
Location: Sweden
Contact:

Re: A new Trespasser patch/update (Trespasser CE)

Post by tatu »

Hey Lee,

Whenever you get back here and can have a look. During TheIdiot's and my project we have combined BE, JR, PH, IJ and IT into one big level. However, we've (I rather) have stumble across an issue where the game crash during the last phase of loading, when the engine is loading the textures. It appears there is a limit to how many textures the engine can load into memory as using empty pid/swp files allow the level to load and it sometimes (only sometimes) loads in GUIApp. It doesn't appear that any memory settings fix it if increased.
I will attach the crash.dmp and hope it tells you something.
Tatu_crash.dmp.zip
(43.77 KiB) Downloaded 354 times
When loading in GUIApp, this is the end of the DebugLog where it crashes:
Spoiler: show

Code: Select all

Loader          :  10137.0           1.00      0.1
 Audio          :               
 RAM the GROFF  :    902.8           1.00      1.1
 Image          :      5.3           1.00    190.0
 Objects        :   8839.2           1.00      0.1
  Add to World  :    254.0           1.00      3.9
  pinsCreate    :   7317.6           1.00      0.1
   Mesh         :   4415.9           1.00      0.2
    Printing    :    128.7           1.00      7.8
    Misc.       :    178.7           1.00      5.6
    GROFF Geom  :     21.9           1.00     45.6
    Curve Bumps :     68.9           1.00     14.5
     Matrix     :                    1.00
    Alloc Verts :      0.6           1.00     1.8K
    Make Faces  :      0.6           1.00     1.7K
    Mesh Const. :   3786.1           1.00      0.3
     Merge      :     26.2           1.00     38.1
     Poly Setup :      0.3           1.00     3.8K
     Vert Norms :     40.9           1.00     24.5
    Textures    :    265.4           1.00      3.8
     Lookup     :      8.6           1.00    116.9
     Constructor:    203.2           1.00      4.9
      Cluts     :    196.7           1.00      5.1
    Mip Map     :     22.6           1.00     44.3
     new CRaster:     12.3           1.00     81.2
     pre image stuff:      0.4           1.00     2.8K
    Shrink Wrap :      0.1           1.00    11.0K
    ptexImageTexture:    230.1           1.00      4.3
     Image Palette:     11.5           1.00     87.0
     Image Raster:      2.3           1.00    436.9
     New Texture:    196.0           1.00      5.1
 Obj Info/Vtable:     70.7           1.00     14.1
  Name Lookup   :     25.7           1.00     38.9
 Partitions     :    114.5           1.00      8.7
 Bumpmap pack   :      0.1           1.00    13.7K
Loader          :  10137.0           1.00      0.1
 Audio          :               
 RAM the GROFF  :    902.8           1.00      1.1
 Image          :      5.3           1.00    190.0
 Objects        :   8839.2           1.00      0.1
  Add to World  :    254.0           1.00      3.9
  pinsCreate    :   7317.6           1.00      0.1
   Mesh         :   4415.9           1.00      0.2
    Printing    :    128.7           1.00      7.8
    Misc.       :    178.7           1.00      5.6
    GROFF Geom  :     21.9           1.00     45.6
    Curve Bumps :     68.9           1.00     14.5
     Matrix     :                    1.00
    Alloc Verts :      0.6           1.00     1.8K
    Make Faces  :      0.6           1.00     1.7K
    Mesh Const. :   3786.1           1.00      0.3
     Merge      :     26.2           1.00     38.1
     Poly Setup :      0.3           1.00     3.8K
     Vert Norms :     40.9           1.00     24.5
    Textures    :    265.4           1.00      3.8
     Lookup     :      8.6           1.00    116.9
     Constructor:    203.2           1.00      4.9
      Cluts     :    196.7           1.00      5.1
    Mip Map     :     22.6           1.00     44.3
     new CRaster:     12.3           1.00     81.2
     pre image stuff:      0.4           1.00     2.8
Active project: Trespasser: Isla Sorna
Status:
BE-PH1: Released
PH2-IT: Pre-released
PL-SUM: In production

"...there used to be more benches, but InGen's workers removed them during the evacuation in the name of framerate."
User avatar
machf
T-Rex Killer
T-Rex Killer
Posts: 12368
Joined: Thu Apr 24, 2003 11:20 pm
Location: Lima, Peru
Contact:

Re: A new Trespasser patch/update (Trespasser CE)

Post by machf »

When did it first start happening? Keep in mind that:
  • GeomAdd doesn't add 24-bit textures properly
  • Texture dimensions that aren't powers of 2 (1, 2, 4, 8, 16, 32, 64, 128, 256) are problematic
  • .SWP files are divided into two sections, the first one for non-swappable textures and the second one for swappable ones; the .PID file imposes a limit to the first section from the start
Visit The Carnivores Saga - a forum devoted to modding Action Forms' Carnivores, Carnivores 2 and Carnivores: Ice Age games
Tres WIP: updated T-Script Reference and File Formats documents
Sound name listings for the Demo (build 117), Retail (build 116), Beta 103, Beta 99, Beta 97, Beta 96, Build 55, PC Gamer Alpha (build 32) and E3 1998 Alpha (build 22) TPA files
User avatar
tatu
-=TresCom Website Manager=-
-=TresCom Website Manager=-
Posts: 5088
Joined: Fri Jun 24, 2005 9:40 pm
Antispam: No
Location: Sweden
Contact:

Re: A new Trespasser patch/update (Trespasser CE)

Post by tatu »

It first started after I imported the TrnObj. They work fine when imported into its own level and the level works fine without importing them (however, after importing the Dinosaurs and Weapons they causes the same issue).

Noting that I do remember that I've sometimes gotten an error message of the game is out of memory while loading the level, however it doesn't appear on all tries.

EDIT: I might mention when it started the first time with the TrnObj, only deleting them all would allow the level to load fine with the same pid/swp file, therefore is why I believe it is related to how much texture the game loads into memory, as unused one loaded from the information in the GRF file wouldn't load the unused ones to begin with.
Active project: Trespasser: Isla Sorna
Status:
BE-PH1: Released
PH2-IT: Pre-released
PL-SUM: In production

"...there used to be more benches, but InGen's workers removed them during the evacuation in the name of framerate."
User avatar
TheIdiot
T-Rex
T-Rex
Posts: 4345
Joined: Thu Feb 20, 2014 9:13 pm
Location: Canada, eh?

Re: A new Trespasser patch/update (Trespasser CE)

Post by TheIdiot »

machf wrote:When did it first start happening? Keep in mind that:
  • GeomAdd doesn't add 24-bit textures properly
  • Texture dimensions that aren't powers of 2 (1, 2, 4, 8, 16, 32, 64, 128, 256) are problematic
  • .SWP files are divided into two sections, the first one for non-swappable textures and the second one for swappable ones; the .PID file imposes a limit to the first section from the start
We're only using images straight from the retail game, so they should all be in a compatible format, which means the first two points definitely aren't it. I'm wondering if the texture limit you've mentioned might be it?

Might it make a difference if we add MipMap = false to our textures, since that would reduce the amount of textures created by the level? Or alternately what if we shrunk all of the textures by 50% (and then if that works we could try replacing them with the defaults using CE's HD texture feature...)?

I know the game becomes more and more unstable for every new palette you add, I've seen that first-hand. tatu and I have discussed that potentially being the issue as well - could that be it?
User avatar
machf
T-Rex Killer
T-Rex Killer
Posts: 12368
Joined: Thu Apr 24, 2003 11:20 pm
Location: Lima, Peru
Contact:

Re: A new Trespasser patch/update (Trespasser CE)

Post by machf »

Oh, now that you mention it, I forgot:
  • There's a limit as to how many different palettes the .PID/.SWP files can handle.
Using bool MipMap = false certainly will reduce the amount of memory required as the mipmaps take (almost) 1/3 as much space inside the .SWP file as the original texture.
(1/4+1/16+1/64+1/256+1/1024+1/4096+1/16384+1/65536+...=1/3)
Sometimes GeomAdd won't properly arrange the MipMaps to optimize the space in the .SWP file, too, which results in wasted (empty) space.
Visit The Carnivores Saga - a forum devoted to modding Action Forms' Carnivores, Carnivores 2 and Carnivores: Ice Age games
Tres WIP: updated T-Script Reference and File Formats documents
Sound name listings for the Demo (build 117), Retail (build 116), Beta 103, Beta 99, Beta 97, Beta 96, Build 55, PC Gamer Alpha (build 32) and E3 1998 Alpha (build 22) TPA files
User avatar
tatu
-=TresCom Website Manager=-
-=TresCom Website Manager=-
Posts: 5088
Joined: Fri Jun 24, 2005 9:40 pm
Antispam: No
Location: Sweden
Contact:

Re: A new Trespasser patch/update (Trespasser CE)

Post by tatu »

I know about the palette limit and it does not go over it. And I also know going over the palette limit doesn't crash when loading a level but rather make textures blurry and messed up in-game.
And just in case, texture space used: "Used 2.2MB of 20.1MB available primary texture space". Palette used at the moment is 90, but the issue was even back when it was around 80-ish (before weapons and dinosaurs). In the past I have gone above the palette limit without any loading issue (but texture issues of course).

I am not going to add bool MipMap = false to every object and see if that helps so I tried disable MipMap all together through the CE setting but it still crash. Also, if it is a memory issue with the MipMap, Lee could look into increasing the memory if it is possible anyway.
Might it make a difference if we add MipMap = false to our textures, since that would reduce the amount of textures created by the level? Or alternately what if we shrunk all of the textures by 50% (and then if that works we could try replacing them with the defaults using CE's HD texture feature...)?
I feel like logical it should be the same memory that using both ways, so the HD textures would still use the same memory?
Active project: Trespasser: Isla Sorna
Status:
BE-PH1: Released
PH2-IT: Pre-released
PL-SUM: In production

"...there used to be more benches, but InGen's workers removed them during the evacuation in the name of framerate."
User avatar
machf
T-Rex Killer
T-Rex Killer
Posts: 12368
Joined: Thu Apr 24, 2003 11:20 pm
Location: Lima, Peru
Contact:

Re: A new Trespasser patch/update (Trespasser CE)

Post by machf »

I don't know how CE handles external textures, but mipmaps are stored in the .SWP file... sometimes GeomAdd just doesn't properly store them and they begin to overlap or something.
Also, setting bool MipMap = false AFTER you have already added the textures with GeomAdd first with bool MipMap = true (or vice versa) may cause crashes. As well as having some objects using the same texture with the value set to true and other objects with it set to false. Will also happen if you have one object with a certain texture map and a certain opacity map, and anothe rrone with the same texture map but a different opacity map (or no opacity map at all). It's possibly the same (or worse) with bumpmaps, but then, GeomAdd won't allow you to import bumpmaps...
Visit The Carnivores Saga - a forum devoted to modding Action Forms' Carnivores, Carnivores 2 and Carnivores: Ice Age games
Tres WIP: updated T-Script Reference and File Formats documents
Sound name listings for the Demo (build 117), Retail (build 116), Beta 103, Beta 99, Beta 97, Beta 96, Build 55, PC Gamer Alpha (build 32) and E3 1998 Alpha (build 22) TPA files
User avatar
Draconisaurus
T-Rex Killer
T-Rex Killer
Posts: 14045
Joined: Mon Dec 06, 2004 5:21 pm
Antispam: No
Location: Isla Sorna
Contact:

Re: A new Trespasser patch/update (Trespasser CE)

Post by Draconisaurus »

I would recommend multiple tests surrounding the inclusion or exclusion of 24-bit textures. In the retail game this includes muzzle flashes as well as the transparent ocean at the start of BE. Not 100% sure if there are others.
User avatar
tatu
-=TresCom Website Manager=-
-=TresCom Website Manager=-
Posts: 5088
Joined: Fri Jun 24, 2005 9:40 pm
Antispam: No
Location: Sweden
Contact:

Re: A new Trespasser patch/update (Trespasser CE)

Post by tatu »

I don't know how CE handles external textures, but mipmaps are stored in the .SWP file... sometimes GeomAdd just doesn't properly store them and they begin to overlap or something.
I still pretty sure it is not the MipMap as disable them through CE doesn't fix the issue or doing fresh SWP/PID files.
Also, setting bool MipMap = false AFTER you have already added the textures with GeomAdd first with bool MipMap = true (or vice versa) may cause crashes.
The only meshes I have added bool MipMap = true on are texture-less invisible walls. And the correct way, not in TresEd but in the .values file before import.
As well as having some objects using the same texture with the value set to true and other objects with it set to false.
I don't believe I have any object with texture that uses bool MipMap.
Will also happen if you have one object with a certain texture map and a certain opacity map, and anothe rrone with the same texture map but a different opacity map (or no opacity map at all). It's possibly the same (or worse) with bumpmaps, but then, GeomAdd won't allow you to import bumpmaps...
While I know there are some retail meshes that have the issue of that opacity thing, I have fixed that for all of them. That also does not cause a crash as I've run levels with that issues many times.

I am still very sure that it is a memory issue, where the engine runs out of memory. Removing objects in the level (without touching the SWP/PID) allows it to load.

Also as I said, the issue appeared when importing the TrnObj the first time. The TrnObj is not the issue as they work fine in its own level, but they added more textures and therefore more texture information. And TrnObj does not use MipMap script...
Active project: Trespasser: Isla Sorna
Status:
BE-PH1: Released
PH2-IT: Pre-released
PL-SUM: In production

"...there used to be more benches, but InGen's workers removed them during the evacuation in the name of framerate."
User avatar
Draconisaurus
T-Rex Killer
T-Rex Killer
Posts: 14045
Joined: Mon Dec 06, 2004 5:21 pm
Antispam: No
Location: Isla Sorna
Contact:

Re: A new Trespasser patch/update (Trespasser CE)

Post by Draconisaurus »

As a note... some of those invisible instances with bool MipMap = false actually do have a texture, the Dummy Texture. If some objects with the dummy texture do NOT have bool MipMap = false, that could well cause a crash. A good way to fix this issue would be to hunt down all such objects and either give them the MipMap value, or delete it, prior to any others being imported.
User avatar
tatu
-=TresCom Website Manager=-
-=TresCom Website Manager=-
Posts: 5088
Joined: Fri Jun 24, 2005 9:40 pm
Antispam: No
Location: Sweden
Contact:

Re: A new Trespasser patch/update (Trespasser CE)

Post by tatu »

Draconisaurus wrote:As a note... some of those invisible instances with bool MipMap = false actually do have a texture, the Dummy Texture. If some objects with the dummy texture do NOT have bool MipMap = false, that could well cause a crash. A good way to fix this issue would be to hunt down all such objects and either give them the MipMap value, or delete it, prior to any others being imported.
That is not an issue here as I have removed any dummy textures on all non $ invisible physics.

I do understand what you guys are saying about the MipMap script, but then again, the issue appeared the first time (and after it) when I imported the TrnObjs. All other meshes were already in the level (except dinosaurs and weapons that I added later after the crash) therefore they should've caused that issue long before.
Active project: Trespasser: Isla Sorna
Status:
BE-PH1: Released
PH2-IT: Pre-released
PL-SUM: In production

"...there used to be more benches, but InGen's workers removed them during the evacuation in the name of framerate."
User avatar
machf
T-Rex Killer
T-Rex Killer
Posts: 12368
Joined: Thu Apr 24, 2003 11:20 pm
Location: Lima, Peru
Contact:

Re: A new Trespasser patch/update (Trespasser CE)

Post by machf »

Hmmm... were there absolutely NO terrain objects in the level before? Because I'm almost certain that the first palette in the .PID/.SWP is supposed to be the one that's going to be used for all terrain objects. You import other things afterwards.
Visit The Carnivores Saga - a forum devoted to modding Action Forms' Carnivores, Carnivores 2 and Carnivores: Ice Age games
Tres WIP: updated T-Script Reference and File Formats documents
Sound name listings for the Demo (build 117), Retail (build 116), Beta 103, Beta 99, Beta 97, Beta 96, Build 55, PC Gamer Alpha (build 32) and E3 1998 Alpha (build 22) TPA files
User avatar
tatu
-=TresCom Website Manager=-
-=TresCom Website Manager=-
Posts: 5088
Joined: Fri Jun 24, 2005 9:40 pm
Antispam: No
Location: Sweden
Contact:

Re: A new Trespasser patch/update (Trespasser CE)

Post by tatu »

Yes there were some terrain objects. And I know it is not a palette issue as I've run the level both with messed up terrain palette and fixed.
Active project: Trespasser: Isla Sorna
Status:
BE-PH1: Released
PH2-IT: Pre-released
PL-SUM: In production

"...there used to be more benches, but InGen's workers removed them during the evacuation in the name of framerate."
Post Reply