Lyon

Discuss how totally awesome Bang! is here.

Moderator: Terryn

User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

I found it!

This is how it works in ZZT: OOPWord is a global string, and #zap uses it. However, EvalSend ALSO uses it, which is a subroutine called from that code. When the #zap code runs, it only calls this once. Therefore, whenever EvalSend calls it, the target:label string is destroyed.

Really bad coding. It was hard to catch this one- I had to use the DosBox Debugger! I'm going to get that fixed right now.

User avatar
bitbot
Official Clamp School Defender
Posts: 328
Joined: Thu Mar 01, 2012 3:00 am
Location: earthbound
Contact:

Re: Lyon

Post by bitbot »

So Lyon will eventually replace ZAP, right?
I really need to import ZZT boards into a SZZT world. Would that be hard to implement in ZAP?

It would be awesome to finally bridge these two formats.

User avatar
Smilymzx
I hope she made lotsa spaghetti!
Posts: 179
Joined: Sat May 20, 2006 2:58 am
Location: LocacoLocacoL :LoL!

Re: Lyon

Post by Smilymzx »

It is possible, since I was porting TOWN.ZZT to SuperZZT, and may be able to redo everything since I do not have a way to convert it!

Problems:

Need to revamp the ZZT 60x25 boards to use the 96x80 board format with 4 lone passages per direction, and use dark blue solid walls around boundaries.

Need to adjust all world stats to what SZZT's needs:

No Dark, No Torches! So you might use the Invisible Wall trick instead!
15 flags instead of 9 flags are usable!

Limits also have increased, so be careful and optimise, then remove unneeded/unused stuff too!

Elements must be removed or replaced:

(#06) Torches = Removed
(#15) Star = Element #72
(#19) Water = Lava
(#18) Bullet = Element #69
(#33) Horizontal Ray = Element #70
(#38) Sharks = Removed
(#43) Vertical Ray = Element #71
(#47-#53) Text = Elements #73-#79

User avatar
bitbot
Official Clamp School Defender
Posts: 328
Joined: Thu Mar 01, 2012 3:00 am
Location: earthbound
Contact:

Re: Lyon

Post by bitbot »

Thanks SM. So what's your method? I don't mind making corrections. I simply need to import graphics and objects from multiple boards into one.

Also, I'd be interested in trying out Town in SZZT. Will it ever be finished?

User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

Roton reads worlds into an engine-neutral format so that ZZT/SZZT can share all the code. It wouldn't be much work to convert formats.

Edit: I do plan to make Lyon into a GCS with complete ZZT and Super ZZT support and a feature-rich editor. It will replace ZAP once the editor has been implemented. For now, full compatibility is desired :)

User avatar
bitbot
Official Clamp School Defender
Posts: 328
Joined: Thu Mar 01, 2012 3:00 am
Location: earthbound
Contact:

Re: Lyon

Post by bitbot »

So I create a SZZT world in ZAP, import ZZT boards ranging from minimal to complex but it crashes every time. :[

If I could import boards made in KevEdit and sorta "master it" to SZZT using ZAP, that would cover my needs. Do you think its possible to develop that functionality in the near future?

:prezbw:

No need to reinvent the wheel here. Maybe you could integrate Lyon with KevEdit's 'R' or Alt-T function. ZAP could be more handy dandy like a ZZT swiss-army knife, at least for the short-term...

User avatar
Smilymzx
I hope she made lotsa spaghetti!
Posts: 179
Joined: Sat May 20, 2006 2:58 am
Location: LocacoLocacoL :LoL!

Re: Lyon

Post by Smilymzx »

bitbot wrote:Thanks SM. So what's your method? I don't mind making corrections. I simply need to import graphics and objects from multiple boards into one.

Also, I'd be interested in trying out Town in SZZT. Will it ever be finished?
I might consider to revive if the editor is remade, but I had a HDD crash several years ago, and lost TOWN.SZT!

Also since Lyon will be an option instead of regular ZZT and SZZT, I can make a even better option: Make my own game using a modified fork of Lyon engine once the editor part gets released.

Otherwise, It is halted for now.

User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

Smilymzx wrote:Also since Lyon will be an option instead of regular ZZT and SZZT, I can make a even better option: Make my own game using a modified fork of Lyon engine once the editor part gets released.
Eventually, I plan to make it expandable- if you use any .NET framework language (VB, C#) you will be able to add your own elements and commands to Roton via Interface, and be able to control many aspects of ZZT execution. In order to make it engine-neutral, I had to include a lot of flags that would determine the behavior of certain procedures as both ZZT and Super ZZT are not 100% identical, and these can already be controlled.

Of course, the ZZT and Super ZZT defaults will be included as a starting point.

User avatar
Commodore
fgsdfs
Posts: 2457
Joined: Wed Mar 12, 2003 5:44 pm
Location: :noitacoL
Contact:

Re: Lyon

Post by Commodore »

If i change commands but still want to have full zzt compatibility, will there be an option of switching engines? roton.dll, zyg.dll, starwars.dll, mymod.dll, &c.
*POW* *CLANK* *PING*

User avatar
Smilymzx
I hope she made lotsa spaghetti!
Posts: 179
Joined: Sat May 20, 2006 2:58 am
Location: LocacoLocacoL :LoL!

Re: Lyon

Post by Smilymzx »

I also like to see DLL Plugins for the Editor

If you do this, Can you possibly make a example expansion based off of as much features from Megazeux as possible? The DLL should contain stuff that are different or not in ZZT/SZZT

Also, Please bring back the MZX-style status screen in place of the status bar for better expansion, and disable most, if not all default Keys and use a per-game mapping feature (using *.INI) to expand all keys built-in including DLL expansion keys

ZZT and SZZT can still be unmodded, But as a New format can be used for DLL plugins.

User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

Commodore wrote:If i change commands but still want to have full zzt compatibility, will there be an option of switching engines? roton.dll, zyg.dll, starwars.dll, mymod.dll, &c.
Roton will always load ZZT worlds with ZZT elements and ZZT defaults regardless of what you do. The same goes for Super ZZT. At present, Roton will not load any other format. If you need to load another format, you would need to implement file I/O on your own. When I finish interfaces that can be used with Roton, there will be full documentation as to how to use them. You would need to determine the elements, etc. You can certainly use ZZT's elements as a starting point though.

User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

I haven't released the fix yet? Wow, I am really sorry.

This should fix any label incompatibility. The only thing I haven't implemented is the 20-character limit on label processing, which probably isn't a big deal since I don't think games would likely use such labels. (I'll add it in anyway for completeness)

Files below.
Attachments
Lyon-src.zip
(141.42 KiB) Downloaded 371 times
Lyon.zip
(117.94 KiB) Downloaded 503 times

User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

I have implemented the Messenger element just as it is in ZZT. This required a slight adjustment to the Messenger interface as well. This won't really affect gameplay, but it does make the border illusion in ZEOL-7 work properly. Also, when you are running really high on object counts, it may also reproduce other related bugs with the messenger. I haven't tested this myself.

Also, I fixed a bug in the blink code. It appeared to be blinking erratically- I implemented a blink frequency parameter so it is possible to adjust this (in the code anyway, not the UI.)

User avatar
Commodore
fgsdfs
Posts: 2457
Joined: Wed Mar 12, 2003 5:44 pm
Location: :noitacoL
Contact:

Re: Lyon

Post by Commodore »

That's the sort of thing, as smzx said, should maybe be adjustable in an user-editable ini file. It'd be easier than creating a GUI menu for all the options.
*POW* *CLANK* *PING*

User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

Commodore wrote:That's the sort of thing, as smzx said, should maybe be adjustable in an user-editable ini file. It'd be easier than creating a GUI menu for all the options.
It's definitely something that could be done via Lyon. My priority at the moment is full compatibility. :) Though I think I may have run out of bugs to fix in Roton. Please let me know if you find more.

I will work on this functionality soon.

Post Reply