annotate README.Watcom @ 4734:0c7c67d4e6ee

Added On_Char method to Window_Listener for WM_CHAR messages. Removed a lot of TSF code because part of it was wrong and part was too complicated. Added Clear method to clear the window. IME input should work in both windowed mode and fullscreen mode with these changes. I have tested on Windows XP SP3 and Windows 7 Ultimate in VirtualBox. When you type a character (with an IME or not), the console will show the code point as U+XXXX. You use Left Alt+Shift (or whatever you have it set to) to switch input languages as usual. Hit ESC to exit (or close the window in windowed mode). The program will pause before exiting so you can review the console output (press a key to exit).
author dewyatt
date Wed, 09 Jun 2010 00:03:54 -0400
parents 8c72321542f6
children
rev   line source
1773
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
1
3568
8c72321542f6 Fixed bug #818
Sam Lantinga <slouken@libsdl.org>
parents: 1888
diff changeset
2 Using SDL 1.3 under Windows with the OpenWatcom compiler
8c72321542f6 Fixed bug #818
Sam Lantinga <slouken@libsdl.org>
parents: 1888
diff changeset
3
1773
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
4 ====================================================
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
5
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
6 Prerequisites
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
7 -------------
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
8
3568
8c72321542f6 Fixed bug #818
Sam Lantinga <slouken@libsdl.org>
parents: 1888
diff changeset
9 I have done the port under Windows XP Professional with SP2 installed.
8c72321542f6 Fixed bug #818
Sam Lantinga <slouken@libsdl.org>
parents: 1888
diff changeset
10 Windows 2000 should also be working. I'm not so sure about ancient Windows NT,
1773
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
11 since only DirectX 3 is available there. Building should be possible,
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
12 but running the compiled applications will probalbly fail with
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
13 SDL_VIDEODRIVER=directx. The windib driver should work, though.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
14
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
15 To compile and use the SDL with Open Watcom you will need the following:
3568
8c72321542f6 Fixed bug #818
Sam Lantinga <slouken@libsdl.org>
parents: 1888
diff changeset
16 - Open Watcom compiler. I used version 1.8. The environment variables
1773
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
17 PATH, WATCOM and INCLUDE need to be set appropriately - please consult
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
18 the OpenWatcom documentation and instructions given during the
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
19 installation of the compiler.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
20 My setup looks like this in owvars.bat:
3568
8c72321542f6 Fixed bug #818
Sam Lantinga <slouken@libsdl.org>
parents: 1888
diff changeset
21 set WATCOM=C:\dev\ow18
1773
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
22 set INCLUDE=%WATCOM%\h;%WATCOM%\h\nt
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
23 set PATH=%PATH%;%WATCOM%\binnt;%WATCOM%\binw
3568
8c72321542f6 Fixed bug #818
Sam Lantinga <slouken@libsdl.org>
parents: 1888
diff changeset
24 - A recent DirectX SDK. The library needs D3d9.h so at leat the
8c72321542f6 Fixed bug #818
Sam Lantinga <slouken@libsdl.org>
parents: 1888
diff changeset
25 directx 9 sdk is to be used. I used DirectX 10 SDK from August 2009
8c72321542f6 Fixed bug #818
Sam Lantinga <slouken@libsdl.org>
parents: 1888
diff changeset
26 taken directly from the microsoft site.
8c72321542f6 Fixed bug #818
Sam Lantinga <slouken@libsdl.org>
parents: 1888
diff changeset
27 - The SDL 1.3 sources from Subversion
1773
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
28 - The file Watcom-Win32.zip (now available in Subversion)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
29
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
30
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
31 Building the Library
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
32 --------------------
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
33
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
34 1) In the SDL base directory extract the archive Watcom-Win32.zip. This
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
35 creates a subdirectory named 'watcom'.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
36 2) The makefile expects the environment variable DXDIR to be set to the
3568
8c72321542f6 Fixed bug #818
Sam Lantinga <slouken@libsdl.org>
parents: 1888
diff changeset
37 base directory of a DirectX SDK. I have tried the August 2009
8c72321542f6 Fixed bug #818
Sam Lantinga <slouken@libsdl.org>
parents: 1888
diff changeset
38 DirectX SDK from Microsoft
1773
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
39 You can also edit the makefile directly and hard code your path to
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
40 the SDK on your system.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
41 I have this in my setup:
3568
8c72321542f6 Fixed bug #818
Sam Lantinga <slouken@libsdl.org>
parents: 1888
diff changeset
42 set DXDIR=..\dx10
1773
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
43 3) Enter the watcom directory and run
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
44 wmake sdl
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
45 4) All tests from the test directory are working and can be built by
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
46 running
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
47 wmake tests
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
48
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
49 Notes:
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
50
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
51 The makefile offers some options to tweak the way the library is built.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
52 You have at your disposal the option to build a static (default)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
53 library, or a DLL (with tgt=dll). You can also choose whether to build
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
54 a Release (default) or a Debug version (with build=debug) of the tests
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
55 and library. Please consult the usage comment at the top of the
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
56 makefile for usage instructions.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
57
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
58 If you specify a test target (i.e. 'wmake tests' for all tests, or
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
59 selected targets like 'wmake testgl testvidinfo testoverlay2'), the
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
60 tests are always freshly compiled and linked. This is done to
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
61 minimise hassle when switching between library versions (static vs.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
62 DLL), because they require subtly different options.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
63 Also, the test executables are put directly into the test directory,
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
64 so they can find their data files. The clean target of the makefile
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
65 removes the test executables and the SDL.dll file from the test
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
66 directory.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
67
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
68 To use the library in your own projects with Open Watcom, you can use
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
69 the way the tests are built as base of your own build environment.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
70
1888
488eba319a25 ------- Comment #5 From Marc Peter 2006-06-25 18:03 [reply] -------
Sam Lantinga <slouken@libsdl.org>
parents: 1773
diff changeset
71 The library can also be built with the stack calling convention of the
488eba319a25 ------- Comment #5 From Marc Peter 2006-06-25 18:03 [reply] -------
Sam Lantinga <slouken@libsdl.org>
parents: 1773
diff changeset
72 compiler (-6s instead of -6r).
488eba319a25 ------- Comment #5 From Marc Peter 2006-06-25 18:03 [reply] -------
Sam Lantinga <slouken@libsdl.org>
parents: 1773
diff changeset
73
1773
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
74 Test applications
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
75 -----------------
3568
8c72321542f6 Fixed bug #818
Sam Lantinga <slouken@libsdl.org>
parents: 1888
diff changeset
76 $FixME: which test works ? which one compiles ?
1773
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
77
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
78 I've tried to make all tests work. The following table gives an overview
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
79 of the current status.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
80
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
81 Testname Status
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
82 ~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
83 checkkeys +
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
84 graywin +
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
85 loopwave +
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
86 testalpha +
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
87 testbitmap +
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
88 testdyngl +
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
89 testerror +
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
90 testfile +
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
91 testgamma +
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
92 testgl +
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
93 testhread +
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
94 testiconv - (all failed)
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
95 testkeys +
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
96 testlock +
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
97 testoverlay + (needs 'set SDL_VIDEODRIVER=directx')
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
98 testoverlay2 + (needs 'set SDL_VIDEODRIVER=directx')
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
99 testpalette +
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
100 testplatform +
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
101 testsem +
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
102 testsprite +
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
103 testtimer +
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
104 testver +
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
105 testvidinfo +
1888
488eba319a25 ------- Comment #5 From Marc Peter 2006-06-25 18:03 [reply] -------
Sam Lantinga <slouken@libsdl.org>
parents: 1773
diff changeset
106 testwin ? (fading doesn't seem right)
1773
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
107 testwm +
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
108 torturethread +
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
109 testcdrom +
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
110 testjoystick not tested
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
111 threadwin +
1888
488eba319a25 ------- Comment #5 From Marc Peter 2006-06-25 18:03 [reply] -------
Sam Lantinga <slouken@libsdl.org>
parents: 1773
diff changeset
112 testcursor +
1773
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
113
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
114
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
115 TODO
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
116 ----
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
117
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
118 There is room for further improvement:
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
119 - Test joystick functionality.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
120 - Investigate fading issue in 'testwin' test.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
121 - Fix the UTF-8 support.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
122 - Adapt the makefile/object file list to support more target systems
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
123 - Use "#pragma aux" syntax for the CPU info functions.
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
124
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
125
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
126 Questions and Comments
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
127 ----------------------
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
128
3568
8c72321542f6 Fixed bug #818
Sam Lantinga <slouken@libsdl.org>
parents: 1888
diff changeset
129 Please direct any questions or comments to me:
8c72321542f6 Fixed bug #818
Sam Lantinga <slouken@libsdl.org>
parents: 1888
diff changeset
130
8c72321542f6 Fixed bug #818
Sam Lantinga <slouken@libsdl.org>
parents: 1888
diff changeset
131 ow_sdl [at] digitalfantasy [dot] it
8c72321542f6 Fixed bug #818
Sam Lantinga <slouken@libsdl.org>
parents: 1888
diff changeset
132
8c72321542f6 Fixed bug #818
Sam Lantinga <slouken@libsdl.org>
parents: 1888
diff changeset
133 The original porting to the open watcom compiler was made by
8c72321542f6 Fixed bug #818
Sam Lantinga <slouken@libsdl.org>
parents: 1888
diff changeset
134 Marc Peter <mailto:macpete@gmx.de>
1773
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
135
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
136 Happy Coding!
Sam Lantinga <slouken@libsdl.org>
parents:
diff changeset
137
3568
8c72321542f6 Fixed bug #818
Sam Lantinga <slouken@libsdl.org>
parents: 1888
diff changeset
138 Daniele Forghieri
8c72321542f6 Fixed bug #818
Sam Lantinga <slouken@libsdl.org>
parents: 1888
diff changeset
139