1
SCI Syntax Help / Re: solitary vaules in QfGIV changeStage switch statement
« on: Today at 09:54:09 AM »
That's a nice find. And switchto was a late addition to the SCI language, so it makes sense.
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
I'm more curious what the original source code looked like that ended up compiling to that. Do any of the games that have had the original code released (there are a few I think, like maybe one of the LSLs?) have logic like that?Probably used those long defines that Companion doesn't support. Sometimes Sierra had two versions of such defines which were subtly different. Maybe mistaking one for the other?
(LoadMany
rsVIEW
805
792
764
763
230
231
232
233
234
235
236
237
238
(if (== gDay 2)
214
218
16
4
5
7
585
)
(switch gDisguiseNum
(0 ; outlaw
0
1
2
)
(1 ; beggar
36
37
38
)
(2 ; jewler (no rouge)
29
30
31
)
(3 ; jewler (rouge)
29
30
31
)
(4 ; yeoman
33
34
35
)
(5 ; abbey monk
23
24
27
)
(6 ; fens monk
16
17
18
)
)
)
Someone who knows the PMachine knows that that won't work.
(method (changeState newState &tmp temp0)
(switch (= state newState)
(0
(HandsOff)
(if (not (IsFlag 129))
(NormalEgo)
)
(switch register
(1
(cond
((== local0 220)
(cond
(21
36
37
38
50
56
67
75
98
99
103
115
119
135
167
(if
(and
(> (gEgo x:) 35)
(< (gEgo x:) 150)
)
(= global104 155)
)
)
(
(and
(> (gEgo x:) 170)
(< (gEgo x:) 285)
)
(= global104 165)
)
)
)
This should most likely have been (if (OneOf gForestRoom blah) blah) because there are numerous of those in the script. Typo, cut/paste error, or intern.
(gCurRoom setInset: inDial)with(Animate gCast 0)
(gCurRoom setInset: inDial)(maybe change the 0 to 1 here if that doesn't work)Could it be certain versions of makevols.exe only work with SCI0 resources?I don't think so. After all, makevols is agnostic of the types of resources that the interpreter uses. As we've seen, the programmer specifies that in resource.txt. On the other hand, the interpreter might well barf at the resulting files (because SCI0 and SCI01 are different in that respect). How did the conversion to SCI01 go?
Regards,
makevols LL3%1 -F..\floppy.src -st >> ..\%1.err
The idea was that you would specify either 360 or 720 on the command line and MAKEVOLS would execute either section LL3360 or LL3720 (MAKEVOLS is not case sensitive, as I have just confirmed by inspection of resource.txt). I don't know what MAKEVOLS does in the absence of that first argument, but selecting the first one would be a good guess. And if that is your setpaths section, that would lead to an empty output file (and hence a divide-by-zero exception).
SMF 2.0.19 |
SMF © 2021, Simple Machines
Simple Audio Video Embedder
Page created in 0.044 seconds with 19 queries.