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

Pages: 1 2 [3] 4 5 ... 89
SCI Development Tools / Re: SCI32 Source Code
« on: April 20, 2020, 03:03:30 AM »
I didn't check out wether the SCI16 algorithm is the same as SCI32 algorithm.
It is. Rewritten in C++, so it has things like vector structs with operator overloading, some call styles changed, a few identifiers have been renamed, and the kernel layer (KAvoidPath and such) is in the same file, and it runs on 32-bit systems even though the SCIWord typedef is still 16-bit, but it's effectively the same algo.

An acquaintance on Discord had a go at trying to understand it, so they might explain it to me and I might reimplement it in NewSCI, but then my brain shut off on the topic. I attached their GIFs, which are basically pixel art animated versions of the ASCII art in the SCI source.

SCI Development Tools / Re: SCI32 Source Code
« on: April 18, 2020, 08:39:07 AM »
To be fair I'd have a better time and probably more success implementing 256-color mode (which would involve hacking the crap out of picopng among other things) or scaled sprites, than to implement pathfinding.

I copied SCI11's, it compiled fine but acted up. SCI32's likewise. ScummVM's works fine but makes me feel ethically and morally wrong. It's all on my twitter.

SCI Development Tools / Re: SCI32 Source Code
« on: April 18, 2020, 03:22:28 AM »
I am interested about your SCI-engine. Is your SCI-engine a retro-coding project (MS-DOS and son on) or do you make it for modern machines?
My project is surprisingly not a retrocoding one. It runs in SDL2.

SCI Syntax Help / Re: Adding a room to Quest for Glory 1 (VGA)
« on: April 18, 2020, 03:20:17 AM »
(Print addText: @buffer posn: -1 20 init: caller)

Replace the 20 as you like.

SCI Development Tools / Re: SCI32 Source Code
« on: April 17, 2020, 10:03:28 PM »
I too have tried to compile and run SCI32, though I hadn't tried SQ6 specifically.

As for writing an all-new SCI terp, I actually have one in the works right now, including the thing where it runs Lua game code and uses PNG. I'm just absolutely stumped on pathfinding right now.

SCI Syntax Help / Re: Adding a room to Quest for Glory 1 (VGA)
« on: April 17, 2020, 04:33:25 PM »
Hmm. Okay. So clearly I either misunderstood the Narrator/Talker-level say method, or QFG's is just that different.

Fuck it, let's not be too damn smart.
Code: [Select]
(procedure (Narrate line caller &tmp [buffer 1000])
(GetFarText scriptNumber line @buffer)
(Print addText: @buffer init: caller)

SCI Syntax Help / Re: Adding a room to Quest for Glory 1 (VGA)
« on: April 17, 2020, 09:15:19 AM »
Code: [Select]
(procedure (Narrate line caller &tmp [buffer 1000])
(GetFarText scriptNumber line @buffer)
(gNarrator say: line caller)

(procedure (Say who line caller &tmp talker [buffer 1000])
(GetFarText scriptNumber line @buffer)
(= talker (gMessager findTalker: who))
(talker say: line caller)

(Narrate 2 self) ; have Narrator say line 2 from this script's text resource and call back after.

(Say 99 2 self) ; same, because talker 99 is the Narrator.

Put it in the script for your new room. I won't guarantee this is at all correct, I hacked it together in an external text editor. I included a version that takes a talker # just in case you decide otherwise.

SCI Syntax Help / Re: Adding a room to Quest for Glory 1 (VGA)
« on: April 16, 2020, 06:35:26 PM »
You could use text resources, if you forewent all use of the Messager class.

The Narrator and Talker classes' say method should allow you to pass a string pointer and caller. SQ5 and the template game it's based on have a Messager::sayFormat method that'd let you do something like (gMessager sayFormat: 99 "There's nothing here." self), but QFG1 seems to be missing this. And it wouldn't let you specify a text resource tuple anyway, taking only straight string pointers so you couldn't do (gMessager say: 99 scriptNumber 4 self) and load text line #4 that way anyway.

Doesn't mean you can't write a local procedure to do it yourself in just that room.

SCI Syntax Help / Re: Parser Syntax Problem
« on: April 04, 2020, 04:47:57 AM »
Yes but what are these words, class-wise?

SCI Syntax Help / Re: Parser Syntax Problem
« on: April 01, 2020, 12:35:33 PM »
Congratulations. Your nose is now open.

SCI Syntax Help / Re: Parser Syntax Problem
« on: March 31, 2020, 05:46:46 AM »
NLPDOC.PRN has the following example phrases:
Code: [Select]
"hit the small tree"       'hit/tree<small'

"hit the small green tree with the ax"

"burn it" = "burn tree" after last sentence

That's a very interesting implementation. My hat's off to you.

AGI Syntax Help / Re: DOSBox fails to find smiley faces?
« on: March 02, 2020, 05:24:21 AM »
Having file extensions hidden by default was a bad choice back in Windows 95 and it's still bad now, and that's one hill I'm certainly gonna die on.

SCI Development Tools / Re: SCI01 Template Game
« on: February 28, 2020, 03:15:45 AM »
Insert gif of a happy cheering audience here. I dunno, Colbert's maybe?

(Can someone give few examples of improvements?)
It copies a few things from Phil's own unreleased work, from bugfixes to certain extra features, and then adds some of my own. To quote the readme:
  • "Shrinkwrap cel" command
  • Effectively remove the SCI Studio dialect as an option, as a discouragement.
  • &exists, as in (if (&exists theX) ...) instead of (if (>= argc 1) ...).
  • foreach, as in (foreach val array ...) or (foreach val collection ...) where the collection is anything using the Node kernel and has an elements property.
  • verbs, see below.
  • No nagging when you paste something with the transparency color in it.
  • Better massaging of the Display kernel call in decompilation.
  • &getpoly, so instead of the SCI Companion template game's way to load polygons you can easily get bytecode more like Sierra's, without sacrificing easy editings. See below!
  • Support for a pair of opcodes that replace the Memory peek/poke kernel call. Phil came up with it for his own games, and I stole it for SCI11+.

Unlisted in the readme:
  • Control-click to sample colors in the image editors, instead of constantly swapping.
  • Warning during compilation if an instance seems unused.
  • Built-in true and false keywords instead of defining them in a header.

Verbs and getpoly example:
Code: [Select]
(instance aPuddle of cdFeature
doNotFace true

(method (init)
(super init:)
(self setOnMeCheck: omcPOLYGON (&getpoly "Puddle"))
; (&getpoly "") would be the default one, as in (gRoom addObstacle: (&getpoly "")).

(gMessager say: N_PUDDLE V_LOOK (if (Btest fDayOnePuddleChecked) C_CHECKEDPUDDLE else 0) 1 0 scriptNumber)
(Bset fDayOneHinted)
(if (Btest fDayOnePuddleChecked)
(gMessager say: N_PUDDLE V_LOOK C_CHECKEDPUDDLE 1 0 scriptNumber)
(Bset fDayOnePuddleChecked)
(gRoom setScript: InspectPuddleScript)

Pages: 1 2 [3] 4 5 ... 89

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

Page created in 0.126 seconds with 21 queries.