Tomb Raider Forums

Tomb Raider Forums (https://www.tombraiderforums.com/index.php)
-   Next Generation Level Editor (https://www.tombraiderforums.com/forumdisplay.php?f=40)
-   -   TRNG - Bugs & Limitations Thread (https://www.tombraiderforums.com/showthread.php?t=165980)

AkyV 15-08-13 06:11

[QUOTE=Paolone;6879805]I tried with three different pickups (lasersight and two puzzle items) and it works.
You have to:
1) Open wadmerger
2) Select pickup you wish modify
3) Click on [Animation Editor] button
4) Click on in bottom left panel, on "Animation 0" (and it should be the only with pickups)
5) Now from Collesion menu choose [Disable colesion (frame)][/QUOTE]

Now I understand the problem:
1. If the pushblock is on the item then you can push/pull the block from the item.
2. If the pushblock is not on the item then you can push the block on the item.
3. But if the pushblock is not on the item then you can't pull the block on the item!

And two more things:

- With removed collision, the item will sink to its pivot level to the ground. It is ugly if the item is a bit taller than usual.
- Some collision cannot be removed, causing the crash of WADMerger. ("Out of range".) See eg. small medipack. (Btw the pivot is above the item in the case of the small medipack, so the pack will be below the ground if I removed its collision.)

EDIT:
Btw, a "collision-less" item like that loses the collision for another situation, too: motorbike/jeep collision with it.

EDIT2:
All of this could be important in other cases, too. I mean, before TR4 you can push/pull pushable objects over eg. even flames. Now in TRNG that isn't possible, due to similar problems as if I said in the case of pickable items. But if I remove the flame nullmesh collision with WADMerger, then I'll be able to push the pushblock over the flame - it is still not possible for pulling, though.

AkyV 16-08-13 10:36

[B]1227k test[/B]

Only one question:
You say Hide Object is safe now. Does this mean we don't need the warning message any more - as if we checked "Don't show tips for Hide Object button" permanently in Settings panel?
If it does, then it also means we don't need that check any more, right? I mean, the settings is always, automatically "checked", so you can remove that option.

Paolone 16-08-13 12:59

[QUOTE=AkyV;6880092]Now I understand the problem:
1. If the pushblock is on the item then you can push/pull the block from the item.
2. If the pushblock is not on the item then you can push the block on the item.
3. But if the pushblock is not on the item then you can't pull the block on the item!
[/quote]

I understand, the pulling with the pickup backward lara doesn't work. :(

[quote]
And two more things:

- With removed collision, the item will sink to its pivot level to the ground. It is ugly if the item is a bit taller than usual.
- Some collision cannot be removed, causing the crash of WADMerger. ("Out of range".) See eg. small medipack. (Btw the pivot is above the item in the case of the small medipack, so the pack will be below the ground if I removed its collision.)
[/quote]
I understand, so there are problem with this method.
But what could I use to signal pickups to ignore with pushable object?
I cann't use ocb because pickups have already some different ocbs
Perhaps I could use a customize in the script.
I'll see how I can modify it...

Paolone 16-08-13 13:02

[QUOTE=AkyV;6881204][B]1227k test[/B]

Only one question:
You say Hide Object is safe now. Does this mean we don't need the warning message any more - as if we checked "Don't show tips for Hide Object button" permanently in Settings panel?
If it does, then it also means we don't need that check any more, right? I mean, the settings is always, automatically "checked", so you can remove that option.[/QUOTE]

I believe that is better disable that warning from the settings, because if you used NGLE for many time you already know that info. About the chance to remove fully that warning (from me) or saying that all chances to have problems have been removed, I'm not so sure.
I tried to cover the most usual operation that could create trouble with [Hide objects] enabled, but there are dozen of commands and combination, so I prefer speaking only about an improvement of safety using this command but the human supervision is always better keeping care.

AkyV 16-08-13 13:19

[QUOTE=Paolone;6881303]I understand, so there are problem with this method.
But what could I use to signal pickups to ignore with pushable object?
I cann't use ocb because pickups have already some different ocbs
Perhaps I could use a customize in the script.
I'll see how I can modify it...[/QUOTE]

On the Skribblerz once I posted a complicated method with variables.
It is complicated, but there is an advantage of that: the slot collision is restored if Lara is not pushing/pulling a pushblock, so if that pickable item or another pickable item of that slot is on the ground, then you can use their collision for motorbike/jeep.
(Besides, she cannot pick up an item with 0 collision pointer, so if we don't restore that.)

I'll quote that setup, because Skribblerz.com is just offline:

[QUOTE]
[I]The name of the field:
Pointer for Collision Procedure (Long)[/I]

GlobalTrigger= 1, IGNORE, GT_CONDITION_GROUP, IGNORE, 1, 2, 3
TriggerGroup= 1, C30 (“if Lara is performing Animation120”, i.e. when she is “ready to push/pull”), C5 (with TGROUP_OR flag, “if Lara is pushing/pulling a block”)
TriggerGroup= 2, (the basic formula, forcing Value 0 into the field)
TriggerGroup= 3, * formula

*:
Trigger1. An F292 to define the actual subject of Slot Memory Zone.
Trigger2. An F263 to put a value between 1 and 65535 into Current Value variable.
Trigger3. An F263 to put a value between 1 and 65535 into the originally used variable.
Trigger4. An F288 to multiply the values of the two variables by each other.
Trigger5. An F294 to force Current Value value into the chosen field.

Let’s see an example to understand – when the “obstacle” is a big medipack:
First of all, some theory: 4549520 is the value of this field (the so-called “collision pointer”) in the case of big medipacks. If you force 0 in this field then the medipack will loose its collision, so Lara will be able to push/pull the pushable object over it. (Note that the “usual” triggers to remove the collision are useless sometimes. Probably the case of pickable items is a problematic case like that.) Naturally our purpose is to restore the collision of the medipack (i.e. to restore the collision pointer 4549520) when Lara has finished pushing/pulling, so she can pick up the medipack if the pushable object isn’t just on it. (Because she can’t pick it up without collision.)
So the GlobalTrigger will study if Lara is ready to push/pull or pushing/pulling (TriggerGroup1). If she is then the GlobalTrigger will force 0 in the field (TriggerGroup2). But if she is not then the GlobalTrigger will force 4549520 in the field (TriggerGroup3). (Yes, the “ready” part is necessary or else Lara can’t be able to start pushing/pulling now.)
TriggerGroup2 defines the big medipack as the subject of Slot Memory Zone (F292), then forces 0 into a Long variable (F232), then forces that 0 of that variable into “Pointer for Collision Procedure (Long)” field (F294).
The biggest number at a PARAM_BIG_NUMBERS ID is 65535. So we must split the collision pointer into a multiplication of two another numbers. For example: 4549520=10734240. You will place both 1073 and 4240 at a big number ID in the Script.
So TriggerGroup3 defines the big medipack as the subject of Slot Memory Zone (F292), then forces 4240 into Current Value variable (F263), then forces force 1073 into the same Long variable as above (F263). Then it multiplies 4240 and 1073 by each other (F288) to get 4549520 as the new value of Current Value. Then it forces Value 4549520 of Current Value into “Pointer for Collision Procedure (Long)” field (F294).[/QUOTE]

Paolone 16-08-13 15:05

[QUOTE=AkyV;6881315]On the Skribblerz once I posted a complicated method with variables.
It is complicated, but there is an advantage of that: the slot collision is restored if Lara is not pushing/pulling a pushblock, so if that pickable item or another pickable item of that slot is on the ground, then you can use their collision for motorbike/jeep.
(Besides, she cannot pick up an item with 0 collision pointer, so if we don't restore that.)

I'll quote that setup, because Skribblerz.com is just offline:[/QUOTE]

You are very able with scripting, my compliments. :tmb:

Anyway I'll try to use a method that works in traspanrent way, since disable and enably newly the collision is boring.

I'll add something in the script to signal the pickups let moved over the pushable objects.

AkyV 16-08-13 15:15

Thanks.
And please also try something with flames, because, as I said, they are also problematic. (Even if the flame is just not burning!)

AkyV 20-08-13 20:16

[B]1227 l test[/B]

My only revelations about boats (pickups seem OK), having automatic fuel management:

- What if I have more boats in a level? I mean, Local Long Delta and CUST_BAR is able to handle the actual/maximum fuel only for one boat, right? Can I restore those values for a previous boat? Is CUST_BAR able to handle a bar of another boat? Is there possible to force a given fuel with a usual variable trigger or with F366 in Local Long Delta only for a given boat?
- If I hit arrows to turn the boat rightwards/lefwards, but the boat is not moving forwards/backwards, then that also should use the fuel, right? But your setup won't do that.
- If I just hit sprint button to move the boat faster and the fuel is just running out then the boat won't stop till I release sprint. (There is no problem in non-sprinted mode.)
- If I want to move the boats forwards with CTRL when it is anchored then the engine works, the water bubbles, the fuel decreases. This is okay so far but if the fuel runs out and I will/will not release CTRL then the engine works/the water bubbles after that for a not really short while, but it should stop suddenly or should work only for a really short while. (I don't see similar problem when the anchored boat wants to move backwards with ALT.)

EDIT:
Should the fuel not be decreased faster in sprinted mode? Not 1 fuel unit/1 frame but eg. 2 fuel units/1 frame?

AkyV 25-08-13 11:19

[B] 1227 m2 test[/B]

[QUOTE]- Fixed bug: In mirror effect the error parse gave as error the IGNORE used as animating index [/QUOTE]

This makes another bug come to my mind:
In Elevator Script command I need to put at least one item in Frame items array (so I can't type IGNORE not to move any item) or else the game will crash when the elevator just starts.

[QUOTE]- Fixed bug about Binoculars and Inventory screens.
In previous version there was a mixed screen when from binoculars screen, with escape key, you came back to the game. The inventory screen was displayed with yet in background the image of binocular mask or image. This problem happened with or less the customization of bincoulars[/QUOTE]

I've never had this bug but I've reported a similar one:
Hitting ESC, the binoculars image had been removed but the binoculars camera angle had not. - I had to hit another ESC to remove that.
However, it seems you "accidentally" also fixed that bug now.

Paolone 25-08-13 19:09

[QUOTE=AkyV;6885517][B]1227 l test[/B]

My only revelations about boats (pickups seem OK), having automatic fuel management:

- What if I have more boats in a level? I mean, Local Long Delta and CUST_BAR is able to handle the actual/maximum fuel only for one boat, right? Can I restore those values for a previous boat? Is CUST_BAR able to handle a bar of another boat? Is there possible to force a given fuel with a usual variable trigger or with F366 in Local Long Delta only for a given boat?
[/quote]
Theorically you can use only one boat with automatic fuel manatement but you can have more than one boat in the level, of course.
Probably it's possible around this limitation, using variables and more specifically the code memory variable "Index of current vehicle or -1 if lara's not using a vehicle (Short)" to move the current fuel o a given boat in another variable, and swap the fuel for another boat when lara is going on it.
[quote]
- If I hit arrows to turn the boat rightwards/lefwards, but the boat is not moving forwards/backwards, then that also should use the fuel, right? But your setup won't do that.
[/quote]
I had same doubt: it's weird that the engine sound worked and the boat turn left/right also omitting the CTRL (action) key.
I had linked the fuel usage with Action key, anyway I could reduce fuel also for left/right turning.
[quote]
- If I just hit sprint button to move the boat faster and the fuel is just running out then the boat won't stop till I release sprint. (There is no problem in non-sprinted mode.)
[/quote]
I've not checked with sprint mode. I'll try to fix it.
[quote]
- If I want to move the boats forwards with CTRL when it is anchored then the engine works, the water bubbles, the fuel decreases. This is okay so far but if the fuel runs out and I will/will not release CTRL then the engine works/the water bubbles after that for a not really short while, but it should stop suddenly or should work only for a really short while. (I don't see similar problem when the anchored boat wants to move backwards with ALT.)
[/quote]
I'm not sure to have understood very well this problem, anyway I'll do a test to understand better.

[quote]
Should the fuel not be decreased faster in sprinted mode? Not 1 fuel unit/1 frame but eg. 2 fuel units/1 frame?[/QUOTE]

It's a good idea.
Really I had fully forgotten to test or evaluate sprint mode.


All times are GMT. The time now is 02:48.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, vBulletin Solutions Inc.
Tomb Raider Forums is not owned or operated by CDE Entertainment Ltd.
Lara Croft and Tomb Raider are trademarks of CDE Entertainment Ltd.