Lyon

Discuss how totally awesome Bang! is here.

Moderator: Terryn

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

Re: Lyon

Post by Smilymzx »

Pink is either the color of Rotons or Ruffains.

Not Lions, It is a Orangeish-Red Color, EGA palette 0x0C (012)
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 »

Saxxon wrote:I like it! :D

Leave it blocky. That's classy. Thanks!

Edit: Added it to the application.
Commodore wrote:Haha, that's great! Nice work.
Are you sure? Jeez, It was just a rough draft... I'm flattered. Thanks guys.
Smilymzx wrote:Pink is either the color of Rotons or Ruffains.
Not Lions, It is a Orangeish-Red Color, EGA palette 0x0C (012)
Haha. Looks more like salmon to me, but you're the expert on ZZT palettes. :)
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

I always called 0xC pink and 0xD magenta. But salmon sounds a lot better than pink. Technically they are "light red" and "light purple" but it's all perspective. By that nature, 0x8 is "light black" ;)

Rewriting how archives are handled in Lyon. Right now they are handled internally by Roton, but I would like the ability to process an archive externally and pass it to the Roton Environment. This way we aren't limited only to formats supported in Roton. I'll call it a FileCache.
User avatar
Commodore
fgsdfs
Posts: 2471
Joined: Wed Mar 12, 2003 5:44 pm
Location: :noitacoL
Contact:

Re: Lyon

Post by Commodore »

bitbot wrote:
Saxxon wrote:I like it! :D

Leave it blocky. That's classy. Thanks!

Edit: Added it to the application.
Commodore wrote:Haha, that's great! Nice work.
Are you sure? Jeez, It was just a rough draft... I'm flattered. Thanks guys.
If we weren't easily pleased we'd have stopped playing ancient video games a while ago ;)
*POW* *CLANK* *PING*
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

I was able to complete ESP with Lyon. Great game! It's a lot more enjoyable with the I key being mapped to ?+I/?-I. I am working on getting Preposterous Machines working properly. It works but a couple of the machines do not produce faithful results. It's going to be difficult to figure out exactly where the errors are happening since these are very complex programs.
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 »

Commodore wrote:Any chance of the dark purple transition effect?
A Zelda-style scrolling transition for board edges would be gnarly but probably not practical. Personally, I could do without the purple shit.
Saxxon wrote:I was able to complete ESP with Lyon. Great game! It's a lot more enjoyable with the I key being mapped to ?+I/?-I. I am working on getting Preposterous Machines working properly. It works but a couple of the machines do not produce faithful results. It's going to be difficult to figure out exactly where the errors are happening since these are very complex programs.
Complex engines and advanced configuration aside, polishing the little things will give it the 'feel' that it needs.
For example End this game? is not alligned properly.

Essential:
-Game window maximized on load
-Keypress/menu option toggles the sidebar
-Bugfixing prioritized titles...etc

I look forward to the next release!
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

- Purple fade is in. I'll implement a way to toggle it off and have it save the preference eventually. For now it is forced. (Sorry!) It is a bit wonky in SuperZZT because of the way I implemented video overlays (used for board fades, messages, scrolls etc). I will refine this.

- Lyon has an icon! Thanks bitbot :D:D:D

- Patched up a couple crashes.

- Blinks are in. Under the View menu, you can select between blink and bright mode.

- Rewrote a huge section of the file cache system in preparation for some other changes later. It's probably not going to appear any different right now. If anything's weird with external help files PLEASE let me know.


Regarding board transitions... maybe I'll implement a few choices so you can have your Zelda scroll. Since the game is suspended during scrolling, it really doesn't care how you get from board to board.
Attachments
Lyon-src.zip
(147.78 KiB) Downloaded 209 times
Lyon.zip
(120.93 KiB) Downloaded 228 times
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 »

Saxxon wrote: Regarding board transitions... maybe I'll implement a few choices so you can have your Zelda scroll. Since the game is suspended during scrolling, it really doesn't care how you get from board to board.
Exactly. Wow, thanks.

Umm, I'm not able to load anything. I get an unhandled exception. Is this on my end?

Code: Select all

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
   at Lyon.GameForm.UpdateSize()
   at Lyon.GameForm.GameForm_Resize(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnResize(EventArgs e)
   at System.Windows.Forms.Form.OnResize(EventArgs e)
   at System.Windows.Forms.Control.OnSizeChanged(EventArgs e)
   at System.Windows.Forms.Control.UpdateBounds(Int32 x, Int32 y, Int32 width, Int32 height, Int32 clientWidth, Int32 clientHeight)
   at System.Windows.Forms.Control.UpdateBounds(Int32 x, Int32 y, Int32 width, Int32 height)
   at System.Windows.Forms.Control.SetBoundsCore(Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified)
   at System.Windows.Forms.Form.SetBoundsCore(Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified)
   at System.Windows.Forms.Control.SetBounds(Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified)
   at System.Windows.Forms.Control.set_Size(Size value)
   at System.Windows.Forms.Control.SetClientSizeCore(Int32 x, Int32 y)
   at System.Windows.Forms.Form.SetClientSizeCore(Int32 x, Int32 y)
   at System.Windows.Forms.Control.set_ClientSize(Size value)
   at System.Windows.Forms.Form.set_ClientSize(Size value)
   at Lyon.GameForm.InitializeComponent()
   at Lyon.GameForm..ctor(Environment NewEnvironment, Byte[] Font)
   at Lyon.MainForm.StartGame(Environment Env, String FileName)
   at Lyon.MainForm.mnuFileOpen_Click(Object sender, EventArgs e)
   at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ToolStrip.WndProc(Message& m)
   at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
Lyon
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Documents%20and%20Settings/Administrator/Desktop/ZZT101/Lyon.exe
----------------------------------------
Microsoft.VisualBasic
    Assembly Version: 8.0.0.0
    Win32 Version: 8.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
System.Configuration
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

Hoooo boy. That one will be a fun one to track. I've run into a similar problem before. This error is 100% platform dependent and it happens on a platform I do not have.

I know how to fix it though. It will be a little bit.
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 »

That's OK.
As for window maximization, the program window could default to ZZT's aspect (640x350/640x400 or x2) and upon maximizing, the inner window maximizes with it by default. This kind of behavior is a time saver when frequently reopening the same game.

This reminds me of OpenMPT's interface, where the gray area only shows on startup or when actually toggling between files.
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

- Hopefully I've found that bug. When doing InitializeComponent the form tries to resize itself, forcing an update of other things that haven't been initialized yet. Made it so that it doesn't do any of this special code until after the rest has loaded.

- Stones of Power weren't triggering a status update. This has been fixed.

- Messages like "it's dark you need a torch" will no longer be triggered before the board fade.

- If you are playing ZZT and you press W to switch to a Super ZZT world within the same window (or vice versa), the game freaks the hell out. Roton is doing everything correctly, but Lyon needs to be fixed. Don't try this yet :)

- If no games are loaded, when loading a game it will be automatically maximized.

- "Save All Settings" under options menu will save all your preferences in the View menu and all future games will use these settings. The defaults are: DirectDraw, Interpolation, Blink Mode. These are saved using the managed My.Settings routines and will be located wherever AppData is on your computer. (On mine it is C:\Users\<username>\AppData\Local\Microsoft\Lyon-xxxxxx)
Attachments
Lyon-src.zip
(156.13 KiB) Downloaded 225 times
Lyon.zip
(121.66 KiB) Downloaded 222 times
User avatar
Commodore
fgsdfs
Posts: 2471
Joined: Wed Mar 12, 2003 5:44 pm
Location: :noitacoL
Contact:

Re: Lyon

Post by Commodore »

the forced start on the title screen in run-on works but you cannot actually start the game like it instructs afterwards: esc, y, p
*POW* *CLANK* *PING*
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 »

Nice quick release Saxxon, you have a gift.
Fullscreen and purple stuff is looking good.

After all these years, we can finally drag n'drop a ZZT world. Thank you.
However, when I dropped a game in the main window endless popups and this spews out:

Code: Select all

Argument 'baseDirectory' cannot be an empty string or Nothing. Parameter name: baseDirectory

Stack trace:

System.ArgumentNullException
   at Microsoft.VisualBasic.FileIO.FileSystem.CombinePath(String baseDirectory, String relativePath)
   at Microsoft.VisualBasic.MyServices.FileSystemProxy.CombinePath(String baseDirectory, String relativePath)
   at Lyon.Roton.FileCache.FindFileLocal(String Name)
   at Lyon.Roton.FileCache.LoadFile(String FileName)
   at Lyon.Roton.FileCache.LoadFileStream(String FileName)
   at Lyon.Roton.Environment.LoadHighScores()
   at Lyon.Roton.Environment.ExecuteInit()
   at Lyon.Roton.Environment.Execute()
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

bitbot wrote:Nice quick release Saxxon, you have a gift.
Fullscreen and purple stuff is looking good.

After all these years, we can finally drag n'drop a ZZT world. Thank you.
However, when I dropped a game in the main window endless popups and this spews out:
Good find. I can probably get this patched up tonight.

Did I mention how much I loooove stack traces? That's not sarcasm. The bugs would be much harder to find if it wasn't for them being posted. Thanks!
User avatar
Saxxon
the Gargoyle.
Posts: 608
Joined: Tue Jul 25, 2006 10:02 am
Contact:

Re: Lyon

Post by Saxxon »

- Fixed sound bug with game over. ZZT differentiates between GameQuiet and DisableSound, so I implemented this.
- Gamespeed changing on title screen should work now.
- Run-on autostart should now function correctly when pressing ESC, Y, P. This might actually fix/break a few other things, because it changed a rather important piece of code. IIRC, this should actually be more in line with how ZZT works.
- Drag and drop bug fixed. I wasn't using the correct procedure.
- When switching worlds using W, the sound will now stop properly.
- There was a bug in the OOP parser that was making blank lines duplicate, this is fixed.

Enjoy!
Attachments
Lyon-src.zip
(149.18 KiB) Downloaded 232 times
Lyon.zip
(121.77 KiB) Downloaded 231 times
Post Reply