Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - Create adventure games for the SMS using Twine

Reply to topic Goto page Previous  1, 2, 3, 4  Next
Author Message
  • Joined: 27 Jan 2014
  • Posts: 28
Reply with quote
Post Posted: Sat Jan 10, 2015 7:58 pm
I just wanted to express my happiness that this is still being developed. Though "Have Pity On Me" has stalled out due to my partner-in-crime disappearing from the internet for personal reasons, I'm excited now more than ever to continue work on it once I hear from her again.

I actually polished up what I did have a month or two ago with the last update, adding title music, a proper game over screen and fixing the bug with the necbromancer death. There is one thing I noticed, though: I have a few very minor tile glitches. I'm at work without access to the source right now, but here's the compiled version I have on my Mediafire if that helps anyone.

Download: http://www.mediafire.com/download/1ke4dt7gd3h4hg9/Have_Pity_On_Me_(Prototype).sm...
Have Pity On Me (Prototype).sms.zip (38.32 KB)
Attachment fairy

  View user's profile Send private message
  • Joined: 25 Feb 2006
  • Posts: 863
  • Location: Belo Horizonte, MG, Brazil
Reply with quote
Post Posted: Sun Jan 11, 2015 10:52 am
Zero X. Diamond wrote
I just wanted to express my happiness that this is still being developed. Though "Have Pity On Me" has stalled out due to my partner-in-crime disappearing from the internet for personal reasons, I'm excited now more than ever to continue work on it once I hear from her again.

I actually polished up what I did have a month or two ago with the last update, adding title music, a proper game over screen and fixing the bug with the necbromancer death. There is one thing I noticed, though: I have a few very minor tile glitches. I'm at work without access to the source right now, but here's the compiled version I have on my Mediafire if that helps anyone.

Download: http://www.mediafire.com/download/1ke4dt7gd3h4hg9/Have_Pity_On_Me_(Prototype).sm...


It's a pity that the development of this game stalled. It has a pretty nice art style! ;)
Anyway, the tile glitch may be due to exceeding the maximum tile count; a gotta take a closer look at it later so as to see if that's the actual cause.
  View user's profile Send private message Visit poster's website
  • Joined: 29 Mar 2012
  • Posts: 879
  • Location: Spain
Reply with quote
Post Posted: Sun Jan 11, 2015 2:32 pm
It's a nice demo indeed!
  View user's profile Send private message
  • Joined: 05 Sep 2013
  • Posts: 3762
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Sun Jan 11, 2015 7:54 pm
Did somebody tried it on hardware? I couldn't make it work on my SMS II, both at 50/60Hz :|
  View user's profile Send private message Visit poster's website
  • Joined: 25 Feb 2006
  • Posts: 863
  • Location: Belo Horizonte, MG, Brazil
Reply with quote
Post Posted: Sun Jan 11, 2015 8:43 pm
sverx wrote
Did somebody tried it on hardware? I couldn't make it work on my SMS II, both at 50/60Hz :|


Sorry; I've never had a chance to try it on real hardware. :P

I imagine it shouldn't be too hard to correct the SAM interpreter to work on real hardware, since its only hardware specific parts are the image display, text display and music routines. The problem is that I don't really have a way to test that.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14687
  • Location: London
Reply with quote
Post Posted: Sun Jan 11, 2015 10:35 pm
Running it in an emulator, it seemed to be playing random junk data for music and not turning the screen off when changing images, followed by crashes.
  View user's profile Send private message Visit poster's website
  • Joined: 25 Feb 2006
  • Posts: 863
  • Location: Belo Horizonte, MG, Brazil
Reply with quote
Post Posted: Mon Jan 12, 2015 12:43 am
New update:

  • Modified image display and text printing routines to turn the screen off when starting and then on again when done; this may hopefully be enough to make it run on real hardware;
  • Increased the maximum amount of variables to 128 (it used to be 26); that should allow for more complex games.


You can get the new version from:
https://dl.dropboxusercontent.com/u/1235428/sms/twee2sam-2015-01-11a.rar
  View user's profile Send private message Visit poster's website
  • Joined: 27 May 2012
  • Posts: 30
  • Location: UK
Reply with quote
Post Posted: Tue Jan 13, 2015 11:19 pm
Does that figure include the the identifiers for each Twine passage, or are they counted seperately?

128 will be plenty to keep track of my D&D style stats for a party of adventurers, a short inventory, scoring as well as a mob of a few different kind of monsters encountered at any given point, as long as that doesn't include the variables holding the ID of each section/passage :-)
  View user's profile Send private message Visit poster's website
  • Joined: 25 Feb 2006
  • Posts: 863
  • Location: Belo Horizonte, MG, Brazil
Reply with quote
Post Posted: Tue Jan 13, 2015 11:59 pm
That's 128 global variables in total, including both the variables you declare and the temporary variables used internally by twee2sam; the total amount of temp variables varies depending on how complex the passages are but, overall, it would be uncommon for the system to use more than 8 temp variables. So, you will probably have somewhere around 120 variables available for your use. ;)
  View user's profile Send private message Visit poster's website
  • Joined: 27 May 2012
  • Posts: 30
  • Location: UK
Reply with quote
Post Posted: Wed Jan 14, 2015 9:01 am
Excellent :)
  View user's profile Send private message Visit poster's website
  • Joined: 09 Jan 2012
  • Posts: 67
  • Location: Germany
Reply with quote
Post Posted: Wed Jan 14, 2015 11:17 pm
I am still waiting for the else-macro support which i use extensively.
  View user's profile Send private message Visit poster's website
  • Joined: 25 Feb 2006
  • Posts: 863
  • Location: Belo Horizonte, MG, Brazil
Reply with quote
Post Posted: Thu Jan 15, 2015 2:47 pm
dark wrote
I am still waiting for the else-macro support which i use extensively.


I'll be taking a short break to do yet another small side project; but as soon as that's working, I intend to come back to twee2sam and implement the <<else>> macro.
  View user's profile Send private message Visit poster's website
  • Joined: 27 May 2012
  • Posts: 30
  • Location: UK
Reply with quote
Post Posted: Fri Jan 23, 2015 11:09 am
Me again :-)

Is there any scope to increase the amount of variables to, say, 256, rather than 128?

There are a couple of use cases where I'd like to be able to have a small handful of variables for quite a lot of 'locations'. Things like a 'timer' counter for respawn of enemies, a flag to indicate whether the treasure chest has been opened, number of times the location has been visited (so that Dracula only spawns on the 99th visit, for example).
  View user's profile Send private message Visit poster's website
  • Joined: 25 Feb 2006
  • Posts: 863
  • Location: Belo Horizonte, MG, Brazil
Reply with quote
Post Posted: Fri Jan 23, 2015 2:40 pm
Hello, again. ;)

Megatron-UK wrote

Is there any scope to increase the amount of variables to, say, 256, rather than 128?


Well, currently, SAM's using something around 1.5KB of RAM (if I remember correctly), so there's still somewhere around 6.5KB free.
Just increasing the size of local_vars on SAM_Interpreter.asm should be enough to make the extra variables available.
  View user's profile Send private message Visit poster's website
  • Joined: 27 May 2012
  • Posts: 30
  • Location: UK
Reply with quote
Post Posted: Fri Jan 23, 2015 4:16 pm
Great, I'll take a look at that.
  View user's profile Send private message Visit poster's website
  • Joined: 30 Mar 2009
  • Posts: 282
Reply with quote
Post Posted: Fri May 15, 2015 8:23 pm
I downloaded the lastest twee2sam from this thread, and i encountered a bit of a bug.

The background color of the text portion of the screen, will be same as the first color in the color palette of the loaded image.
Which wouldn't be much problem, because the text itself is always white over black background, but, the cursor is white over whatever is on the background.

If you use a image with white on the first color, it will mask out the cursor.

It took me a while to figure this out, but comparing the images on the examples with my own was enough.

I'm just putting this here, in case anyone else is having the same issue.


Also, this is a really fun software to mess with. :)
Thanks to everyone involved in developing it.
  View user's profile Send private message Visit poster's website
  • Joined: 25 Feb 2006
  • Posts: 863
  • Location: Belo Horizonte, MG, Brazil
Reply with quote
Post Posted: Tue May 19, 2015 10:58 pm
Thanks for your interest in twee2sam. ;)

I've taken the liberty of reporting the issue on the repository, so that I won't forget it. :P
  View user's profile Send private message Visit poster's website
  • Joined: 30 Mar 2009
  • Posts: 282
Reply with quote
Post Posted: Wed May 27, 2015 6:55 pm
No problem, it's not a terminal bug, the workaround is simple, just set the first color in the palette to black. :)

Is there any way to force non-breaking spaces?
I tried using the &nbsp html character, but no luck.

The passage:
Your O2 Level is <<print air_supply >> %


Shows:
Your O2 Level is99%

I have this code upon a passage i am calling with <<call x>> and <<return>> if it matters.

I don't want to use a linebreak or <<pause>> command there.

Thanks.
  View user's profile Send private message Visit poster's website
  • Joined: 25 Feb 2006
  • Posts: 863
  • Location: Belo Horizonte, MG, Brazil
Reply with quote
Post Posted: Wed May 27, 2015 10:19 pm
Yes, that's yet another overlooked detail... :P
I've added the issue to the Github project in order to remember myself to take a look at it.

It doesn't seem to be too difficult to implement: I could modify the compiler so that when it meets a &nbsp; it would output some special character; then I would have modify SAM so that it would treat that character as a blank space for display purposes, but not for word-wrapping purposes.
  View user's profile Send private message Visit poster's website
  • Joined: 25 Feb 2006
  • Posts: 863
  • Location: Belo Horizonte, MG, Brazil
Reply with quote
Post Posted: Thu May 28, 2015 12:10 am
Okay, I've just implemented the &nbsp; command.

https://dl.dropboxusercontent.com/u/1235428/sms/twee2sam-2015-05-27a.rar
  View user's profile Send private message Visit poster's website
  • Joined: 30 Mar 2009
  • Posts: 282
Reply with quote
Post Posted: Thu May 28, 2015 11:48 am
That was quick. :)
Thanks man.

Sorry to bother you with details. Hopefully the final game will be worth it.
  View user's profile Send private message Visit poster's website
  • Joined: 25 Feb 2006
  • Posts: 863
  • Location: Belo Horizonte, MG, Brazil
Reply with quote
Post Posted: Thu May 28, 2015 10:40 pm
No problem. Have fun! ;)
  View user's profile Send private message Visit poster's website
  • Joined: 25 Feb 2006
  • Posts: 863
  • Location: Belo Horizonte, MG, Brazil
Reply with quote
Post Posted: Mon Dec 11, 2017 10:27 pm
It seems the link for the latest version is down. Here's the actual attachment.

I have also created a release on GitHub, just in case:
https://github.com/haroldo-ok/twee2sam/releases/tag/2015-05-27a
twee2sam-2015-05-27a.rar (3.12 MB)
twee2sam-2015-05-27a.rar

  View user's profile Send private message Visit poster's website
  • Joined: 11 Dec 2017
  • Posts: 1
Reply with quote
Post Posted: Tue Dec 12, 2017 12:39 am
Thank you!! :)
  View user's profile Send private message
  • Joined: 25 Feb 2006
  • Posts: 863
  • Location: Belo Horizonte, MG, Brazil
Reply with quote
Post Posted: Tue Dec 12, 2017 1:18 am
You're welcome! ;)
  View user's profile Send private message Visit poster's website
  • Joined: 25 Feb 2006
  • Posts: 863
  • Location: Belo Horizonte, MG, Brazil
Reply with quote
Post Posted: Tue Jul 31, 2018 11:45 pm
Aaand... a pretty late update! :P

This minor update fixes a problem reported by tibone that happens on real hardware and accurate emulators, where the menu cursor would flicker between different characters.

  View user's profile Send private message Visit poster's website
  • Joined: 27 Jan 2014
  • Posts: 28
Reply with quote
Post Posted: Fri Nov 09, 2018 2:20 am
So my friend who was doing the art for Have Pity On Me is still missing, and I miss her dearly. Sadly, without her, the project just wouldn't be the same, so it's indefinitely shelved until the unlikely event that she returns to the internet.

However, I'm working on something entirely on my own now! It's a stylized black and white only adventure called "Let Not Poor Nelly Starve" which is sort of a spiritual successor: you're another guy who fell down a different hole who needs to find his way out. Probably going to use a few unused concepts from HPOM here alongside some new stuff.

Anyhow, on to the actual reason I'm posting: is there a way to create and use a different font? BBC Micro Font.inc is stored in binary, which while I can kinda read it and figure out what it's doing (it's just yes/no on whether to draw a pixel at a position on an 8x8 grid) I'd absolutely hate to have to manually convert an entire typeface to this format. The BBC Micro font just kind of... doesn't really stylistically match in this case, so if there's any way to swap it out for say, a font of my own creation, I'd certainly like to know how.

EDIT: The format was so simple, in fact, that if no automated tool existed before, one does now thanks to a friend of mine. SMS Font Converter is available at that link. Straight from the author:

Quote
Here's some things to keep in mind:
* It'll error out without doing anything if the output file already exists
* It'll warn you if there's missing glyphs, and it'll replace said missing glyphs with a fully black character.
* Only #FFFFFF and #000000 can be used. Using any other colors will make it error out.
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14687
  • Location: London
Reply with quote
Post Posted: Fri Nov 09, 2018 6:35 am
You can use bmp2tile to convert an image to the right format, then either recompile SAM from source or patch it by hand. What isn't so easy is to make it a friendly command line option to specify a font.
  View user's profile Send private message Visit poster's website
  • Joined: 27 Jan 2014
  • Posts: 28
Reply with quote
Post Posted: Mon Dec 10, 2018 9:27 am
So I'm working on yet another thing for some reason or another, and I've started using variables. I thought I understood how they worked, but apparently I don't as I'm having a weird issue.

So here's how I initially did it:
<<if BeenInKitchen is 0>>
* [[GRAB A SNACK|Kitchen]]
<<endif>>
<<if ListenedToRecord is 0>>
* [[LISTEN TO SOME TUNES|RecordPlayer]]
<<endif>>
<<if CheckedComputer is 0>>
* [[CHECK JOEL'S COMPUTER|Computer]]
<<endif>>
* [[LEAVE APARTMENT|LeaveApartment]]


With this code, I was only ever getting GRAB A SNACK omitted from the options, even if I restarted and chose LISTEN TO SOME TUNES instead. I thought maybe I'd set the variables wrong or something, but using some <<print>> calls, I found that they are in fact being set properly. Apparently resetting in Fusion wasn't actually totally resetting as the variables remained set somehow. Despite this, if I did LISTEN TO SOME TUNES and only that variable was set, then went to the Kitchen passage, it would show that both variables were now 1 but still only the first one I picked would be omitted.


So then I tried changing it to this huge laundry list of if statements:
<<if BeenInKitchen is 0 and ListenedToRecord is 0 and CheckedComputer is 0>>
* [[GRAB A SNACK|Kitchen]]
* [[LISTEN TO SOME TUNES|RecordPlayer]]
* [[CHECK JOEL'S COMPUTER|Computer]]
* [[LEAVE APARTMENT|LeaveApartment]]
<<endif>>
<<if BeenInKitchen is 1 and ListenedToRecord is 0 and CheckedComputer is 0>>
* [[LISTEN TO SOME TUNES|RecordPlayer]]
* [[CHECK JOEL'S COMPUTER|Computer]]
* [[LEAVE APARTMENT|LeaveApartment]]
<<endif>>
<<if BeenInKitchen is 0 and ListenedToRecord is 1 and CheckedComputer is 0>>
* [[GRAB A SNACK|Kitchen]]
* [[CHECK JOEL'S COMPUTER|Computer]]
* [[LEAVE APARTMENT|LeaveApartment]]
<<endif>>
<<if BeenInKitchen is 0 and ListenedToRecord is 0 and CheckedComputer is 1>>
* [[GRAB A SNACK|Kitchen]]
* [[LISTEN TO SOME TUNES|RecordPlayer]]
* [[LEAVE APARTMENT|LeaveApartment]]
<<endif>>
<<if BeenInKitchen is 1 and ListenedToRecord is 1 and CheckedComputer is 0>>
* [[CHECK JOEL'S COMPUTER|Computer]]
* [[LEAVE APARTMENT|LeaveApartment]]
<<endif>>
<<if BeenInKitchen is 1 and ListenedToRecord is 0 and CheckedComputer is 1>>
* [[LISTEN TO SOME TUNES|RecordPlayer]]
* [[LEAVE APARTMENT|LeaveApartment]]
<<endif>>
<<if BeenInKitchen is 0 and ListenedToRecord is 1 and CheckedComputer is 1>>
* [[GRAB A SNACK|Kitchen]]
* [[LEAVE APARTMENT|LeaveApartment]]
<<endif>>
<<if BeenInKitchen is 1 and ListenedToRecord is 1 and CheckedComputer is 1>>
* [[LEAVE APARTMENT|LeaveApartment]]
<<endif>>


This worked SLIGHTLY better in that I could see different options being called, but now it would print two different lists rather than just the one that was a complete match.

I then changed it back to the first iteration and now none of the options go away at all. Can somebody tell me what I'm doing wrong here? And also if there's a simpler way of having the Start passage clear all variables without doing set to zero commands for each one individually? The thing I'm working on kinda has a deadline of like, two weeks maximum, so better understanding what's up with variables is top priority for me.
  View user's profile Send private message
  • Joined: 30 Mar 2009
  • Posts: 282
Reply with quote
Post Posted: Mon Dec 10, 2018 11:58 am
If i recall correctly, this is a limitation in SAM engine.
Because, unlike twine, SAM can't link passages in the middle of the text, so it only renders the menu once per passage (because it needs to link it to the controller code, to select it).

so i think you need to do the big list way, with all the possible combinations and render the menu once.

For clear code, i would try something like this

]
<<set menuselector = 0>>

<<if A == 0 and B == 0>>
<<set menuselector = 1>>
<<endif>>

<<if A == 1 and B == 0>>
<<set menuselector = 2>>
<<endif>>

<<if A == 0 and B == 1>>
<<set menuselector = 3>>
<<endif>>

<<if A == 1 and B == 1>>
<<set menuselector = 4>>
<<endif>>

<<if menuselector == 0>>
Option list 1
<<endif>>
<<if menuselector == 1>>
Option list 2
<<endif>>
<<if menuselector == 2>>
Option list 3
<<endif>>
<<if menuselector == 3>>
Option list 4
<<endif>>
<<if menuselector == 4>>
Option list 5
<<endif>>

  View user's profile Send private message Visit poster's website
  • Joined: 25 Feb 2006
  • Posts: 863
  • Location: Belo Horizonte, MG, Brazil
Reply with quote
Post Posted: Mon Dec 10, 2018 9:54 pm
Zero X. Diamond wrote
So I'm working on yet another thing for some reason or another, and I've started using variables. I thought I understood how they worked, but apparently I don't as I'm having a weird issue.

So here's how I initially did it:
<<if BeenInKitchen is 0>>
* [[GRAB A SNACK|Kitchen]]
<<endif>>
<<if ListenedToRecord is 0>>
* [[LISTEN TO SOME TUNES|RecordPlayer]]
<<endif>>
<<if CheckedComputer is 0>>
* [[CHECK JOEL'S COMPUTER|Computer]]
<<endif>>
* [[LEAVE APARTMENT|LeaveApartment]]



That's really weird; the engine does support optional lnks; see this snippet of code from the examples:


[img[Hello.png]]
Hello! This is a "quick-and-dirty" demo of twee2sam.
Testing&nbsp;non&nbsp;breaking&nbsp;spaaaaaaaaaaaace!!!!!&nbsp;blah&nbsp;blah
<<if $nonExistant>>
* [[I would like to end this|The end]]
<<endif>>
<<if $started>>
* [[I would like to choose an option|First Option]]
<<endif>>
* [[I'd prefer to choose anoter option|Second option]]


As far as can be determined so far, your piece of code should have worked with no problems; maybe there's some weird edge case that the compiler isn't translating correctly.

I have opened an issue on the repository:
https://github.com/haroldo-ok/twee2sam/issues/32
  View user's profile Send private message Visit poster's website
  • Joined: 27 Jan 2014
  • Posts: 28
Reply with quote
Post Posted: Tue Dec 11, 2018 11:29 pm
Tried tibone's suggested fix:
[img[SCREEN_03.png]]
<<music "GTSaloon.epsgmod">>

<<if BeenInKitchen is 0 and ListenedToRecord is 0 and CheckedComputer is 0>>
<<set SRMenuOptions = 0>>
<<endif>>
<<if BeenInKitchen is 1 and ListenedToRecord is 0 and CheckedComputer is 0>>
<<set SRMenuOptions = 1>>
<<endif>>
<<if BeenInKitchen is 0 and ListenedToRecord is 1 and CheckedComputer is 0>>
<<set SRMenuOptions = 2>>
<<endif>>
<<if BeenInKitchen is 0 and ListenedToRecord is 0 and CheckedComputer is 1>>
<<set SRMenuOptions = 3>>
<<endif>>
<<if BeenInKitchen is 1 and ListenedToRecord is 1 and CheckedComputer is 0>>
<<set SRMenuOptions = 4>>
<<endif>>
<<if BeenInKitchen is 1 and ListenedToRecord is 0 and CheckedComputer is 1>>
<<set SRMenuOptions = 5>>
<<endif>>
<<if BeenInKitchen is 0 and ListenedToRecord is 1 and CheckedComputer is 1>>
<<set SRMenuOptions = 6>>
<<endif>>
<<if BeenInKitchen is 1 and ListenedToRecord is 1 and CheckedComputer is 1>>
<<set SRMenuOptions = 7>>
<<endif>>

You're in Joel's studio apartment, thinking of what your next move should be.  At this point, you could just take off, or you could waste time poking around the house a bit.  You probably want to waste some time before saving Christmas, right?

<<if SRMenuOptions is 0>>
* [[GRAB A SNACK|Kitchen]]
* [[LISTEN TO SOME TUNES|RecordPlayer]]
* [[CHECK JOEL'S COMPUTER|Computer]]
* [[LEAVE APARTMENT|LeaveApartment]]
<<endif>>
<<if SRMenuOptions is 1>>
* [[LISTEN TO SOME TUNES|RecordPlayer]]
* [[CHECK JOEL'S COMPUTER|Computer]]
* [[LEAVE APARTMENT|LeaveApartment]]
<<endif>>
<<if SRMenuOptions is 2>>
* [[GRAB A SNACK|Kitchen]]
* [[CHECK JOEL'S COMPUTER|Computer]]
* [[LEAVE APARTMENT|LeaveApartment]]
<<endif>>
<<if SRMenuOptions is 3>>
* [[GRAB A SNACK|Kitchen]]
* [[LISTEN TO SOME TUNES|RecordPlayer]]
* [[LEAVE APARTMENT|LeaveApartment]]
<<endif>>
<<if SRMenuOptions is 4>>
* [[CHECK JOEL'S COMPUTER|Computer]]
* [[LEAVE APARTMENT|LeaveApartment]]
<<endif>>
<<if SRMenuOptions is 5>>
* [[LISTEN TO SOME TUNES|RecordPlayer]]
* [[LEAVE APARTMENT|LeaveApartment]]
<<endif>>
<<if SRMenuOptions is 6>>
* [[GRAB A SNACK|Kitchen]]
* [[LEAVE APARTMENT|LeaveApartment]]
<<endif>>
<<if SRMenuOptions is 7>>
* [[LEAVE APARTMENT|LeaveApartment]]
<<endif>>

This is an absolute mess, and in-game it's no better. It prints multiple option lists for no apparent reason. At this point I'm going to just post my source, despite the fact that I kinda didn't want to have to share this with the public until it was done since it's for a popular streamer. I just have to get this working no matter what. Can somebody please tell me what I've done wrong?
GFSavesXmas.rar (41.2 KB)

  View user's profile Send private message
  • Joined: 30 Mar 2009
  • Posts: 282
Reply with quote
Post Posted: Wed Dec 12, 2018 12:16 am
Hello

i tried a small modification, that worked in my end.

you can't really use multiple menus in one room.
But since SAM doesn't reload info from rooms, you can call multiple "room" menus.

Test this (i just compiled and test it (using emulicious, haven't tested on real hardware):


:: StartingRoom
[img[SCREEN_03.png]]
<<music "GTSaloon.epsgmod">>
You're in Joel's studio apartment, thinking of what your next move should be.  At this point, you could just take off, or you could waste time poking around the house a bit.  You probably want to waste some time before saving Christmas, right?
<<pause>>
<<if BeenInKitchen is 0 and ListenedToRecord is 0 and CheckedComputer is 0>>
<<call SRMenu0>>
<<endif>>
<<if BeenInKitchen is 1 and ListenedToRecord is 0 and CheckedComputer is 0>>
<<call SRMenu1>>
<<endif>>
<<if BeenInKitchen is 0 and ListenedToRecord is 1 and CheckedComputer is 0>>
<<call SRMenu2>>
<<endif>>
<<if BeenInKitchen is 0 and ListenedToRecord is 0 and CheckedComputer is 1>>
<<call SRMenu3>>
<<endif>>
<<if BeenInKitchen is 1 and ListenedToRecord is 1 and CheckedComputer is 0>>
<<call SRMenu4>>
<<endif>>
<<if BeenInKitchen is 1 and ListenedToRecord is 0 and CheckedComputer is 1>>
<<call SRMenu5>>
<<endif>>
<<if BeenInKitchen is 0 and ListenedToRecord is 1 and CheckedComputer is 1>>
<<call SRMenu6>>
<<endif>>
<<if BeenInKitchen is 1 and ListenedToRecord is 1 and CheckedComputer is 1>>
<<call SRMenu7>>
<<endif>>

::SRMenu0
* [[GRAB A SNACK|Kitchen]]
* [[LISTEN TO SOME TUNES|RecordPlayer]]
* [[CHECK JOEL'S COMPUTER|Computer]]
* [[LEAVE APARTMENT|LeaveApartment]]

::SRMenu1
* [[LISTEN TO SOME TUNES|RecordPlayer]]
* [[CHECK JOEL'S COMPUTER|Computer]]
* [[LEAVE APARTMENT|LeaveApartment]]

::SRMenu2
* [[GRAB A SNACK|Kitchen]]
* [[CHECK JOEL'S COMPUTER|Computer]]
* [[LEAVE APARTMENT|LeaveApartment]]

::SRMenu3
* [[GRAB A SNACK|Kitchen]]
* [[LISTEN TO SOME TUNES|RecordPlayer]]
* [[LEAVE APARTMENT|LeaveApartment]]

::SRMenu4
* [[CHECK JOEL'S COMPUTER|Computer]]
* [[LEAVE APARTMENT|LeaveApartment]]

::SRMenu5
* [[LISTEN TO SOME TUNES|RecordPlayer]]
* [[LEAVE APARTMENT|LeaveApartment]]

::SRMenu6
* [[GRAB A SNACK|Kitchen]]
* [[LEAVE APARTMENT|LeaveApartment]]

::SRMenu7
* [[LEAVE APARTMENT|LeaveApartment]]


This worked correctly for me.

Also, take a look at the lastest version of twee2sam and the "jump" command, instead of call.

If you don't plan on using "return", it's better to use "jump" instead of call, it won't lead to random memory leaks.

Let me know if it worked for you.
  View user's profile Send private message Visit poster's website
  • Joined: 27 Jan 2014
  • Posts: 28
Reply with quote
Post Posted: Wed Dec 12, 2018 1:48 am
That did it! Thank you for the help, and also for the jump vs. call tip. I've already changed all the calls to jumps.
  View user's profile Send private message
  • Joined: 27 Jan 2014
  • Posts: 28
Reply with quote
Post Posted: Sat Dec 15, 2018 9:57 pm
Hate to double post, but I'm having another issue: for some reason, the compiler is telling me that jump is not a recognized macro.
WARNING: 'PlayMozart': unknown macro: jump
WARNING: 'PlayJudasPriest': unknown macro: jump
WARNING: 'PlaySailorMoon': unknown macro: jump
WARNING: 'PickedSurstromming': unknown macro: jump
WARNING: 'FalsePromise': unknown macro: jump
WARNING: 'GarbagefieldWebsite': unknown macro: jump
WARNING: 'PickedCandyCane': unknown macro: jump
WARNING: 'PlayFreeformJazz': unknown macro: jump
INFO: CallMacro: Call subroutine call  SRMenu0
INFO: CallMacro: Call subroutine call  SRMenu1
INFO: CallMacro: Call subroutine call  SRMenu2
INFO: CallMacro: Call subroutine call  SRMenu3
INFO: CallMacro: Call subroutine call  SRMenu4
INFO: CallMacro: Call subroutine call  SRMenu5
INFO: CallMacro: Call subroutine call  SRMenu6
INFO: CallMacro: Call subroutine call  SRMenu7
WARNING: 'RudeRejection': unknown macro: jump
WARNING: 'RemindJoelLater': unknown macro: jump

This really doesn't seem right considering I just redownloaded the latest 2018 version from the post just a few up from here to make sure and it still doesn't work. Just as it implies, the compiled ROM doesn't jump to the proper passage, instead just sitting and waiting forever.

Oddly, now that I check it, the README.markup that comes with that version doesn't even mention the jump macro. I was gonna downgrade to the compiled version linked from GitHub and see if that fixes the issue, but that link is a 404. I guess for now I'll switch back to call and just mentally note that I'm gonna have to make them jumps again if I get this problem figured out.
  View user's profile Send private message
  • Joined: 25 Feb 2006
  • Posts: 863
  • Location: Belo Horizonte, MG, Brazil
Reply with quote
Post Posted: Sat Dec 15, 2018 10:52 pm
Zero X. Diamond wrote
Hate to double post, but I'm having another issue: for some reason, the compiler is telling me that jump is not a recognized macro.

This really doesn't seem right considering I just redownloaded the latest 2018 version from the post just a few up from here to make sure and it still doesn't work. Just as it implies, the compiled ROM doesn't jump to the proper passage, instead just sitting and waiting forever.

Oddly, now that I check it, the README.markup that comes with that version doesn't even mention the jump macro. I was gonna downgrade to the compiled version linked from GitHub and see if that fixes the issue, but that link is a 404. I guess for now I'll switch back to call and just mentally note that I'm gonna have to make them jumps again if I get this problem figured out.


I see... I had merged the support for the jump command, but I forgot to release a compiled version containing this feature, though it is present on the source... I'll try to prepare a compiled version tomorrow or so..
  View user's profile Send private message Visit poster's website
  • Joined: 25 Feb 2006
  • Posts: 863
  • Location: Belo Horizonte, MG, Brazil
Reply with quote
Post Posted: Sun Dec 16, 2018 12:58 pm
Well, I tried to generate a new release today, but even though the only change in the sources was the addition of the <<jump>> command, the compiled executable is not processing correctly the scripts given to it; I'll have to hold off the new release until finding out what's going wrong, but I'm attaching the unstable compiled executable, anyway, in case you want to try it. It would go in the "bin" folder inside twee2sam's folder.
twee2sam-binaries-2018-12-16.zip (2.19 MB)
Compiled Twee2sam executable (unstable)

  View user's profile Send private message Visit poster's website
  • Joined: 27 Jan 2014
  • Posts: 28
Reply with quote
Post Posted: Tue Dec 18, 2018 7:20 pm
Well, before I download and replace my current version with the unstable one, what exactly is wrong with the way it's handling scripts? Trying to measure whether it'll actually be beneficial to switch, heh.
  View user's profile Send private message
  • Joined: 25 Feb 2006
  • Posts: 863
  • Location: Belo Horizonte, MG, Brazil
Reply with quote
Post Posted: Tue Dec 18, 2018 9:34 pm
Zero X. Diamond wrote
Well, before I download and replace my current version with the unstable one, what exactly is wrong with the way it's handling scripts? Trying to measure whether it'll actually be beneficial to switch, heh.


In theory, the only difference between this executable and the previous one would be support for the <<jump>> command; in practice, though, it seems to be corrupting the displaying text. I haven't been able to isolate the cause of the bug, yet; even running the Python script directly or reverting the sources to a previous revision does not seem to fix the problem. I'm either doing some silly mistake, or my dev environment must have some problem. :P
  View user's profile Send private message Visit poster's website
  • Joined: 27 Jan 2014
  • Posts: 28
Reply with quote
Post Posted: Thu Dec 20, 2018 5:21 am
Well, I finally bit the bullet because I'm starting to get weird memory issues with all the calls I'm using, but the unstable build doesn't work at all for me. Attempting to run the compile.bat for my game results in this:
Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\cx_Freeze\initscripts\__startup__.py", lin
e 14, in run
  File "C:\Python27\lib\site-packages\cx_Freeze\initscripts\Console.py", line 26
, in run
  File "twee2sam.py", line 5, in <module>
  File "C:\Python27\lib\argparse.py", line 86, in <module>
    import copy as _copy
  File "C:\Python27\lib\copy.py", line 52, in <module>
    import weakref
  File "C:\Python27\lib\weakref.py", line 14, in <module>
    from _weakref import (
ImportError: cannot import name _remove_dead_weakref
twee2sam returned an error
Press any key to continue . . .
  View user's profile Send private message
  • Joined: 30 Mar 2009
  • Posts: 282
Reply with quote
Post Posted: Thu Dec 20, 2018 10:57 am
I uploaded the version i'm using, i built it myself, it has the jump command and it seems to be correct.

Maybe it will help?
http://classicgames.com.br/temp/twee2sam_tibonebuild.rar

I would've attached it, but the archive is bigger than 20MB.
  View user's profile Send private message Visit poster's website
  • Joined: 27 Jan 2014
  • Posts: 28
Reply with quote
Post Posted: Thu Dec 20, 2018 9:31 pm
Your version works, tibone, but it's done something very odd to how the text is handled. I think it's handling line returns differently, looking at it: it appears to be actually taking the spacing of my commands into account whereas it wasn't before, by which I mean...

[img[a picture.png]]

Here's some text.

<<pause>>

Here's more text!

... results in the first line starting returned down a line rather than at the top, and I'm seeing pauses that have a totally blank screen before them. I guess it's not a huge deal to go through and change the formatting though in exchange for the enhancements this provides. Are the menu beeps and the new select cursor your doing or are those in the latest version by default? Either way, I really like them.

EDIT: Yeah, testing my theory, it seems your compiled version actually takes line returns into account whereas haroldoop's did not. Removing all the aesthetic spacing from my code fixes it, though yours does still print the beginning of a text segment one line lower than usual. This is the third time I've edited this but essentially to get the output to look right there can literally be no line returns at all.

EDIT #2: I think the problem haroldoop mentioned is happening in your version too, actually. I have no idea why but at one point one of the jumps did trigger the text at the bottom to corrupt into an array of repeating garbage tiles.

EDIT #3: Ugh, and I had thought this issue was just because of memory issues from all the calls I was using, but there's also apparently still a bug in which occasionally various text characters blank out. It's generally punctuation but at least once the letter A stopped showing up.
  View user's profile Send private message
  • Joined: 30 Mar 2009
  • Posts: 282
Reply with quote
Post Posted: Mon Jan 07, 2019 11:27 am
Hi, sorry for the late reply, i was on vacation and enjoying the holidays.

The menu beeps and new cursor are my doing, it's not on the official release.

About the garbage text, to me, it only happens, if i don't pause the text before changing "text page".
So, every couple of sentences, i manually add a pause command.
It seems to fix these random errors.

In theory it's not necessary, because twee2sam should render the text with automatic pauses, but manually adding the pauses, seems to have fixed the problems i was having.

Try that.
  View user's profile Send private message Visit poster's website
  • Joined: 27 Jan 2014
  • Posts: 28
Reply with quote
Post Posted: Thu Jan 10, 2019 3:58 am
Okay, so this is seriously driving my piss up the wall. I can no longer get my project to compile with it telling me that a jump call's target does not exist when it very much does. If I remove every single passage related to the bar scene, it will try to compile, but obviously I'm not removing shit from my game. I'm uploading a copy and pretty much begging somebody to figure out what's wrong.

Is there like a hard limit on the amount of jumps/calls you can do? Or on the amount of passages you can have? I have it outputting a 2 megabyte ROM, which totally works, so I don't know why it would choke on this... I don't know. All I know is this was supposed to be a Christmas gift and at this point I'd like to have it done before goddamned Valentine's Day hits.
GFSavesXmas.rar (377.32 KB)

  View user's profile Send private message
  • Joined: 30 Mar 2009
  • Posts: 282
Reply with quote
Post Posted: Thu Jan 10, 2019 11:08 am
Hello, there are two errors in your code:

line 654 has a jump to RandomRumor4 which doesn't exist. So i created a blank passage named RandomRumor4.

and

line 678 has a jump to "RandomRumor 12" which needs to be corrected to "RandomRumor12" without the space between the word and number.

After i fixed these two errors, i had to remove some files (wrong size in some pictures and music) and it compiled.



Let me know if it works for you, ok?
  View user's profile Send private message Visit poster's website
  • Joined: 27 Jan 2014
  • Posts: 28
Reply with quote
Post Posted: Thu Jan 10, 2019 2:08 pm
Oh my God, hahaha! Thank you for this. I was apparently so frazzled that this was happening that somehow I completely missed these two very obvious mistakes. I should have known it was something that was my fault.
  View user's profile Send private message
  • Joined: 05 Sep 2013
  • Posts: 3762
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Thu Jan 24, 2019 2:36 pm
Megatron-UK wrote
So it seems like bmp2tile doesn't run as expected under Wine.


Could you make it save data in PSGaiden compressed format? How did you do that? I can't save in any other format but .inc (asm include file) even if I've got the plugins (DLLs) in the same folder.
  View user's profile Send private message Visit poster's website
  • Joined: 29 Mar 2012
  • Posts: 879
  • Location: Spain
Reply with quote
Post Posted: Thu Jan 24, 2019 3:12 pm
That happened to me some time ago, and I think it was a missing .Net runtime dll or something similar.
  View user's profile Send private message
  • Joined: 05 Sep 2013
  • Posts: 3762
  • Location: Stockholm, Sweden
Reply with quote
Post Posted: Thu Jan 24, 2019 3:21 pm
I would expect a missing .net runtime to prevent the program from starting altogether, but it's actually working, even if it's not loading the exporters plugins (thus it's not working the way it should...)

anyway, if you can check if you did add any other DLL in that folder, please let me know.


edit: maybe I'm close to the solution. Running it from the terminal it gave me this:

err:module:import_dll Library MSVCP140.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_phantasystar.dll") not found
err:module:import_dll Library VCRUNTIME140.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_phantasystar.dll") not found
err:module:import_dll Library api-ms-win-crt-runtime-l1-1-0.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_phantasystar.dll") not found
err:module:import_dll Library api-ms-win-crt-heap-l1-1-0.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_phantasystar.dll") not found
err:module:import_dll Library VCRUNTIME140.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_aplib.dll") not found
err:module:import_dll Library api-ms-win-crt-runtime-l1-1-0.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_aplib.dll") not found
err:module:import_dll Library api-ms-win-crt-heap-l1-1-0.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_aplib.dll") not found
err:module:import_dll Library VCRUNTIME140.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_exomizerv2.dll") not found
err:module:import_dll Library api-ms-win-crt-runtime-l1-1-0.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_exomizerv2.dll") not found
err:module:import_dll Library api-ms-win-crt-stdio-l1-1-0.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_exomizerv2.dll") not found
err:module:import_dll Library api-ms-win-crt-heap-l1-1-0.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_exomizerv2.dll") not found
err:module:import_dll Library api-ms-win-crt-convert-l1-1-0.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_exomizerv2.dll") not found
err:module:import_dll Library api-ms-win-crt-math-l1-1-0.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_exomizerv2.dll") not found
err:module:import_dll Library VCRUNTIME140.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_raw.dll") not found
err:module:import_dll Library api-ms-win-crt-runtime-l1-1-0.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_raw.dll") not found
err:module:import_dll Library VCRUNTIME140.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_zx7.dll") not found
err:module:import_dll Library api-ms-win-crt-runtime-l1-1-0.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_zx7.dll") not found
err:module:import_dll Library api-ms-win-crt-heap-l1-1-0.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_zx7.dll") not found
err:module:import_dll Library api-ms-win-crt-stdio-l1-1-0.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_zx7.dll") not found
err:module:import_dll Library VCRUNTIME140.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_lsb.dll") not found
err:module:import_dll Library api-ms-win-crt-runtime-l1-1-0.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_lsb.dll") not found
err:module:import_dll Library VCRUNTIME140.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_1bppraw.dll") not found
err:module:import_dll Library api-ms-win-crt-runtime-l1-1-0.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_1bppraw.dll") not found
err:module:import_dll Library MSVCP140.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_highschoolkimengumi.dll") not found
err:module:import_dll Library VCRUNTIME140.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_highschoolkimengumi.dll") not found
err:module:import_dll Library api-ms-win-crt-runtime-l1-1-0.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_highschoolkimengumi.dll") not found
err:module:import_dll Library api-ms-win-crt-heap-l1-1-0.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_highschoolkimengumi.dll") not found
err:module:import_dll Library VCRUNTIME140.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_3bppraw.dll") not found
err:module:import_dll Library api-ms-win-crt-runtime-l1-1-0.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_3bppraw.dll") not found
err:module:import_dll Library MSVCP140.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_sonic1.dll") not found
err:module:import_dll Library VCRUNTIME140.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_sonic1.dll") not found
err:module:import_dll Library api-ms-win-crt-runtime-l1-1-0.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_sonic1.dll") not found
err:module:import_dll Library api-ms-win-crt-heap-l1-1-0.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_sonic1.dll") not found
err:module:import_dll Library MSVCP140.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_psgaiden.dll") not found
err:module:import_dll Library VCRUNTIME140.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_psgaiden.dll") not found
err:module:import_dll Library api-ms-win-crt-runtime-l1-1-0.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_psgaiden.dll") not found
err:module:import_dll Library api-ms-win-crt-heap-l1-1-0.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_psgaiden.dll") not found
err:module:import_dll Library VCRUNTIME140.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_2bppraw.dll") not found
err:module:import_dll Library api-ms-win-crt-runtime-l1-1-0.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_2bppraw.dll") not found
err:module:import_dll Library MSVCP140.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_exe.dll") not found
err:module:import_dll Library VCRUNTIME140.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_exe.dll") not found
err:module:import_dll Library api-ms-win-crt-runtime-l1-1-0.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_exe.dll") not found
err:module:import_dll Library api-ms-win-crt-string-l1-1-0.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_exe.dll") not found
err:module:import_dll Library api-ms-win-crt-heap-l1-1-0.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_exe.dll") not found
err:module:import_dll Library api-ms-win-crt-utility-l1-1-0.dll (which is needed by L"C:\\Program Files\\BMP2Tile\\gfxcomp_exe.dll") not found


let's see if I can fix that.

edit2: no, it got worse. If I copy those DLLs I get a million more missing files :|

help?
  View user's profile Send private message Visit poster's website
  • Joined: 29 Mar 2012
  • Posts: 879
  • Location: Spain
Reply with quote
Post Posted: Thu Jan 24, 2019 3:43 pm
I would be able to check it tonight.
  View user's profile Send private message
Reply to topic Goto page Previous  1, 2, 3, 4  Next



Back to the top of this page

Back to SMS Power!