|
In mid-October I began playing around with a BeOS port of OpenPTC, mainly so I could make it easier to port Zdoom. This is my first public project, and I will eventually release everything under LGPL.
--Tom Holz (
), Noveber 1, 1999.
Fullscreen mode is supported, but only at 640x480. A README which explains how to use it is included.
The shared library you can download is ptc-beos-1.0.3.tar.gz. Source is available upon request.
Now BWindow and BDirectWindow support is complete.. and ready to be debugged. Running the Fire demo at 320x200 on my P2-350, using a BDirectWindow appears 50% faster than BWindow. But both are slow compared to the speed I could get by taking over the graphics card with a BWindowScreen. Then a giant alien space slug melted my car.
The file is ptc-beos-1.0.2.tar.gz. As with previous releases, you will have to compile the beast yourself, and if you want a decent README or CHANGES, or even comments, LETMEKNOW, because they are low priority right now.
Keyboard input routines work--only on 101 key keyboards. Windowed mode works (via BWindow)--except I haven't figured out how to set the palette for the indexed-color modes. Fullscreen mode doesn't really work yet--I have to wrap my brain around blit and sync and page-buffering and some other issues new to me. The current code flickers horribly.
The file is ptc-beos-1.0.1.tar.gz. The hastily ported win32 demos have been added as a subdirectory, but the Hermes library is separate--It's available somewhere at the bottom of this page. Soon a separate binaries download will be available, but for now you have to open the project file and compile it for yourself. (Let me know how it goes)
Compatability--Whoops, I just tried it out on a Sony Vaio notebook. The thing doesn't even support B_16_BIT_640x480!
Web Page--Yikes, generic header html not only looks bad, it is hard to read. Methinks it's time to pull a cool-stylized web-page out ...right after I get double-buffer working :P
Code Bloat--The library is 100k, and has been statically linked to libHermes, which is 50k. I will try to rebuild Hermes as a shared library and see what happens to the size of libptc.so
Input--I just found out about B_MODIFIERS_CHANGED, which is exactly what I want.
WORKSPACES. Fixed. The fix will be in 1.0.1.
STATUS. Messy. I threw the code together over the course of two weekends. Expect few comments. Eventually the demo and test projects will be subdirectories to the main ptc project.
WEB_PAGE. This will probably become the permenant location of my OpenPTC BeOS port, although I may reorganize the site later.
INPUT. Just pressing alt or control or shift won't trigger a B_KEY_DOWN event. Do I have to poll?
WORKSPACES. I know about work spaces. You know about workspaces--or should. (Oct 28, 1999: Fixed, but the changes haven't been uploaded.) my code doesn't. Should be trivial enough to fix.
BUFFERING. Double buffering would be nice, wouldn't it?
HARDWARE. I just found out about the (previously documented) hooks into the hardware blit and sync. If there is not enough video memory to hold all the pages at once, blit could be aweful useful.
COLORSPACE. How do I pull the rgba bits based on B_RGB32 et. al.? Right now Tunnel3D is green.
I have successssfullly compiled Hermes on my system, and have incorporate Hermes into ptc like the README said. You'll have to link any ptc project against Hermes-1.2.5/libHermes. Maybe I should tell the Hermes people this works...
Hermes-BeOS-1.2.5.tar.gzHere is a snapshot I took not 10 minutes ago.
OpenPTC-BeOS-1.0.0.tar.gzThese are quick ports of the win32 demos. I must say I like int main(void) {} much better than int APIENTRY WinMain(HINSTANCE hInst,HINSTANCE hPrevInst,LPSTR lpCmdLine,int nCmdShow) {}. Anyhow, they quote work unquote.
OpenPTC-Demos.tar.gzAnd finally..
OpenPTC-Testing.tar.gzAll this stuff is copyright 1999 Tom Holz, except where otherwise noted (e.g. Hermes, demos, OpenPTC api). That will have to do for now. All rights reserved. Especially to release the code under LGPL when I get around to it :)