Show Posts

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.


Messages - miracle.flame

Pages: [1] 2 3 ... 6
1
Yey, I've managed to figure out the little end first logic the hard way. Learned something new today. Thank you Kawa.  ;D

2
Oh wow, this actually helped me enough to make it! Though there are some details I can't quite grasp.
For example:
Code: [Select]
instance oBestDressed of HotText
{
scratch         = $0
back            = $fe ; 254, mute
modNum          = $ffff ; -1
noun            = $0
plane           = $0
priority        = $262 ; 610, listenVerb
state           = $0
x               = $de ; 222, scaleBitmap
y               = $12c ; 300, keyIn

There is no 01 2C to to be found for y but there's 00 2C for this particular occurrence. So what would it be if y was $2c?

Both instance oChastity of TextItem and instance voCrossOut of View don't seem to follow the same positioning values as the HotTexts. Even when setting x value to 00 00 the instance is half way through the scorecard so I don't see how can I get the value any lower to shift the text left. Most of the other values on these instances are identical with the HotTexts so I'm getting nowhere when trying to mimic HotText values.

3
Honestly, if recompilation isn't much of an option and all you're trying to do is change some numbers, I'd rather take a hex editor to the damn thing. Disassemblies are harder to read, to be sure, especially when all the decimal numbers are shown as unmarked hex and the comments have red-herring selectors, but SCI Companion's "disassemble" output does include both offsets and the actual bytecode.

Feel free to ignore what follows, I'm just bored and rambly.


Say I made a mistake in my game and though I have source code, I can't compile it for the sake of this example. So I can't just edit this:
Code: [Select]
(iMouth view: 501 loop: 1 nsLeft: 207 nsTop: 35)But it turns out 207 is like a pixel off. Decompiling the script resource that's from, I can find the instance and method this is from and cross-reference it with the .sc file:
Code: [Select]
  00f2:7a               push2
  00f3:78               push1
  00f4:38 01f5          pushi 1f5 // $1f5 isMemberOf
  00f7:39 03            pushi 3 // $3 loop
  00f9:78               push1
  00fa:78               push1
  00fb:39 07            pushi 7 // $7 nsLeft
  00fd:78               push1
  00fe:38 00cf          pushi cf // $cf curPos
  0101:39 06            pushi 6 // $6 nsTop
  0103:78               push1
  0104:39 23            pushi 23 // $23 mark
  0106:72 0120          lofsa $0120 // iMouth
  0109:4a 18             send 18
View 501 would be 0x1F5 (so not isMemberOf), and nsLeft 207 would be 0xCF (not curPos). Ignoring some extra bits involving how a send works, we can see that for each selector, we push its number (note that 2 is somehow not described as view but it is), followed by the number of arguments (because there's little distinction between methods and property setters), and the value we want to set it to. So view: 501 becomes 2 1 501. Continue that train of thought and we know that to move Ilira's mouth one more pixel to the side, we need to find the byte sequence 38 00 CF. The disassembly says it's at offset 0x00FE. Add two to account for the resource file header, open the .scr file in a hex editor, go to 0x0100, and what do we see? 38 CF 00. If your hex editor has a data inspector, you may be able to select the two argument bytes and confirm it's 207. (If your hex editor is set to big endian/motorola byte order it'll say 52992 or -12544 instead.) And if your hex editor is particularly nice, you can just enter the new value right there, in decimal, and save.

You now have a patched script resource.

I appreciate the effort but since I have no idea how to get the scorecard script in this "other" format which I can't even name properly I am out of ideas how to even begin attempts to apply the logic in this case.  :-[

4
SCI Community How To's & Tutorials / LSL7 script compilation to csc patch
« on: September 05, 2025, 03:57:20 PM »
Greetings stars!  :)
Me again after a while, compilation inquiry this time.

Is there a way to get csc patch out of modified oScoreCard.sc?

We need to alter positioning of TextItems including HotTexts slightly to the left so that even longer strings don't get punched through when scoring on the Score card.

By sheer luck I have stumbled upon a thread with various internal tools including Sierra's SC compilers. Tried the latest SC_4.111.EXE for oScoreCard.sc in DosBox but it returned some complaint most probably about the script missing per-requisites as pointed out by Kawa. I have little to no knowledge about SCI scripting but I could play around those x & y coordinates of Instances to see the result in game if someone could help me figure out the compilation for the script - if even possible to achieve the csc patch in the end.  ???

5
Oh wow, you are way ahead already and saved me troubles with compiling that custom ScummVM.

I can explain why you can see the the actual character instead of whitespaces. We have had our localization and fonts adapted for cp1250 but then thanks to the German files we've tried to work with OEM852 instead and now we can see the the same results as you are in ScummVM. And if DosBox is configured to use CZ keyboard we can type all characters normally there.

So we are half way there, now it's just about making ScummVM compatible with CZ keyboard layout which is probably not the same as Polish although they use the same codepage 1250.

6
Sorry for the inconvenience here but I have received another activation e-mail which results in failed activation, asking me to use activation form instead entering an activation code. When I do that it basically throws the same error about invalid address with suggestion to use this same procedure instead. The activation e-mail says the identifier is miracle.flame and not an e-mail address. Might as well forget about this altogether.

Thank you for the extra info for compilation. I won't be here for the weekend so I might respond way later when I get my hands to trying the compilation.

7
Polish is using the same cp1250 as Czech so it should work. What exactly is the snippet in detection tables indicating and how can this be used for our profit?

8
I have realized there is no way for me to get the desired characters in game. Even typing Alt+0233 actually types 0233 and one bonus whitespace as a result of the combo I guess. Typing Alt+0100 types 0100d though.

As for the AW forums, this is how I have it.

9
Changing the game language in ScummVM was the first thing I've checked but it is fixed on English without an option to switch it. If I am comfortable to compile a custom build of ScummVM is a good question. I've never done that, not even tried MSYS2 so going through the docs was not very comfortable for me but I guess it's worth the shot when I have a fit-brain day... which is probably not today  ;D but it will come and I'll let you know how my first attempt went.

I was trying to find a way how to post on the Intro board at the AW forums but couldn't. There are no other functional buttons besides Subscribe, not matter if I switch the forums to French or English language. Also strange is that opening My profile gives me "Sorry, you're not allowed to see this page." while I can actually configure the profile in another section. I am sure I have activated the account via e-mail activation link yesterday. No change today.

10
I was refreshing the page for days until I realized there won't be anything new on page one and I have to switch to page two.

German msg are using OEM850 or something like that to view them properly in Notepad++.
Right Alt plus e gives me (Euro symbol) on Czech KBL but I get the point of using AltGr.
ASCII typing with alt+0233 works but no one is gonna play like that.

So I take it you've typed the character normally like anyone would using the proper KB layout set. The thing is when I do the same, that is I launch the game in ScummVM while having CZ layout set, the game types quite puzzling characters and patterns:
1=+ (the only expected character for CZ layout)
2=2
3=3
4=4
5=5
6=6
7=?
8=Whitespace
9=Whitespace
0=Whitespace

So that's why I was asking how did you manage to type it? CZ characters in fon file have accented e on the same 0233 spot both in CZ and FR.
Seems to be more like a question what KB layout ScummVM thinks it's using?

I would very much like to get introduced to the right party and forum board at Abandonware Forums, I've registered as miracle.flame there. Could you please make the post there and send me the link, Doomlazer?

11
One question though, Doomlazer. How did you manage to type accented e (even these forums struggle with the encoding when trying to type it) in the game? It reacts to switching keyboard layout with alt+shift but the accented characters are not really typed in. There is some space inserted when typing them in but even if I write the word not minding that it doesn't look as expected the word is not recognized even though it is in the list.

12
 :D So it is this easy after all! Clumsy me had the older 13.msg in Patches dir taking priority.

You two realize that Czech localizations of these games wouldn't be what they are without you, don't you?

13
Well I sorta knew it would be too easy. The modified file works well but only verbs with known positions are taken into consideration. Whichever newly added entry is not recognized in game. I'll test the German version if those extra positions can be used with translated verbs.

It would be most helpful to know what exactly controls the usage of 13.msg here.

14
Oh wow. I didn't know opening a single msg patch file in SCIC brings the editing interface to a whole new level. This solves everything! The most natural way to address this whole issue.

15
The German version of lsl7 actually is a great starting point. They got 299 verbs in 13.msg instead of the original 159 so it means this can be done. If only I had an idea which file is responsible for extending the word list script-wise. The are three 1.pat, 3.pat and 4.pat which are patches I suppose but the same are part of the vanilla release. There are no scr files like it was with previous Larry games. They also managed to somehow get all the files in Ressci.000 and Resmap.000 to distribute the localization patch that way. I thought that's not entirely possible with the publicly available tools. Any hints?

Pages: [1] 2 3 ... 6

SMF 2.0.19 | SMF © 2021, Simple Machines
Simple Audio Video Embedder

Page created in 0.031 seconds with 14 queries.