mirror of
https://github.com/yquake2/yquake2remaster.git
synced 2024-11-26 14:30:48 +00:00
Add a TODO with the 6 remaining "problems"
This commit is contained in:
parent
1f6d0282ee
commit
661599ed99
1 changed files with 77 additions and 0 deletions
77
TODO
Normal file
77
TODO
Normal file
|
@ -0,0 +1,77 @@
|
|||
Long term TODO list for Quake II on Windows
|
||||
-------------------------------------------
|
||||
|
||||
1. Test various windows version. At least:
|
||||
- Windows XP [done]
|
||||
- Windows XP 64
|
||||
- Windows 2003
|
||||
- Windows Vista
|
||||
- Windows 2008
|
||||
- Windows 7 [done]
|
||||
- Windows 8 Preview [done]
|
||||
|
||||
2. The "dsound" sound system issue:
|
||||
By default SDL uses the "waveout" sound driver which
|
||||
needs to many buffers to be usable with Quake II. There
|
||||
is no easy way to work around this, we can neither call
|
||||
the sound system more often nor generate more sound per
|
||||
call. The short term solution is to force the DirectX 5
|
||||
bases "dsound" driver. But "dsound" is unavailable for
|
||||
64 bit applications on 64 bit Windows and on Windows 8.
|
||||
SDL 2.0 has the new DirectX 8 based "directsound" driver
|
||||
but that would require a port of Yamagi Quake II to the
|
||||
still unstable SDL 2.0. Another soultion would be a
|
||||
custom SDL.dll with the new driver backported to SDL
|
||||
1.2.15.
|
||||
|
||||
3. The keyboard layout issue:
|
||||
SDL 1.2 has a bug which results in untranslated keycodes
|
||||
on non qwerty layouts. The consequence is, that Quake II
|
||||
uses always the english keyboard layout, regardless of it's
|
||||
real layout and the layout setting in the windows control
|
||||
pannel. The recommendet work around is to switch SDL into
|
||||
unicode mode and read unicode characters instead of the
|
||||
raw keycodes. But implementing this into Quake II would
|
||||
be a real PITA due to the rather complex differences
|
||||
between the internal input system and SDL. ioQuake3 uses
|
||||
unicode input for the console and raw input for the key
|
||||
bingings, has therefor a correct layout in the console
|
||||
but an english layout on normal key bindings. Their
|
||||
implementation is rather invasive into the console
|
||||
subsystem and I don't think that it's worth the efford.
|
||||
|
||||
4. The unicode issue:
|
||||
Quake II only allows ASCII characters, internally all
|
||||
characters are represented as "char". But Windows uses
|
||||
unicode quite often. This may lead to problems. The big
|
||||
question is: "What happens, if the path to the home dir
|
||||
contains unicode characters?" At what can we do to prevent
|
||||
problems without rewriting the whole game to be unicode
|
||||
aware? This may be a problem on Linux and FreeBSD too,
|
||||
but at least on FreeBSD unicode characters in the user-
|
||||
name are a bad idea and for things to work correctly
|
||||
the homedir-name should be the same as the username...
|
||||
|
||||
5. The debug / stdout issue:
|
||||
At the moment no stdout is readable on windows, the only
|
||||
way is to scroll in the console. This is a problem, because
|
||||
without the game output problems are hard to debug. Enabling
|
||||
the console log by default might migitate the problem, but
|
||||
the early startup is not convered by it. One solution would
|
||||
be to redirect stdout into a file (like dhewm). Daniel
|
||||
suggested to implement a console window like the orginal
|
||||
Quake III Arena client had.
|
||||
It would be nice, if the Windows crash handler would be
|
||||
invoced at every crash and not only sometimes. In theory
|
||||
the crash handler is able to create crash dumps and send
|
||||
them to a remore location (only Micorsoft or anybody?).
|
||||
While I'm not sure that gdb can read Windows crashdumps,
|
||||
it may be worth to take a deeper look into this.
|
||||
|
||||
6. The CR-LF issue:
|
||||
At the moment all files habe LF line endings, which are
|
||||
incompatible with most Windows software. This isn't a
|
||||
problem for the code itself (at least with MinGW), but
|
||||
for the documentation. A possible solution is to use git
|
||||
to convert the file endings at checkout. This would leave
|
||||
the repo at LF and enable CR-LF for Windows.
|
Loading…
Reference in a new issue