Poll: This project ...
You do not have permission to vote in this poll.
ROCKS!
87.97%
139 87.97%
is so cool, I would make a donation!
8.23%
13 8.23%
is okay.
3.16%
5 3.16%
is a waste of time!
0.63%
1 0.63%
Total 158 vote(s) 100%
* You voted for this item. [Show Results]

What do you think about DXX-Rebirth
(11-11-2017, 09:21 PM)Kp Wrote: On reading the code, Descent 2 supports this as-is, but only if EMULATING_D1 is true.  This is true when reading a D1 mission, and false when reading a D2 mission.  The briefing parser is a mess, but in principle it shouldn't be that hard to modify it so that a D2 mission can use a new directive to use this one D1 feature, while leaving everything else in D2 mode.  With a bit of care, it would probably be possible to have the new directive skip over a nearby movie directive, if you wanted to be able to use a legacy robot-movie when the new feature is not understood.  As I understand your use case, there's no need for that, since your problem is that there are no acceptable movies, so you need access to a game-generated polymodel.  A basic implementation of the new directive would mean that users who run an unaware build would simply get no robot of any kind (but would still get the briefing text).  Would that be sufficient for your use?

Well like I said, since I don't imagine anyone choosing to play this mission on vanilla, I don't think there would even be a need to do this. But if you could get the robot models in Rebirth, then text only for vanilla in DOSBox is certainly better than a crash of the application, amirite?


Quote:Could you link to a sample mission that ought to have one of these new robot briefings?  It would ease my testing of the new directive if I had a briefing that is complete (other than using the new directive).  In particular, having the briefing file already unpacked so I can add the new directive would be convenient.
No briefings at this time, unfortunately. Those will be done in the final phases of this particular mission. Not sure how I could help you here Sad  Couldn't you hypothetically work off some pre-existing mission with a briefing, just throwing in a slide meant for the robot? No existing mission for D2 has briefing slides of this particular type due to the incompatibility, as far as I know.
I'm Xfing from Descent BB.net.

D1,5 in progress. Drop by here to find out more.
Reply
It's not just people using DOSBox to play retail. It's also anyone who uses Retro at all, or any build of Rebirth prior to the new feature. A crash is unlikely, but some ugly contortions are required to avoid printing the new command code as text visible to the user.

Yes, I can use any briefing. I was hoping not to go to the trouble of extracting an existing briefing if you already had one unpacked somewhere.
Reply
Well sorry to disappoint you here, wish I could help. BTW there's one potential feature I'd like to ask you about: D1 secret level functionality. I assume that since all those other features could be implemented into D2 once the codebases are merged, this one could too? I mean secret exit functionality alongside the teleporter functionality.
I'm Xfing from Descent BB.net.

D1,5 in progress. Drop by here to find out more.
Reply
It's OK. I can extract something to use. It's just a bit more trouble.

Sure, secret level functionality is possible; it's just a matter of difficulty and compatibility. If I recall correctly, Descent 1 secret levels are truly separate bonus levels, whereas Descent 2 secret levels are special "mini-levels" that you can enter and leave at will. If so, it's theoretically easier to add D1 style to D2 than the other way around, since the D1 style is just advancing to a different map when you finish, whereas the D2 style involves saving enough state to swap between maps at will. It's still not simple, especially with the non-extensible file formats involved. I'll keep it in mind, but no promises on when or if it gets implemented. I've looked at all the relevant code at times, but I haven't looked at any of it recently, so I might have forgotten any big traps. If there were a substantial showing of community interest, it could move up the list. Bring me a poll showing it to be popular. Wink
Reply
I was of course referring to making the D1 style of separate bonus levels accessible through secret exits possible in D2, not the other way around. D2's secret leves are much more complex. What I meant is it would be nice to have the ability to make D1 style secret levels in D2. That's probably much simpler to implement, seeing as how you basically only need to properly program (or port from D1) the secret exit functionallity. D2 as is doesn't support secret exits as far as I know, only teleporters.
I'm Xfing from Descent BB.net.

D1,5 in progress. Drop by here to find out more.
Reply
I understood you. I was merely commenting on how your request was less complex than the hypothetical other request of enabling D2 style in D1. Smile

D1 style secret exits seem to work fine in D2 as-is, at least in the D1 emulation mode. I just verified by warping to level 10 of Descent: First Strike and using the secret exit near the red door. It took me to secret level 1. Looking through the code, it appears that once again, this is gated on EMULATING_D1, so you can only activate it by using a Descent 1 mission (thereby giving up many Descent 2 features). This could be changed by providing some flag (probably in the mn2 file) that defaults to current rules (D1: separate level; D2: mini-level), but lets the author force D1 style separate levels. It might give confusing results to builds that don't understand the flag, since they would continue to apply D2 rules, but that's a fairly small price to pay.
Reply
Yeah I guess! Well, creating a disclaimer in a mission that says it only works with Rebirth starting from version that and that isn't that much of a hassle really. I think these features would be so exciting that I'd be willing to sacrifice retro compatibility for them.
I'm Xfing from Descent BB.net.

D1,5 in progress. Drop by here to find out more.
Reply
This is now implemented as an experimental extension. Invoke it with $:Rebirth.rotate.robot N, where N is the robot ID you want to show. You can optionally hide this from legacy clients by writing $:$F:Rebirth.rotate.robot. For compatibility with those clients, that form toggles the cursor to hidden, as the legacy client would. Use a second $F on an adjacent line to reverse that effect.
Reply
(11-13-2017, 02:26 AM)Kp Wrote: This is now implemented as an experimental extension.  Invoke it with $:Rebirth.rotate.robot N, where N is the robot ID you want to show.  You can optionally hide this from legacy clients by writing $:$F:Rebirth.rotate.robot.  For compatibility with those clients, that form toggles the cursor to hidden, as the legacy client would.  Use a second $F on an adjacent line to reverse that effect.

You mean in the command line, the ini file or the cfg file? Sorry, I'm not very well-versed in programming Sad
I'm Xfing from Descent BB.net.

D1,5 in progress. Drop by here to find out more.
Reply
None of the above. If you'd provided a reference briefing, I would've posted a modified excerpt of it as a demonstration of the new feature. Wink

Briefings use various $C inserts to trigger special events. F toggles cursor flash. T changes tab stops. R runs old-style robot animations (D1: rotating polymodel; D2: robot movie). Various others exist. Consult the source or a Descent briefing modders' reference for a full list. My extension defines the values quoted above as new tokens, to be used at the same scope as those other briefing tokens.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)