Dagon 1.0.0 (alpha 1008) - The Super-Awesome Comeback Build

Agustin, I’m doing some heavy playing with the script, trying things out and stuff.
However, the broken console is REALLY holding me back. Can you get that fixed soon?
(I’m on Win 7-64)
To recap:
-shift key doesn’t work
-if caps lock is on when starting Dagon, typing is always in caps
-if caps lock is off, typing is always lower case
-if caps lock is hit while in the console, console stops all typing
-so I can’t type things like print() because I can’t shift to the ‘(’.
-Also just discovered today: I can’t seem to print escaped characters to the console, like n or string.char(10). They both just print blocks.
-When I embed something like ‘n’ in a print statement that I’m tying to a hotkey, as in:
hotkey(F1,“print(‘this is the F1 keynn’)”), nothing goes to the console.

If you want us to debug and test things, I think getting these to work first is critical.

Also, to avoid anybody duplicating my efforts…
I’m composing a large document that will go into the wiki. I’m dissecting the teaser and putting together a complete reference of all commands, objects and other things that should be fairly complete. I"m also going through the Dagon code and including things not in the teaser, for completeness. When I’m done testing out some of the unknowns, I’ll put it all up on the wiki, hopefully in a few days. I don’t want to put up something too wrong or incomplete. Hopefully Agustin will look it over and post corrections once it’s up.
Right now I have it in a Word document and it’s about 12 pages of single-line text, including some really simple primers on using objects and other LUA-specific elements.

In the meantime, here is a chunk of code to spiff up the teaser. Just replace the 'Hotkey() command in the Asylum.lua file with the below. Keep in mind that it overrides the Dagon.cfg file a little, but it’s harmless. (it forces the debug mode on)
It’s not supposed to be great or finished, just something quick to help explore more.

-- Expanded hotkey functions feed("To list the hotkey functions, enable the console with Tab...") feed("..or tilde then hit F1. Debug must be TRUE in the Dagon.cfg file.") helptext = function () --can't print to the screen because of feed system erasing too many entries print("F2 - toggle sound") print("F3 - toggle antialiasing (doesn't seem to work)") print("F4 - toggle spot hints (has typo in line 116 of DGConfigLib.h, so only toggles ON right now)") print("F5 - toggle spot highlighting") print("F6 - toggle effects") print("F7 - toggle fullscreen/windowed display (doesn't seem to work, needs some kind of regenerate call?)") print("F8 - toggle mouse mode") end -- override the config file to ensure the hotkey script works correctly config.controlMode = FREE config.debugMode = TRUE --hotkey definitions hotkey(F1, "helptext()") hotkey(F2, "a = 'sound off'; b= 'sound on'; config.mute = not config.mute; feed(config.mute and a or b)") hotkey(F3," a = 'AA off'; b= 'AA on'; config.antialiasing = not config.antialiasing; feed(config.antialiasing and a or b)") hotkey(F4,"a = 'spot hints off'; b= 'spot hints on'; config.showHelpers = not config.showHelpers; feed(config.showHelpers and a or b)") hotkey(F5,"a = 'normal spots'; b= 'highlighted spots'; config.showSpots = not config.showSpots; feed(config.showSpots and a or b)") hotkey(F6, "a = 'effects off'; b= 'effects on'; config.effects = not config.effects; feed(config.effects and a or b)") hotkey(F7, "a = 'fullscreen off'; b= 'fullscreen on'; config.fullscreen = not config.fullscreen; feed(config.fullscreen and a or b)") hotkey(F8, "a = 'drag with mouse button'; b= 'move with border'; config.controlMode = 2 - config.controlMode; feed((config.controlMode==0) and a or b)")

Hope it helps.
(Agustin, I’ve commented about a few things I can’t seem to do…even found a typo in the C++ I think)

I’m working on fixes right now and the console is next. It has to be something silly since it was working before. The Caps thing might be tricky though… Windows is a BITCH when it comes to operating with keys. I can’t believe it’s so unnecessarily complicated. Not sure about the escape characters but I’ll look into it as well.

Actually, I’ll be posting an extensive TODO list with everything you guys mentioned!

GREAT idea about the hotkeys. Some notes:

  • Yes, antialiasing is forced off by default as it causes problems and doesn’t provide real benefits. Restart is needed for this to work anyway.
  • Fixed the typo but that only served to get the current value, not setting it.
  • No, you can’t switch to fullscreen that way. I guess I can do a trick to support it anyway (note you can achieve the same with CTRL+F).

I already updated my snippet to use the existing keys, no need to duplicate.
Right now I can’t see a reason for a scripter to mess with the fullscreen/window command, so a permanent bind to the Ctrl F is ok.
I was reading the typo so that I could toggle it! Otherwise have to track the state in my own local variable…ick

All console issues have been fixed! Uploading build in a few hours…

Agustin, this is going to be real bear writing script until it works. If the lua script is bad in some way the console just displays a generic error message. Have you had any thoughts about how to funnel lua error messages to the console?

Yeah, handling syntax errors in Lua is a bitch. I’m currently checking for runtime errors only… I guess I can do a quick and dirty fix and log a hint if the script is broken. Will check it out soon!

Is the console working properly now?

Really love the credits displayed while you walk around, really slick.
There’s one thing that hasn’t been mentioned I don’t think, and that’s that sometimes a purple block of color will appear in the center of the screen during node transitions. I’m on windows XP SP3.

Yay, the linux port is here !

Now, let’s go straight to the issues :stuck_out_tongue:

Apparently it was compiled in a 32bit VM and now it can’t run on my 64bit os. I used to get an error

./dagon: error while loading shared libraries: libGLEW.so.1.6: wrong ELF class: ELFCLASS64
but I got the pre-built 32bit version and replaced it. Now I get the same error but for the LUA library - I won’t replace that, since if I do all my liblua dependent programs and libraries will crash :stuck_out_tongue:

Agustin, did you use gcc ? Any change to compile a static version of the engine? It will be a bit larger in size, but the end user won’t have to install any additional libraries. An even better idea is to compile it for x64 as well :stuck_out_tongue:

Let’s try some more :slight_smile:

Update:
I managed to compile it (we have the source - duh!) and run it successfully…Will come back with results! :slight_smile:

Update2:
The major issue I face is the image “freeze”. If I let the cursor idle, the image stops while the sound plays normally. I have to keep moving the mouse in order for the image to keep moving. I’ll try it on another linux machine to see if it’s the same there.

Oh, I can’t get out of the cafeteria :stuck_out_tongue: There is no hotspot on the door :stuck_out_tongue:

jfcwilson, does that occur in a particular location? And is it always purple?

andis, any idea how I may statically link those libs? I thought I was doing that precisely… Also, what about the performance? Is it speedy?

Regarding the cafeteria door, I think this has something to do with videos not being loaded. Have you tried the opposite, blocked door? If that doesn’t have a hotspot either, then it’s the videos.

The new upload fixed both the vertical sync “error” and the stuttering audio on replay of the video of the patient in the cell. That’s on 32bit Windows7.

Thanks.

jfcwilson, does that occur in a particular location? And is it *always* purple?

It consistently occurs on the VERY first transition, after the Asylum logo fades and you have control over the game. There, it is always purple.
It also occurs on the first node transition in the hallway, in which case it is yellow.
It does not occur on the first transition in any other room.

Disabling Vsync, fullscreen, and effects changes nothing.

The new build does start up on Snow Leopard, but crashes right away (two different Macs). Triggered by DGSystem::toggleFullScreen(). Here’s the error:

Application Specific Information: abort() called *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSWindow toggleFullScreen:]: unrecognized selector sent to instance 0x100327440'

Yes, a silly check I did. If you set fullscreen to false in the CFG, it should work in windowed mode.

This no longer works to get me through an archway and into another room. Do I need to make a “door” for each exit?

That should work, I’m using it in the Asylum script actually.

Try writing that in a separate function, then using the function name only when linking.

Wow, that was quick! Thanks. I’ll give it a try.

I’m here to serve :smiley:

Ack, can’t test the update until I get back to my own desktop after the weekend. The only computer I currently have access to has a crappy Intel G33/G31 Express Chipset and Dagon refuses to run on it. It has a duel boot of XP and Win7 - tried on both but no joy. :frowning:

The log states:

RENDER -> OpenGL version: 1.4.0 - Build 8.14.10.1930 RENDER -> WARNING: Visual effects not supported on this system

Will try updating divers, etc. but is this a wasted effort - is this gfx chipset not supported in Dagon?

Yes, you can try updating the drivers and in the CFG setting:

effects = false
framebuffer = false

And probably:

fullscreen = false

But… I wouldn’t hold my breath :frowning: