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 - troflip

Pages: [1] 2 3 ... 101
1
Everything-Else / Re: Superliminal
« on: November 23, 2019, 02:40:07 PM »
Thank you for playing, glad you enjoyed it!

I wonder when I'll be able to get back to Cascadia Quest haha...

2
SCI Syntax Help / Re: Can someone explain Flags to me?
« on: July 13, 2019, 01:08:59 PM »
This was fixed years ago, but the build up there is still old :-(

If someone has the repro cloned (kawa?), can they make a build?

3
SCI Syntax Help / Re: Can someone explain Flags to me?
« on: July 11, 2019, 01:08:57 AM »
Bset looks fine to me, but just doing some simple testing like Charles suggested should narrow down if that is the case, or you have something else going on.

Of note, setting flag 69 should result in a 0400 in the 4th gameFlags array spot instead in the 0th. Kind of suspicious that it's setting the same bit just in the wrong array index.

4
SCI Syntax Help / Re: Can someone explain Flags to me?
« on: July 10, 2019, 09:39:58 PM »
Show us the code that sets fAlleyLightBusted

5
SCI Syntax Help / Re: Can someone explain Flags to me?
« on: July 10, 2019, 08:05:34 PM »
So fAlleyLightBusted corresponds to throw rock? That looks correct.

But your "Nudge bag" is definitely not setting fTrashMoved, if trashed moved is 69. It appears to be setting the 5th one (i.e. 4).

What happens if you do:
Code: [Select]
(FormatPrint "Trash Moved flags: %d" fTrashMoved)

69?  Or 4?

6
SCI Syntax Help / Re: Can someone explain Flags to me?
« on: July 10, 2019, 01:02:37 PM »
  • How many flag enums do you have?
  • How big is your gameFlags array
  • What global variables are listed after gameFlags array in Main.sc?

7
SCI Syntax Help / Re: Can someone explain Flags to me?
« on: July 09, 2019, 10:45:16 PM »
You're sure you're recompiling all files? And you're not relying on a saved game or anything?

8
SCI Syntax Help / Re: Menu Bar Issues
« on: July 08, 2019, 11:28:36 PM »
Because I'm so green at programming, I'm trying to wrap my head around memory population and order.  Do include and use statements get substituted during preprocessing or linking?  Does this even affect the order of memory population, or am I just wrong altogether?  I've started delving a little deeper into coding, but it's still pretty alien to me.  I'm sure I can find these answers somewhere else, if it's a lot.

include's are basically a preprocessing thing.

use's just help the compiler resolve class names or public procedure names. Ideally we probably wouldn't even need them, but I guess they could help resolve duplicate procedure names (public procedure with same name defined in multiple files... but why do that?). I suspect use statements were just a performance thing for Sierra, or maybe they used them because it helped make it clear which script file depended on which others?

But unfortunately, I'm still struggling to figure out where the issue here might lie.  If memory's getting overwritten/corrupted, does the fact that it's only like two or three letters mean that it's just plugging in like 3 bytes where it shouldn't be?  Am I wrong in assuming that that means there's probably something screwed up somewhere else, wherever it's expect that memory to be in line with whatever else it's supposed to be doing?

Yes, that would be a good guess. That's why I suspected it might be the case that the MenuBar script is being unloaded or something.

I think ScummVM uses a checksum thingy to try to figure out which version of SCI it should be running. But I thought there was a way to tell it "this is an SCI0 game from SCI Studio/SCI Companion".

9
SCI Syntax Help / Re: Menu Bar Issues
« on: June 22, 2019, 02:41:56 AM »
bp probably means breakpoint.

Have you tried to get your game running in ScummVM? It has much better error checking - if you're stomping script strings it might spew some warnings or something. And it has a well-documented debugger that (I'm almost sure) has write breakpoints, so it'll break when a particular memory location is written to.

Another thing you could do to narrow down where this happens is make a procedure that prints out the string. Then call that procedure at various times in that script. Like:

Code: [Select]
(procedure (PrintBadMem)
(FormatPrint {%s} {Pause Game`^p:Inventory`^i:--!:Retype`#3:Look At`^l:Read`^r:Recall`^e:Ask About`^a:Tell About`^t:--! :Colors`^c})
)

SCI Companion coalesces identical strings, if this procedure is placed *after* the original reference to the string in the script file, the position in memory of the string should remain unchanged.

Although I kind of suspect the real problem is more complicated. Such as
- Maybe you're force unloading the script (via DisposeLoad in Main.sc?) and still calling code in it?

10
SCI Syntax Help / Re: Menu Bar Issues
« on: June 21, 2019, 05:27:34 PM »
Yeah, you need to nail down what's causing the memory corruption. If you attempt to work around it, it'll probably just show up elsewhere, perhaps in a more difficult to debug spot.

Does the debugger built in to SCI let you set memory write breakpoints? I forget...

At least you should be able to put a bp on TheMenuBar's init method and see if the corruption has already happened there. I dunno know if SCI copies the strings you pass in into some other memory, or just references the originals in script. Shouldn't be too difficult to figure out though.

Are you doing anything "weird" anywhere else?

11
SCI Syntax Help / Re: Menu Bar Issues
« on: June 21, 2019, 04:27:13 PM »
Like we suggested, your syntax is fine. Sounds like something is writing to the memory in that location though.

Did you check if this happens at runtime or compile time?

12
SCI Syntax Help / Re: Menu Bar Issues
« on: June 21, 2019, 03:26:07 PM »
Could be some kind of memory corruption (although the switch from lowercase v to uppercase is suspicious).

What does the string look like in the compiled script resource? (Script->Disassemble)
What happens if you add a character before the v in inventory? Does the corruption shift? Or not?

13
SCI Syntax Help / Re: Music/Playing Note Sticks When Leaving a Room
« on: June 19, 2019, 01:13:36 PM »
I tried messing with some other drivers, as well, but what exactly needs to be done to work with these?  ADL.drv just doesn't give me sound;

The key is that the right tracks need to be enabled for each sound driver in SCI Companion's sound editor (top left of the sound editor).

I feel like this lingering note problem has been discussed and solved before, but my memory fails...

14
SCI Syntax Help / Re: Compiling Sierra Games
« on: June 18, 2019, 11:05:43 AM »
I was able to decompile the KQ6 version off of GoG and then build with only these compile errors, which are all easily fixable.

Code: [Select]
Warning: (rm470.sc) Duplicate case values. Already encountered a case for '34'  Line: 498, col: 4
Error: (takeBoringBookScr.sc) &rest cannot be used if the send target itself contains nested procedure calls or sends. Assign the result of the procedure call or send to a temporary variable and use that instead.  Line: 106, col: 27
Error: (rm430.sc) &rest cannot be used if the send target itself contains nested procedure calls or sends. Assign the result of the procedure call or send to a temporary variable and use that instead.  Line: 65, col: 28
Error: (rm430.sc) &rest cannot be used if the send target itself contains nested procedure calls or sends. Assign the result of the procedure call or send to a temporary variable and use that instead.  Line: 92, col: 28
Error: (rm430.sc) &rest cannot be used if the send target itself contains nested procedure calls or sends. Assign the result of the procedure call or send to a temporary variable and use that instead.  Line: 137, col: 29
Warning: (SwordArrayScript.sc) Duplicate case values. Already encountered a case for '1'  Line: 387, col: 4
Warning: (ArrayScript.sc) Duplicate case values. Already encountered a case for '65522'  Line: 102, col: 4
Warning: (ArrayScript.sc) Duplicate case values. Already encountered a case for '65521'  Line: 106, col: 4
Error: (rm880.sc) &rest cannot be used if the send target itself contains nested procedure calls or sends. Assign the result of the procedure call or send to a temporary variable and use that instead.  Line: 174, col: 33
324 scripts compiled.

... like Kawa mentioned, that of course doesn't mean the decompilation was correct. It may have produced incorrect code that successfully compiles.

I would try Kawa's build of scicompanion.exe to see if you have better luck. The official released version still doesn't have all the fixes ;-). If you're still getting a lot of errors, then there must be something else wrong (maybe an antivirus software interfering with writing files or something).

15
SCI Syntax Help / Re: Compiling Sierra Games
« on: June 17, 2019, 04:58:17 PM »
Looks like something went terribly wrong with the decompilation.

What version of KQ4 is this? It works fine for me with the KQ4 from GOG. This is the only warning I get:

Code: [Select]
Warning: (Room92.sc) Duplicate case values. Already encountered a case for '6'  Line: 368, col: 4

Can you give us an example of what one of the scripts looks like?

Pages: [1] 2 3 ... 101

SMF 2.0.14 | SMF © 2017, Simple Machines
Simple Audio Video Embedder

Page created in 0.117 seconds with 21 queries.