Tomb Raider Forums

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

Paolone 29-12-13 13:51

[QUOTE=AkyV;6969364]You know, what... I'll try to "re-arrange my resources" (freetime...) and do it in a week, for 1.2.2.7! :D
[/quote]

Wow, wonderful, I thank you! :jmp:
I've already completed the updates for last 1.2.2.7 release (the "z", of course) so now I'll wait you completed that work and so finally we'll have the final 1.2.2.7 version. :D

[quote]
Wow, that's cool, so you say I (the common user who perhaps has good TRNG-scripting skills) will be able to turn even variable/memory zone features into common TRNG features?
[/quote]
Sure, and about you I'm super-secure. ;)
[quote]
(In that case, I save some time for both of us, and leave those lists now.)
So eg. you say, when I try this combination:

Adjust (X) object "A" property to (Y)
(where X is Item Memory Zone subject, Y is a value of a variable/memory zone field),

then I will able to turn it into a variable/memory-zone free ACTION trigger:

Adjust (#) object "A" property to (E)
(where # and E are Set Trigger Type window values) - so I don't need to use the "well-known" variables? (I think it is an important thing. I mean, if you say E value must be defined "in the background" eg. in Local Byte Alfa1, that means I "engaged" something that the user maybe also use in his setup, so I may say "if you use "Adjust (#) object "A" property to (E)", then you can't use Local Byte Alfa1". - Or am I wrong?) (I don't need a complex explanation, I bet I will get it later in 1228 readme/tutorial. I am just curious a bit...)
[/quote]
I'll do a tutorial and a trng reference manual, of course.
Anyway as a a little preview I can say this.
Variables (a,b,c ect) are only a little set of memory you can handle, then in your plugin you'll be able to manage unlimited quantity of memory variable with a faster access.
About memory zones it's very alike but in this case the critical zones have the limit of zone used in tomb4 engine. Anyway for sure the inventory, memory, savegame and code variables are only very little part of all critical zones you'll be able to change to get new skills or customizations.

[quote]
Another question:
Theoretically, can these new, user-made features be anything? - I mean:

- new ACTION, FLIPEFFECT, CONDITION triggers
- enhancement of old ACTION, FLIPEFFECT, CONDITION triggers
- new OCB codes
- enhancement of old OCB codes
- new Script commands plus their constants
- technically enhancement (i.e. "how it works") of old Script commands
- new Script constants for old Script commands (including GT globaltrigger conditions)
- enhancement of old Script constants
- new functions for Room Editor
- enhancement of Room Editor old functions
- new functions for NG Center (help txt's, tools etc.)
- enhancement of NG Center old functions
- new functions in other programs (eg. MapConverter2)
- enhancement of other programs
- enhancement of WADMerger-related things (eg. new object slots)
- new programs to support TRNG

Naturally, that is not a nice thing if we just re-edit something that somebody else made (see: "enhancements"), but we won't discuss in this post how it should work. And how all the new features will be connected to each other. And how they won't disturb each other. Later. :D[/QUOTE]

Oh, well this is a very articolare question. :D
It should be too long now explain every details anyway the 1.2.2.8 release will be the first release to support plugin but it will be not the only and unique.
Probably I'll do other release to improve capability of plugin keeping backward compatibiliy.
With first release (1.2.2.8) it will be possible:

- Create new action, flipeffect, triggers
- Adding new code to old above triggers
- Replacing fully code of old triggers
- Adding new script command, although in this case we'll use a little trick. Since it should be complicated manage many new script commands and syntax from many authors of plugins (with conflict issues) the trick will be use the already present script commands Customize= and Parameters= where all plugin's creator will be able to create new CUST_ and PARAM_ constants for their targets.
Since above two commands change their syntax in according with first value (CUST_ or PARAM_) in this way, pratically, you can have new script commands with wished syntax and new constants (also for flags ect).
- About improvements it will be possible, although in first release it will be available only limited part of code. These parts (source code) will be increased in the time. This limitation is given by fact that to use original code of trng in plugin it requires I did some conversion to it before using it as exported code for plugin.
Anyway I'll try to supply from first release a wide quantity of code to modify for improvement.
Then, in the case you no need of original code (to modifiy) but you wish change from scratch, you'll be able to improve all trng features but in this case it will be own a new work rather an improvement.

About limitations, in first release there will be few or nothing chance to change room editor, since the work to allow this multi-access to tomb4 program is very complicated and I concentrated my concentration on that, and before repeating same work on ngle.exe I'll need of other time. So probably in following versions (1.2.2.9 ?) it will be possible also change the ngle.exe program with same plugins method.

About ng_center, threre will be new plugin panel, where level builder will be able to add new plugin, customize it, launching external (optional) program supplied by plugin ect.

Perhaps I've not remembered all, anyway there will be a lot of possibilities. :)

AkyV 31-12-13 13:15

Here is the list:

[url]http://www.mediafire.com/view/ntdc2c9jzax14pp/New_field_names.doc[/url]

----------------
- You should examine F339. I don't think this trigger works so I cannot use conditions for Inventory Memory Zone fields or print them etc. (Moreover, my experience: if you use (some fields of) this trigger and Lara collides with the objects then the game will crash.)
- Probably it's time to start making TRNG Win8-compatible (I can't help with it, I don't have Win8):

[url]http://www.tombraiderforums.com/showpost.php?p=6970530&postcount=1411[/url]

Paolone 01-01-14 14:47

[QUOTE=AkyV;6970594]Here is the list:

[url]http://www.mediafire.com/view/ntdc2c9jzax14pp/New_field_names.doc[/url]
[/quote]

Many thanks, now I can complete 1.2.2.7 finally! ;)

[quote]
- You should examine F339. I don't think this trigger works so I cannot use conditions for Inventory Memory Zone fields or print them etc. (Moreover, my experience: if you use (some fields of) this trigger and Lara collides with the objects then the game will crash.)
[/quote]
Ok I'll check it. Anyway it should be useful to know about what field does happen a crash.
[quote]
- Probably it's time to start making TRNG Win8-compatible (I can't help with it, I don't have Win8):

[url]http://www.tombraiderforums.com/showpost.php?p=6970530&postcount=1411[/url][/QUOTE]
[/quote]
Unfortunately I have not win8, too.
Anyway I'll try to get it.
About those signalations I wonder if they used new emergency setting in setup window.
Because I belive to know the reason of those troubles and they are about the approach has windows8 about some directx functions.
Anyway in that situations should be enough enabling "No waiting for refresh" in emergency setting.
It should be interesting if someone had windows8 tried to play some of those problematic level with 1.2.2.7 realease, enabling that setting.

AkyV 01-01-14 18:40

[QUOTE=Paolone;6971229]
Ok I'll check it. Anyway it should be useful to know about what field does happen a crash.[/QUOTE]

Unfortunately it was an old test, I don't remember the fields...
But I'm sure the whole trigger was useless to export values into variables.

AkyV 03-01-14 21:36

[B]TRNG 1.2.2.7y test[/B]

1. DGX_ANIMATION for Lara has been changed. If I have an Animation command with negative animation ID, then the Diagnostics always print a standard message:
Animation0=no

2. C92
Sorry, I must say it still works only in GlobalTriggers, not detecting HEAVY F118 placed in the map (F118: C92+executable trigger).

3.
WeaponAnim. Current animation of torch-flare animation
Old name hasn’t been changed.

4. TRNG Index. Index of last item to have enabled a trigger
I suppose the description is wrong. I mean, eg. when I activated an ANIMATING (moving forwards by its own animation) to activate a HEAVY a bit later, then the condition became true when the ANIMATING got active, so before the object activated that HEAVY.

5.
„Script Dat. Option Flags (Use bit operations to read or write)"
If title is disabled, then the value is always 0. So maybe does not 4 mean “title”?
Btw you’re right, only 1 and 2 can be forced.
---------------------------------------
Two questions about GT_CREATED_NEW_ITEM:
1. I'd like to use a "dumb" GlobalTrigger, without TriggerGroups, for example:

GlobalTrigger= 1, -1, GT_CREATED_NEW_ITEM, FLARE_ITEM, -1, -1, -1

Why? Because if I got an item like that I want to keep only the item index, I don't want to do anything with the item now.
What I will want to do is this TriggerGroup#5:
$5000+TGROUP_USE_FOUND_ITEM_INDEX, 887, $724
to move the flare continuously up/down. But BEFORE activating that TriggerGroup, the flare Lara just dropped starts jumping continuously.

By the way, the same problem will happen, if I modify the GT:

GlobalTrigger= 1, -1, GT_CREATED_NEW_ITEM, FLARE_ITEM, -1, 5, -1

2. TGROUP_USE_FOUND_ITEM_INDEX could be dangerous, if I want to do something with that flare dropped but some other condition defines some other found index before that, so the trigger with TGROUP_USE_FOUND_ITEM_INDEX will do something else.
So I thought I can use this GlobalTrigger:

GlobalTrigger= 1, -1, GT_CREATED_NEW_ITEM, FLARE_ITEM, -1, -1, -1

And, after that a "set found index as a stored index" trigger could be useful, so I can use a TGROUP_USE_STORED_ITEM_INDEX in the trigger, to use the proper ID.

Paolone 04-01-14 14:23

[QUOTE=AkyV;6972735][B]TRNG 1.2.2.7y test[/B]

1. DGX_ANIMATION for Lara has been changed. If I have an Animation command with negative animation ID, then the Diagnostics always print a standard message:
Animation0=no

2. C92
Sorry, I must say it still works only in GlobalTriggers, not detecting HEAVY F118 placed in the map (F118: C92+executable trigger).

3.
WeaponAnim. Current animation of torch-flare animation
Old name hasn’t been changed.
[/quote]

Ok, thanks, I'll check them.
[quote]
4. TRNG Index. Index of last item to have enabled a trigger
I suppose the description is wrong. I mean, eg. when I activated an ANIMATING (moving forwards by its own animation) to activate a HEAVY a bit later, then the condition became true when the ANIMATING got active, so before the object activated that HEAVY.
[/quote]
That index is the index of moveable that enabled the heavy trigger that called a triggergroup where you check that variable "last item to have enabled heavy trigger". Other usages could not work.

Pratically, this index value should be used immediately because it will change and it will be cleared for each new frame.
How I said in last history, you should use it immediately in the triggergroup enabled own from an heavy trigger to discover what enemy did it.
Anyaway, if you wish use later that index you should copy it in some variable:

; Set Trigger Type - FLIPEFFECT 244
; Exporting: TRIGGER(23888:0) for FLIPEFFECT(244)
; <#> : Variables. Memory. Copy to <&>Numeric Variable the (E)Savegame Memory value
; <&> : Local Short Alfa1
; (E) : TRNG Index. Index of last item to have enabled a trigger (Short)
; Values to add in script command: $2000, 244, $5D50

And then, when you'll use it really, copy the value you had saved (in our example in "local short alfa1"), to the "TRNG Index. Index of last item found with testposition or condition " savegame memory:

; Set Trigger Type - FLIPEFFECT 245
; Exporting: TRIGGER(80:0) for FLIPEFFECT(245)
; <#> : Variables. Memory. Copy from <&>Numeric Variable to (E)Savegame Memory
; <&> : Local Short Alfa1
; (E) : TRNG Index. Index of last item found with testposition or condition (Short)
; Values to add in script command: $2000, 245, $50
5

Now in following triggers of your triggergroup you'll be able to use that index adding the .TGROUP_USE_FOUND_ITEM_INDEX flag to exported trigger.

[quote]
„Script Dat. Option Flags (Use bit operations to read or write)"
If title is disabled, then the value is always 0. So maybe does not 4 mean “title”?
[/quote]
I had said that, in fact. ;)
1 FlyCheat
2 LoadSave
4 Title
8 PlayAnyLevel
128 DemoDisk

If title is enabled, so it is present the value is 4, otherwise it will be 0 (for that bit value)
[quote]
Two questions about GT_CREATED_NEW_ITEM:
1. I'd like to use a "dumb" GlobalTrigger, without TriggerGroups, for example:

GlobalTrigger= 1, -1, GT_CREATED_NEW_ITEM, FLARE_ITEM, -1, -1, -1

Why? Because if I got an item like that I want to keep only the item index, I don't want to do anything with the item now.
What I will want to do is this TriggerGroup#5:
$5000+TGROUP_USE_FOUND_ITEM_INDEX, 887, $724
to move the flare continuously up/down. But BEFORE activating that TriggerGroup, the flare Lara just dropped starts jumping continuously.

By the way, the same problem will happen, if I modify the GT:

GlobalTrigger= 1, -1, GT_CREATED_NEW_ITEM, FLARE_ITEM, -1, 5, -1

2. TGROUP_USE_FOUND_ITEM_INDEX could be dangerous, if I want to do something with that flare dropped but some other condition defines some other found index before that, so the trigger with TGROUP_USE_FOUND_ITEM_INDEX will do something else.
So I thought I can use this GlobalTrigger:
[/quote]
About this question I believe the solution was the same I suggested above: store that index to some variable. And the restore it to "trng index. Last item found..." when you'll wish use it.

AODfan 20-01-14 21:47

[B]1.2.2.7[/B]

FSS_TRANSPARENT seems to render the sprite invisible

raiderromero 20-01-14 22:55

^ i use that flag in my custom sprites and works like a charm ,you need to assign an id color so that it doesnt be invisible in game ;)

AODfan 21-01-14 13:33

^that actually worked thanks!
It used to work without having to assign a colour to it though :confused:

raiderromero 21-01-14 21:34

yes it used to, i had not color id assigned to it before either in 1.2.2.6 but something changed since 1.2.2.7


All times are GMT. The time now is 10:46.

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.