Username:
B
I
U
S
"
url
img
#
code
sup
sub
font
size
color
smiley
embarassed
thumbsup
happy
Huh?
Angry
Roll Eyes
Undecided
Lips Sealed
Kiss
Cry
Grin
Wink
Tongue
Shocked
Cheesy
Smiley
Sad
12 ->
--
--
List results:
Search options:
Use \ before commas in usernames
wfhdvjknjgbiokan jeoiqfhvds
Now, a couple of weeks ago, I was curious to see if anybody ever did a speedrun of Jack in the Dark(Which is a strange shareware game advertising Alone in the Dark II). And, to my surprise, it was the case, a certain Neguuy had runned the game on [url]speedrun.com[/url]. I knew I could do better, so I tried, and I did. The problem is, I'm now obsessed with improving my run!

My thoughts on things that could greatly improve the run:

-Finding a reliable way of running/walking fast;
-Reducing the amount of perspective changes;
-Finding the optimal spot to put the vanity kit;
-Possibly skipping some animations?
-Maybe finding some collision glitches like in the first AITD?

Here is my route:

-Picking up the dime, then the lamp
-Going back to the candy machine and use the dime(Maybe picking up the lamp first would allow me to save time?)
-Running to the evil puppet and emptying the lamp on it
-Running to the chest and getting the drums(Since Searching is the first option on the action menu, I can just spam Enter)
-Using the drum, and starting to run while the toys get in the chest
-Going to the storeroom as soon as the last toy touches the chest
-Picking up the mirror and the vanity kit, then putting the mirror in front of the toys(Making sure I can go behind the toys from the right, thus avoiding the teddy bear)
-Picking up the candy cane, running back to Jack, using the candy cane then the mirror on him.

I believe this to be the best route possible.
Please give me some feedback!
Oh yeah, my run is available at https://www.speedrun.com/aitd2/run/yw4g869z(If I'm not giving the YouTube link, it's because this one has a bilingual description). I start counting as soon as I take control of Grace, and I stop as soon as Jack is completely hidden in his box.
Thread title:  
If you're serious about it and want to do an SDA submission of it, I could try to help you. I've been working on AitD for a long time now and I'm almost done with copying my notes into the guide. The thing is, I don't really want to get distracted. Would you like to first take a look at the guide? That's what it's for. I know most of the stuff in there doesn't necessarily apply to JitD at all, or single-segment (SS) runs...

In any case, I'm sure you'll be so kind as to post any notes about JitD in the same guide, under the given headline. I can later clean them up since a lot of stuff might work the same as in AitD, though we know that the Aitd2 engine did patch a few things, esp. sideways clipping, and it's likely (but not confirmed) those things were already patched for JitD.

In any case, I'll try to find the time to watch your run at some point in case I can point out obvious improvements.
Edit history:
Le mouton vert: 2020-01-23 04:06:22 pm
Le mouton vert: 2020-01-23 03:55:37 pm
Le mouton vert: 2020-01-23 03:51:37 pm
wfhdvjknjgbiokan jeoiqfhvds
Hi, thank you very much!
Just for a small update, it seems that a stronger CPU(I used 24 000 cycles on DosBox) seems to perform better at detecting running. I'm not sure why, since it was the opposite for the 3 AITDs, but it's not to forget that developpers had changed a lot, from just after AITD1 to soon before JITD. So I presume the running system was changed, then changed back for AITD2.
EDIT:
I don't know why, but I forgot to point out that finding an improvement to running, I had performed an improved run. I'm daft.
Anyways, the link: https://www.speedrun.com/aitd2/run/y81pl0dz
Edit history:
LotBlind: 2020-01-24 06:21:57 am
Don't hesitate to make any and all notes about the game in the Guide. It doesn't have to be as systematic as my notes but it's always a good start.

Hmm... Using settings that differ from the GOG/Steam defaults (even if you didn't get the game off those sites) is a problem for any SDA runs, and in general, because we need a level playing ground for competition and it's difficult to define otherwise. In a few cases, I think we've allowed MAX settings when the only effect was loading times (which are removed from timing anyway) but that's clearly not the case here.

Also if you wanted to ever submit on SDA (?), you can't have the timer on top of the game video. It has to be on the side or removed.

You're talking about running? It doesn't look like she's running. Your movement looks okay but could be even better when the run is so short. Like sometimes you run into things. I don't know if corner clipping works in JitD but especially if it doesn't, getting caught on corners isn't good.

There aren't actually a lot of SS tricks that aren't present in the latest AitD run by NHG. You could try timing some actions on top of each other: for example what if you go to the inventory right before some cutscene has started? In some cases you could eliminate the time spent waiting for Grace to get to move again, or at least get her to do something else useful while you wait.

Jesus, the contrast between the atmosphere AitD and JitD is pretty ridiculous. XD
wfhdvjknjgbiokan jeoiqfhvds
Thanks for your advice, I will put the timer on to the side and try and see how I can make the run more efficient. The main problem with JitD is probably it uses technology different from all other AITDs. I also have no idea of the GOG standard emulation speed, since I got the game alongside with other shareware on a CD-ROM.
Oh, by the way, it turns out that the chest's bounding box is slightly larger than the end of the counter. Probably some useless information, but who knows?
The only cutscene in the game is when that demonic puppet starts attacking. I've tried as hard as possible, but I couldn't find anything exploitable(It's better that I take the drums after, since the other toys will start going towards me netherless I have it before or not).
Apart from that, since the game is so tiny, I can't really think of a lot of places where clipping would be of use. Potentially getting through the counter or the wall that separates the front of the shop from the storage room, but Jack will only be destroyed if all ennemies have been defeated and this includes the two dolls being busy playing with the vanity kit. Perhaps this can be gotten around of.
I'm including a screenshot of the AITD room viewer. Probably of no use.
Finally, I've started adding to the guide. Beware, reading it will make your eyes bleed!

Attachment:
Okay, very good that you're using the Room Viewer. I think you've taken a fairly serious attitude towards this. That will make the submission easy to verify. It really doesn't seem there's anywhere to usefully clip into even if you could do it.

I opened the game and took a brief look. Firstly, the emulator speed is given as the same as AitD: 11.000 cycles. Sorry! It seems delay turns are available. Read the part about the lamp turn: you'll find that at least the broom and the lamp behave similarly in JitD so you could probably make some rotations faster that way while having such items in hand. The pick-up turn doesn't seem to work.

Aside from that is there any camera transitions that are possible to avoid?

Looks like you miss the first time trying to empty the lamp? Probably shouldn't miss that.

Note that if an event is based on a trigger, it doesn't matter which way you're facing: you can insert the coin even while facing a different direction at least. Does it help to search the chest early and switching to the drum while moving around so you can get the slow toys moving sooner?

Maybe you can leave the chest trigger a little bit earlier than you did in the run you posted.

Would it be even better to drop the vanity kit somewhere more towards the S or N? It looks like that might leave a more direct path to and from the candy.

If I had to guess, you can't get around any of the requirements you listed, because the code for that stuff is probably very simple.

The guide: you're doing well but you might want to avoid adding anything other than the facts in. Any jokes will just get old. I avoid referring to myself as much as possible.
wfhdvjknjgbiokan jeoiqfhvds
Thank you really much for the lamp turn and snap trick! I apologize for the three months of inactivity. Hopefully now, with the covid-19, I'm gonna be free.

Earlier this week, when I finally was able to get back to JitD, I tried a lot of stuff. I saved/loaded for nearly every frames of the cutscenes. It yielded nothing. I think the problem with this game is it's too small for it to be a chance of having some complicated highly useful magic(What you mighty speedrunners call a "glitch") happening, unlike the three AitD.

For camera transitions, it's probably possible to have less. Since the room viewer gives us access to all the camera triggers, it would be perfectly doable. Speaking of the room viewer, how did Tigrou manage to translate the LIFE data to a human-readable form? It's probably an exageration, but still, we might find out something interesting. Would somebody still have his utility lying around?

Experimenting a little bit showed me that any object that can be held by the protagonist can be used for a turn/snap. This is incredibly useful!

Here are the places where I suppose it could be of usefulness, I still have testing to do and of course there might be more:
- Right at the start, using it while turning around allows for turning faster behind the counter.
- It can easily be used while playing drum to get around the chest.
- The mirror can probably be used to reach Jack, but since there is a short animation of Grace looking at herself when used, it might not be faster.

I believe the toys will move no matter if the player has the drum or not, so there's no way of accelerating the thing by getting the drum earlier. What would help would be to know when exactly the worm stops focusing on the player to get into the box(Knew I'd find a point to read these LIFEs!).

Another thing is the distance you can be from the puppet to empty the lamp on her. I have no idea how that's controlled.

Finally, I've tried to program a little utility to tweak the player's position to try out various things, but I am having trouble with finding the correct data. For some reason, it's just not able to find this pattern of bytes which yet does exist in DB's RAM:

136, 9, // X, 2440 in 16-bit
0, 0, // Y
0xFF, 0xFF, // Z, 0xFF is a wildcard since it's always slightly different
0, 0, // No idea what this is
15, 1 // Angle, 127

Anyway, at the worst, I can still just enter the correct spot at runtime using the Cheat Engine to find it.


I can't believe I'm getting this serious about speedrunning this nonsense...
Yeah, the cutscenes could well be programmed in a very robust way. Most of the stuff in the guide applies to things like doors and room and floor transitions, specific scripts etc. and as such doesn't apply to the other games necessarily.

The problem is, the LISTLIFE etc. game files were only possible to read because there exists a version of the first game that was accidentally left in debug (non-encrypted) mode when it was shipped. The same stuff cannot in any simple way be done for the other games. For such reasons, the RV is also much more limited when used with the other games.

The worm: can't you just experiment and look for a visual cue? It almost certainly goes into a new ANIM on that frame.

The distance from the puppet: these games (at least the first one) use a primitive system of summing up the differences in X [Y] and Z coordinates to give the distance between two actors. That means that if you need to be close to the point [0, 0], being at [100, 0] and [50, 50] is the same thing even though the absolute distance is shorter in the second case. I don't know how that could help you with the puppet though.

In case I didn't mention this yet, any trigger (not collision) -based checks never look at the direction you're facing, so you can face whatever direction when inserting the coin and showing the mirror (I guess).

If you do a thorough job of this game now, I don't necessarily have to later. That's my philosophy: I don't want anyone to feel they want to improve on the segmented run when I'm done with it, instead they should go to another game in the series. One day, I would like to do AitD 2 and 3 myself but no guarantees how many years that will take.

I'll point out to tigrou that this thread exists.
There's another thing I realized a little while ago: when the game resumes after you've been to the menu or inventory, it unpacks the current view again. You could test to see how long this tends to take in JitD (in AitD it's generally between 2–8 frames for unpacking the same view again, and between 4-20 frames to unpack a new one). If you time doing something in the inventory so that when you come back, the lag snap causes you to move directly into the next camera view, this skips that loading time. Since you can't even see where exactly the camera triggers are, this isn't something that would be required for an SDA submission. Up to you, depends on how difficult the run already is. On the other hand, you don't really lose time if you miss the timing.

In general, inventory visits that cause your BODY to change might cause a snapback (?). If so, you lose less time to it if you time it so you've just started a new keyframe. This is tied to when the game plays a footstep sound or other sound sample, so you can use those as a sound cue.
Edit history:
Le mouton vert: 2020-04-10 01:32:29 pm
Le mouton vert: 2020-04-10 01:18:51 pm
wfhdvjknjgbiokan jeoiqfhvds
Thank you very much for all this information. The problem with running this game really is it's just hard to control.
For the distance, I suppose they use Manhattan distance. I'll probably experiment a little in order to see what's the range.
I knew the a version of AITD was released on debug mode, but I didn't know what points exactly were different. Oh well, too bad...

I also extracted the language files, which turn out to contain pretty... interesting stuff. You can see they just copied the AITD language text files, because you've got the copy protection messages and other such things in there. But I also found two messages that I never saw in-game, "C'est trop lourd"(It's too heavy) and, most strangely "C'est trop TAAAAAAARD..."(It's too LAAAAAAATE...).

The "too heavy" one could just have been used in AITD, but the second one is on a section that has been made for additionnal messages(I mean, messages that weren't existing in AITD). So it's clearly intended for JITD, but when does this message even triggers? Was it just a cut feature?

It's probably the least important thing in the world, but, just to make sure, I downloaded the english version(I assume it's still shareware, I got it from a site in partnership with GoG which redirects you to it for any non-free game and at the worst, I'll happilly pay them their eight bucks).
And sure enough, it was also present in the english version. And the spanish version. And the italian version... So if the devs bothered translating it, it's probably because it's actually present in game somehow. Anyways, not important, just wanted to quickly point that out.


EDIT:
Wait, I can do a turn/snap without holding anything! And I don't have to stop running or anything!
It sounds like you know more about coding than I do (= you know something about it). When tigrou finds the time, he said he'll take a look at this thread and maybe he'll answer any more technical questions. I didn't know it was called Manhattan distance but that's what it is.

The "too heavy" message is indeed used in AitD, the other one isn't.

Right, so those "lamp" turns/snaps work whenever there is no other SPACE action. I should have realized that since this game has no actions like AitD does, you really don't have to hold any buttons at all. Is SPACE used for anything at all? Smiley It could all be vestigial code that causes this behaviour then.

I called it the "lamp turn" to differentiate between it from other kinds of delay turns like when picking something up. I wonder if there's a better name for it then. It's difficult and sometimes unnecessary from a pure speedrunning point of view to name all the tricks in the way that makes the most sense from a game-internal point of view. I mean it's all tied to Timer 2. If you have suggestions...
Edit history:
tigrou: 2020-04-12 03:32:47 pm
tigrou: 2020-04-12 06:50:59 am
tigrou: 2020-04-12 05:47:21 am
tigrou: 2020-04-12 05:47:00 am
tigrou: 2020-04-12 05:46:32 am
tigrou: 2020-04-12 05:46:16 am
tigrou: 2020-04-11 05:27:04 pm
tigrou: 2020-04-11 05:18:27 pm
Quote:
how did Tigrou manage to translate the LIFE data to a human-readable form?


In those LIFE files, what you have is byte code which are instructions. For example : 0x00 = DO_MOVE, 0x04 = IF_EGAL, ...
It was fairly easy to wrote a decompiler because a project named FITD (Free In the Dark) exists.
It's a free re-implementation of AITD, very close to the original. It's not by me, quite old (2004) and no more maintained.

What is used to decompile AITD1 scripts is LifeDISA
Unfortunately this is not compatible with JITD (don't even try to run it).
One main reason is between AITD1 and JITD devs have added a few new instructions. They also probably have changed the number of parameters of already existing ones as well.
Because of what I explained above making LifeDISA compatible with JITD is not trivial.
wfhdvjknjgbiokan jeoiqfhvds
OOOH! I'M SUCH A MORON! I knew about FitD but I believed it just didn't exist anymore and the devs had completely abandoned the project because it was so buggy. I never thought about the thing since what feels like a century, never thought it would still be findeable, and never thought reading the source of it! During two years, I sat stumbled in front of my computer, asking myself: "By what wizardry has Tigrou managed to understand the room and model formats?"
A decade of C didn't teach me to think more about solutions, it just learned me I'm a... um... sausage? Is this how you say it in english?

Strangely enough, the X coordinate warps twice when I enter the back of the shop... What I mean is it's separated in another room, but going too far(Against the boxes) switches the coordinates again. My intent was to "teleport" myself up to that point to see if it was possible to win the game without getting rid of any monsters but the puppets garding Santa, but I realised it was another room quick enough. But why is there a third split near the boxes? This doesn't make sense!

For now, I'm going to time Grace's speed and check her collision so I can produce an estimate of the best time possible for this run. Updating this post soon.
UPDATE #1: I'm having trouble finding the fastest speed for the picking up prompt. Updating this soon - again!
Edit history:
LotBlind: 2020-04-12 02:16:50 pm
A sausage? Hmm... a fool?

Why can't the back room actually be a separate room? Tigrou just made this picture to clarify for me how all the rooms are laid out around the origin, but they also each have their own 3D world coordinate so the game knows how to do collision checks properly between actors in different rooms. I thought maybe the game was small enough so everything fits into memory at once and it only has one room, but that's just a guess. Your local/room coordinates are supposed to "teleport" if there is a second room.

If you want to get through the puppets, you could try collision clipping. It's one of the last methods I found after tigrou explained that the game only stores up to three actors that some actor is colliding with. There might be low slots freed up when you e.g. pick up the coin and defeat the marionette. If you're unlucky, the puppets are in lower slots than any actor you can get rid of. I wonder if it's possible to find out what slots the actors are in? When they get deleted, their ETAGE and ROOM (and some other stuff) are set to -1. All items held in the hand go to slot 49. This is all assuming JitD works the same. There's more in the guide under "actors".

BTW: We're only communicating in a private thread with tigrou because I thought it would be nice to keep things under wraps until the run is finished, not because we want to exclude people. Almost everything that's in the thread is in the guide already, and only applies to AitD.
Edit history:
tigrou: 2020-04-14 03:06:40 am
tigrou: 2020-04-14 02:58:39 am
JITD in RV : I didn't know it works as this is something I never tested. Models cannot be loaded thought.
I took a look and it seems devs have changed format over AITD1-3 : bones can now be rotated and translated at same time (which result in better animations?). I am not even sure why they bothered doing this. I have modified RV to be compatible with JITD models. I know this as zero utility for speedrun but could be useful for other reasons (eg : looking for unused models).
If unused models or anything non-speedrun-relevant comes up, do put it on The Cutting Room Floor. Ha! I never thought about this before, but there's also things in AitD 1 that belong there... I'll add that to the todo list. Obviously the regular wiki is also a thing. I'll send them stuff as well, if not edit it in myself.
Edit history:
Le mouton vert: 2020-04-14 07:12:45 pm
Le mouton vert: 2020-04-14 07:12:17 pm
Le mouton vert: 2020-04-14 06:35:19 pm
Le mouton vert: 2020-04-14 05:49:44 pm
Le mouton vert: 2020-04-14 05:45:25 pm
Le mouton vert: 2020-04-14 05:45:01 pm
Le mouton vert: 2020-04-14 05:44:47 pm
Le mouton vert: 2020-04-14 01:31:30 pm
Le mouton vert: 2020-04-14 01:31:12 pm
Le mouton vert: 2020-04-14 01:30:15 pm
Le mouton vert: 2020-04-14 01:27:05 pm
Le mouton vert: 2020-04-14 01:26:57 pm
Le mouton vert: 2020-04-14 01:26:08 pm
wfhdvjknjgbiokan jeoiqfhvds
Thank you!

LotBlind: Sorry, rereading the part about the backroom, I realised I was not clear at all Undecided ... I edited it to be clearer, I was saying it like it wasn't logical the backshop was another room. I meant it didn't make sense the backshop was split into two rooms.

I'm not sure for collision clipping. AitD2 has a lot more actors used than AitD1, they might have changed the actor collision mechanics, but they might have not bothered doing it, just counting on the fact you generally won't try running into the baddies. Unfortunately, destroying the marionnette is not really an option since that's what triggers the puppets to move...
Before trying to figure that out, I decided to dive into the save file code of FitD, thinking it would be easy to reach the backshop without triggering the puppets by tweaking a save. It's probably not gonna work, judging the fact FitD saves only work with the first AitD.
Anyways, the save code, although containing some pure nonsense, is more than comprehensible. I'm gonna try to mix the data of two saves, in the hope I'll manage to change Grace's actor data and the camera data without corrupting something. Is there any way I can know what actor number she is? Probably zero?

Oh, interesting fact: You can go right through the puppets in FitD, this is probably due to a bad implementation of collision.
And the marionnette awakening does not work and there is no message when trying to empty the oil lamp.


UPDATE: So, turns out Grace is not actor #0(What a surprise!). In the meantime, I'm gonna improve my program, it's dirty.
By the way, it seems the lamp turn/snap allows for faster turns than just normal. Is this just me or is it really something?
The best way of knowing what actor is what is probably by checking their body, which is now doable thanks to the new RV/MV. Unfortunately, I don't have either Java nor Unity, so I'm not really able to compile it...(Ok, there's probably a compiled version somewhere and I'm gonna pass for a fool here) That's no problem, I still can see what model is that of Grace by searching for polygons having colors corresponding to hers. And the job is even easier without the need of extracting the palette, thanks to your P4.PNG file.
Edit history:
tigrou: 2020-04-23 08:10:44 am
tigrou: 2020-04-16 01:31:56 am
tigrou: 2020-04-16 01:30:43 am
tigrou: 2020-04-15 04:52:15 pm
tigrou: 2020-04-15 04:51:59 pm
tigrou: 2020-04-15 01:23:03 pm
tigrou: 2020-04-15 01:22:51 pm
tigrou: 2020-04-15 01:20:02 pm
tigrou: 2020-04-15 01:19:45 pm
tigrou: 2020-04-15 01:02:00 pm
tigrou: 2020-04-15 12:06:39 pm
tigrou: 2020-04-15 11:07:10 am
tigrou: 2020-04-15 10:56:34 am
tigrou: 2020-04-15 10:56:03 am
tigrou: 2020-04-15 10:55:48 am
tigrou: 2020-04-15 10:55:11 am
tigrou: 2020-04-15 10:54:50 am
tigrou: 2020-04-15 10:54:46 am
tigrou: 2020-04-15 10:54:30 am
"Link to DOSBOX" with JITD is now officially supported in RV Tongue
It easier than I thought. Most of the hard work has been done long time ago, when adding support for AITD2/3 (RV was initially made with only AITD1 compatibility in mind)
All needed was to find the player position in game memory using CE and add a new pattern.

Trivia : JITD has only one floor, named ETAGE16. Last floor of AITD2 is ETAGE15. So AITD2 and JITD were probably part of the same project.

EDIT : here are all scripts.
Message "It's too LAAAAAAATE..." is there so it should not be difficult to figure out how to trigger it.
I've decided to rename the lamp turn/snap the "SPACE turn" and "SPACE snap". That way it's more universal. I'll make the change in the guide later. BTW: I chose to use all caps with any inputs in the guide to help disambiguate them.
Edit history:
Le mouton vert: 2020-04-15 05:43:14 pm
Le mouton vert: 2020-04-15 05:25:50 pm
wfhdvjknjgbiokan jeoiqfhvds
@Tigrou Wow! This is great!
I'm glad you added the JitD player data in the RV, because the program for getting and tweaking the player's position was slow. I tried a bunch of things, I even ported the function used in the RV, but it still took ~30 seconds to reach the good spot for some reason. But now, I don't have to worry about it!

From the scripts, it seems the max distance from the puppet is 1200 units when using the lamp. It's interesting they check for the player having the sweets before allowing him to empty the oil lamp, maybe we can exploit this.

The game decrements/increments VAR8 for multiple things. VAR8 must be smaller than 1 for Jack to be destroyed. It seems to be incremented when the dolls are far from the vanity kit, for example. Maybe there's something to exploit on this side, too.

It's also interesting to see using the close action will just output there's nothing to close. I wonder why they put it, probably some cut content. Or maybe they just felt like a single action was not enough.

Oh, for the "too laaaate" message, it happens when the player doesn't show Jack his reflection soon enough, when Jack's eating animation is already done.

EDIT:
Ummm, I think the model animations are not fully supported yet... I'm just saying this because I don't think Santa was meant to dab and plunge his hand in his head while doing so.
Edit history:
tigrou: 2020-04-16 03:13:36 pm
tigrou: 2020-04-16 03:05:06 am
tigrou: 2020-04-16 02:00:35 am
@Le mouton vert
I'm glad too if it helps for the speedrun Smiley

Palette : there is a trick to get palette of any game using DOSBOX : take a screenshot, it will be saved as a PNG file that contains current palette (can be then exported as a separate file using PS or any good image editor).
Checking body/anim : that is how I was able to find player data in memory using CE: I know what body/anim player was using at a given time.
VARS : all scripts vars are stored in a single contiguous table in memory. If you know value of one var at a given time (and how to update it) it's trivial to find that table in CE. Make sure you select "Value type : 2 bytes". It's 4 bytes by default.

model animations : which exact model/anim did you tried ?
MV allows you to bind a model with all animations (which can give you weird results). It's not a bug, there is just no way to figure out if a given animation can be used with a given body.
@Le mouton vert: I suggest making notes in the guide about what the VARs are at least, so no-one has to put in the work to figure out what they do again later. It took me a long time to do for AitD but you have a lot less to chew through.
wfhdvjknjgbiokan jeoiqfhvds
@Tigrou:
Oops, sorry, I got my numbers messed up for some reason... I was watching model 6 with anim 23, I'm pretty sure anim 23 was meant for the little lead soldier on the little horse.

I can't manage to link RV to DosBox! I checked the byte sequence used in the RV, everything is right until the 7th byte, which is always equal to zero in my case and not 0x88.

I was just not sure about the meaning of some elements of the scripts... What is UNKNOWN? Is it a random value? Or a function? The "SWITCH UNKNOWN" statements are confusing me... Also, how do I know which LIFE scripts are that of which actor?
Edit history:
tigrou: 2020-04-17 02:49:04 pm
tigrou: 2020-04-17 10:44:49 am
@Le mouton vert

- cannot link to DOSBOX : it's same issue as in AITD3.
After initial intro, the player does not always end up at exact same position/angle (and so pattern might not match). I have modified pattern to ignore some values and be more tolerant.

- UNKNOWN : those are new script functions I had not clue what they were doing.
After investigation :

* TRIGGER.COLLIDER : it is the trigger ID current actor is touching.

* MATRIX : it has two parameters. First one is which file to read from LISTMAT. You can ignore it since there is only one LISTMAT file and thus it is always 0.
Second parameter is which actor to compare. It is always 6 (which is player).

What matrix does is to compare the trigger ID of current actor (the one which execute the LIFE script) with trigger ID of target actor passed in parameter (6 = player).
Those two IDs (eg : 17 and 25) are the row / column to lookup in LISTMAT file, which is a matrix

I think this is used to do some sort of AI that guide one actor to another.
They virtually hardcoded all possible trigger combinations for two actors.

You can get updated JACK scripts using the link I posted previously.

Quote:
how do I know which LIFE scripts are that of which actor

You have to figure it yourself Grin It's not that hard since in RV, LIFE is shown for each actor.

I have exported OBJECT.ITD for JACK. It contains initial values for all actors.
Look at FOUNDLIFE / LIFE columns.

Note : last time I have created a release for RV. This take me a LOT of time.
It would be much better if you could install Unity and run directly RV project from there. It's really easy.
LotBlind (which AFAIK is not a programmer) do it.

How to :
Quote:
1) Download Unity 5.5.4p3 here and install it.
2) Download RV source from github and extract it somewhere
3) Start Unity and open RV project (choose folder extracted in step 2)
4) Click on play button. That's it !

You can create an executable (if you think it is more convenient) by going to File > "Build settings..."
wfhdvjknjgbiokan jeoiqfhvds
Tigrou: Thank you very much! I'll install Unity, I suppose compiling a release is pretty time-expensive ;D.

I'm writing down the VARs and what they do, now the UNKNOWN instructions are gone, I'll be able to complete it. Well, unless somebody else does it. But I think I'll sacrify myself. Plus this is real fun to do.

BTW, I don't know where I should mention this so I'm doing it here, I'm building an .ITD save file editor. Currently only supports AitD saves, has no graphical output and has a lot of bugs.

EDIT:
Should I refer to the different entities using their names as found in the book? (Rusty, Blondie, Little Thumb, Indrani of Bali, e.t.c)