Annoying Little Things

General XL Engine discussion.
luciusDXL
XL Engine Developer / Site Admin
XL Engine Developer / Site Admin
Posts: 778
Joined: Thu Apr 14, 2011 4:05 pm
Contact:

Annoying Little Things

Postby luciusDXL » Wed Jul 06, 2011 10:45 am

During the process of refactoring the code, I will be trying to remove some of the annoying little issues with DarkXL, DaggerXL and the Launcher. In this case I'm not talking about missing game features or gameplay bugs, they will be tackled as development continues, but general software or usability related things. Here is my list so far, feel free to post comments about issues that I missed:

* Crashes.
* Cursor offset making some buttons hard to hit.
* Alt-Tab issues.
* Auto-detect game data path in the launcher when using something like Steam.
* Automatically detect current folder of launcher.exe and update path if game is found.
* Ability to manually edit the path in launcher (with keyboard instead of clicking browse).
* Fix resolution list to support more then 64 resolutions.
* Update engine from the launcher.
* Allow double click on game icon to launch a game from the launcher.
* Show the name of the current selected game on the "Play" button (i.e. "Play DarkXL" rather then "Play").
* Make the currently selected game icon highlight, making it easy to tell which is selected.
* Remember the previous game selected.
* Allow the creation of direct shortcuts for each game.
* Performance issues on some GPU's - such as certain AMD/ATI cards.
* Performance improvements in general.
* Input issues with the menus/dialogs in DaggerXL (popup instantly disappearing, passing through multiple menus, etc.).
* All keys remappable from the launcher - including secondary fire and the console key.
* All graphics and sound settings configurable in the launcher.
* Easy mod support for DarkXL from the launcher.
* 320x200 mode pixel/texel alignment issues in DaggerXL.
* Support for altered Daggerfall executables that are properly patched to 213.
* Fix issues with Midi playback support.

Any other similar issues you guys want to point out, here's your chance - remember gameplay bugs or missing gameplay features can be discussed other threads.

Edit - list updated.
Gez
Senior-Member
Posts: 329
Joined: Fri Apr 15, 2011 2:54 pm

Re: Annoying Little Things

Postby Gez » Wed Jul 06, 2011 5:17 pm

Maybe looking into the MIDI driver issue?


Also the issue of cursor position in windowed mode. I'm not sure what causes it; but I'd hazard the guess that the coordinates relative to the full window dimension (including borders, e.g. 816x636) are scaled down to the inner window dimension (e.g. 800x600), resulting in a discrepancy that makes the cursor appear lower than it really is. You can even get two cursors this way; the one drawn by Windows as you drag-and-drop the window by its titlebar or as you reach the edge of the window; and the one drawn by the game inside the window.

thumbnail

Same issue in the other direction too. During play, hit F1 to bring the PDA. Then try to quit it by clicking on the EXIT button rather than by hitting F1 again. You'll find out you're clicking outside the window.
Kurgan
Poster
Posts: 6
Joined: Wed Jul 06, 2011 5:49 pm

Re: Annoying Little Things

Postby Kurgan » Wed Jul 06, 2011 6:07 pm

This is in regards to DarkXL portion of the new release (which I've been running at 1024x768 16/32 if memory serves):

Using the console cheat to successfully complete the level works fine, but if you click "next mission" in the esc menu, the game crashes back to the desktop (though the next episode becomes available from the mission list the next time you start up the game).

Additionally, while I was playing on the Arc Hammer I found that if I got killed and hit spacebar to come back, the game crashed back to the desktop (don't recall if it happened before after the second death, but usually the first).

Also, though I don't use the "bloom" option (my video card doesn't appear to support it, ATI All in wonder 9600 under windows 2000 pro, bloom puts black boxes around sprites), I notice that if you get right up against certain enemies, there are bits of stray dark pixels floating near the enemy sprite (see for example getting up point blank to an attacking Imperial Commando on level 1).

I'm also fairly sure that the Thermal Detonators aren't yet working properly. Both firing modes appear to be identical, though I think one of them should bounce around a bit before exploding (as is, both explode on impact).

Some of the stuff that was noted before still remains of course, like being stopped in your tracks by the "rock" on the ground outside the base in level 1 (if it's going to stop you, at least you ought to be able to jump over it), and being unable to destroy mouse droids or pick up certain types of ammo, the droid welding arm not being alive, not being able to click "exit" in the PDA menu, missing music in the cutscenes, and so forth. Still, it feels much more polished and playable than ever before.

I'm happy to see another release. Marvelous progress and I can't wait to see more !
luciusDXL
XL Engine Developer / Site Admin
XL Engine Developer / Site Admin
Posts: 778
Joined: Thu Apr 14, 2011 4:05 pm
Contact:

Re: Annoying Little Things

Postby luciusDXL » Wed Jul 06, 2011 6:14 pm

Gez the cursor issue you mentioned is already on the list:
* Cursor offset making some buttons hard to hit.

As for midi - indeed that still needs some work.

Kurgan, the crashes are definitely something I want to fix, which is why it is the top item in the list. :)

I'll look at the sprite problem. Bloom currently requires MRT support, which is why your card has trouble (though it's a driver issue, since the hardware technically supports it fine). I will implement a non-MRT version as well that will fix the problem at some additional rendering cost (a second pass for some surfaces). Oh, it sounds like secondary fire for DT's isn't working, the explode on impact is the primary fire function.
User avatar
Lazaroth
Senior-Member
Posts: 221
Joined: Sat Apr 16, 2011 6:30 pm
Location: Luleå, Sweden

Re: Annoying Little Things

Postby Lazaroth » Wed Jul 06, 2011 7:04 pm

A couple of things for the Launcher and DaggerXL:

Launcher:
* Automatically detect current folder of launcher.exe and update path if game is found.
* Ability to manually edit the path in launcher (with keyboard instead of clicking browse).
* 1080p or higher resolutions. Highest I can choose is a weird 1600x900 29Hz.
* Auto update.
* I hope "all keys remappable" includes buttons such as mouse wheel.

DaggerXL:
* This latest version seems to be loading a lot slower than previous versions. And where are the settings stored? In the register somewhere?
* Loading screens. Especially now when the loading is slow. Don't know if the game has freezed or not. Previously it took 2 s to start DaggerXL, now it takes 10-15 s .
* That bloom bug that makes the bloom wrap around to the other side of the screen. Took a screenshot of this once on the old forum.
* (Gameplay bug?) Can't bind left mouse button in the ingame settings.
Kurgan
Poster
Posts: 6
Joined: Wed Jul 06, 2011 5:49 pm

Re: Annoying Little Things

Postby Kurgan » Wed Jul 06, 2011 8:42 pm

luciusDXL wrote:Gez the cursor issue you mentioned is already on the list:
* Cursor offset making some buttons hard to hit.

As for midi - indeed that still needs some work.

Kurgan, the crashes are definitely something I want to fix, which is why it is the top item in the list. :)


Great. I just wasn't sure if you knew about those particular crashes. ;)

I'll look at the sprite problem. Bloom currently requires MRT support, which is why your card has trouble (though it's a driver issue, since the hardware technically supports it fine). I will implement a non-MRT version as well that will fix the problem at some additional rendering cost (a second pass for some surfaces).


Oh it is? I thought I had the latest drivers for my card (which is admittedly old and has not had any new drivers in a long time). The only function that I haven't been able to use for years is the TV tuner update (kind of pointless now with the digital changeover, as I'd have to hook up a converter box to use it) since it requires the Dot Net framework update which for some reason I can't install no matter how hard I try.

The "all keys re-mappable" hopefully means multiple keystrokes (or mouse button/wheel/etc clicks) can still be assigned to the same function. ;)

Btw, I know it is "nice" to be able to type cheat codes into the console, but will "classic" cheat code functionality ever be added, where you just type the letters in-game and the text appears saying it is active? (and will we see the return of "God Mode" with the "LAIMLAME" (gotta love that one). The original DF also had a "super shield" toggle which was basically a cheat itself, wherein blaster shots bounced off, but I think other things could still hurt you (not falls into bottomless pits obviously), and I think it was somewhat less protective than God mode.
luciusDXL
XL Engine Developer / Site Admin
XL Engine Developer / Site Admin
Posts: 778
Joined: Thu Apr 14, 2011 4:05 pm
Contact:

Re: Annoying Little Things

Postby luciusDXL » Thu Jul 07, 2011 11:39 am

Kurgan wrote:The "all keys re-mappable" hopefully means multiple keystrokes (or mouse button/wheel/etc clicks) can still be assigned to the same function. ;)
Yes.
Kurgan wrote:Btw, I know it is "nice" to be able to type cheat codes into the console, but will "classic" cheat code functionality ever be added, where you just type the letters in-game and the text appears saying it is active? (and will we see the return of "God Mode" with the "LAIMLAME" (gotta love that one). The original DF also had a "super shield" toggle which was basically a cheat itself, wherein blaster shots bounced off, but I think other things could still hurt you (not falls into bottomless pits obviously), and I think it was somewhat less protective than God mode.
The plan is to support all the cheat codes and super shield. I'll also add direct-input for cheat codes as well - in addition to the console. However these things will be done later and don't go on this list.

I updated the list based on comments in this thread and elsewhere.
CG!
Lurker
Posts: 2
Joined: Fri Jul 08, 2011 2:15 am

Re: Annoying Little Things

Postby CG! » Fri Jul 08, 2011 2:26 am

i know you're already aware of the path-name bug, where long path names lead to a crash.
How about you utilize 8.3 path and file names instead?
The api function GetShortPathName in the kernel32 api delivers a comfortable way to convert long names into the 8.3 format.
i would really like to help you, by giving you the api declaration and the call itself to save you some time looking for it, but the last time i used this, was when i used VB6 and this won't help.

Another thing i would really like to see, would be a portable aware handling of the game paths by using relative paths.
i run DaggerXL and DarkXL from my USB-Stick, so i can play it on my laptop and my PC w/o having 2 local installations.
But they way it is atm, i need to re-setup the games paths everytime due to changing drive letters.
A fixed path, containing the drive letter, would then only be needed if the launcher/port is on a different drive than the game.

For everything else: Really good work.
i love being able to play those both games on modern hardware.
Dark Forces is okay in DOSBox, but Daggerfall makes my eyes bleed.
Same screen resolution, but somehow Dagger looks whorse for me.
luciusDXL
XL Engine Developer / Site Admin
XL Engine Developer / Site Admin
Posts: 778
Joined: Thu Apr 14, 2011 4:05 pm
Contact:

Re: Annoying Little Things

Postby luciusDXL » Fri Jul 08, 2011 12:31 pm

CG! wrote:i know you're already aware of the path-name bug, where long path names lead to a crash.
How about you utilize 8.3 path and file names instead?
The api function GetShortPathName in the kernel32 api delivers a comfortable way to convert long names into the 8.3 format.
i would really like to help you, by giving you the api declaration and the call itself to save you some time looking for it, but the last time i used this, was when i used VB6 and this won't help.
The long path-name bug should not be an issue with the current build. It was fixed when I released the launcher and changed the config files.
CG!
Lurker
Posts: 2
Joined: Fri Jul 08, 2011 2:15 am

Re: Annoying Little Things

Postby CG! » Sat Jul 09, 2011 1:27 am

Mhhh... you're right ... of cause.
i played around a little bit and it seems to be a problem with folders that are watched by the UAC.

i don't really mind, but my experience tell's me that you'll run into more posts like mine before, because most people use %ProgramFiles% as path for their software.

in my case, the USB drive on the UAC watch list.
it's due to possible encryption as it seems, even tho it's not encryted at all.
Starting it from HD (int or ext doesn't matter) or another USB stick (which is awfully slow) solves the problem.
As far as i can see, it's standard UAC behavior on the USB stick and the port acts the same (crash) when running from %ProgramFiles%.
i use a real admin acc, so i don't get bothered with UAC messages and i don't need to disbale UAC, what keeps the other windows accounts secured.

Edit:
Both ports acts extremly strange if i run them from the UAC secured windows accounts. The crashes are really random then. Even if run from %Temp%.
But the best: An empty error log so there's nothing i can tell you.

And here the log, if run from %ProgramFiles% under the admin acc:

Code: Select all

DaggerXL Pre-Alpha, Build 0.199
<System::InitLogFile 51> Log File Open
<WinMain 284> Initialize Game.
<Driver3D_DX9::Init 178> Using Hardware Vertex Processing.
<Driver3D_DX9::Init 189> Using Pixel Shader 2.0+.
<Driver3D_DX9::Init 210> Video Mode Count [X8R8G8B8]: 49.
<Driver3D_DX9::Init 273> Direct3D Device Created.
<Driver3D_DX9::Init 381> Fonts created.
<Driver3D_DX9::Init 394> Line drawing system created.
<Driver3D_DX9::Init 416> Create Default NormalMap
<Driver3D_DX9::Init 428> Create Solid Red Texture.
<Driver3D_DX9::Init 439> Create water texture.
<Driver3D_DX9::Init 450> Create Bloom Render Targets.
<Driver3D_DX9::Init 466> Create 320x200 emulation Render Target.
<Driver3D_DX9::Init 473> Create Screen Rendertargets.
<Driver3D_DX9::Init 477> Direct3D Initialization Complete.
<Game::Init 1963> Init RenderQue.
<Game::Init 1966> Create Video Player.
<Game::Init 1968> Load Text Record Database.
<Game::Init 1985> System::Init().
<Game::Init 1989> Cache Config Settings.
<Game::Init 1993> Load Palettes.
<Game::Init 1995> Create World System.
<Game::Init 1998> Setup Player.
<Game::Init 2002> Load Item Data from Fall.exe
<ItemManager::LoadItems 747> C:/Program Files (x86)/XL-Engine Test/Daggerfall/Fall.exe
<ItemManager::LoadItems 751> Fall.exe found
<ItemManager::LoadItems 787> Item list load complete.
<Game::Init 2005> Set View detail level.
<Game::Init 2025> Prepare MAPS.BSA.
<Game::Init 2029> Prepare BLOCKS.BSA.

The port crashes with a white windows and an windows error handler.
The DarkXL log looks exactly the same.

Return to “General Discussion”

Who is online

Users browsing this forum: No registered users and 0 guests