Commit graph

33 commits

Author SHA1 Message Date
Gered 5c4d854d5c set NonSecretCode based on the bitmap for any opened secret doors
rather then forcing applications to set this to a single bitmap. this
results in much nicer looking secret doors that don't randomly flip
bitmaps at all during and after opening.
2019-11-10 13:54:00 -05:00
Gered 6f75f4284a update example project (cleanups, enhancements, comments, etc) 2019-11-10 13:43:40 -05:00
Gered de3232a474 fix map editor not showing indicator for secret doors 2019-11-06 19:12:15 -05:00
Gered f8de61f0ee switch mistakenly hardcoded bitmap number with ACKENG NonSecretCode
fixes secret door bitmaps seeming to switch around randomly before
coming to a stop. they still will switch once after opening, but it will
now only switch to the expected bitmap.
2019-11-06 19:09:45 -05:00
Gered b39bee7609 this should've just been declared unsigned
instead of always casting it everywhere. of course there are many places
in this codebase where this kind of thing is done ...
2019-11-06 19:08:15 -05:00
Gered 29efe17506 add palette loading when a "palfile:" directive is found in a desc file
otherwise it wasn't actually doing anything with it. palette loading
was done as part of bitmap loading only, but this allows a specific
palette to be set which may make it easier to notice bitmap palette
mismatches in some scenarios
2019-11-05 19:19:23 -05:00
Gered 810f1244b8 bpic now loads assets relative to the dat file provided
instead of assuming everything to be loaded is in the current working
directory
2019-11-05 18:55:49 -05:00
Gered 2482fe7bbb use slightly more intuitive path handling for loading files
- medit.dtf is assumed to always be beside mapedit.exe
- assets listed in the desc file being loaded are all assumed to be
  beside that same desc file

paths for both the mapedit.exe and desc file are discovered
automatically from the command line arguments received.

this, in my opinion, represents the most intuitive/logical behaviour.
before this change, you would have needed to have copied mapedit.exe
and medit.dtf to the same directory as your map desc file and all the
assets being loaded. kind of icky in my opinion.
2019-11-05 18:53:47 -05:00
Gered f992d41e11 add ability for map editor to recognize and load pcx files 2019-11-04 20:27:26 -05:00
Gered e35ecef214 add new simple example project code (no assets file yet) 2019-11-03 17:28:02 -05:00
Gered 4321b7751d minor makefile updates 2019-11-03 13:52:59 -05:00
Gered 973f983d2c update acklib headers for use in cpp sources. add missing declarations 2019-11-03 13:06:11 -05:00
Gered 0789a528be more minor cleanups 2019-11-03 13:05:01 -05:00
Gered 5a92ca7021 update map_edit makefile with paths for map testing
this is not intended to be normally run via this makefile, but maybe
useful to have these predefined for future-development purposes
2019-11-03 11:42:05 -05:00
Gered 76a756b5d0 add raw assets for fdemo and mall demo projects
with the dos map editor only, it's basically required to have all these
to be able to edit maps and rebuild the 'pics.dtf' resource files to
actually use your edited maps with the way this version of ack3d works
2019-11-03 11:41:02 -05:00
Gered 1f1185b67f some minor cleanups 2019-11-03 11:06:19 -05:00
Gered 800298c59f fix ushort/uint confusion. return success/fail from main()
the map_edit source on the book's cd included a prebuilt version of
the old watcom version of ack3d (with headers) which defined UINT to be
'unsigned short' while our version of ack3d defines UINT to be
'unsigned int'
2019-11-03 10:51:11 -05:00
Gered be71fad292 get rid of extra / old data files and other assets 2019-11-03 10:48:44 -05:00
Gered 40bab9e61b add makefile for building map_edit, get rid of unneeded sources
the map_edit sources from the cd seemed to include two different
versions of a map editor. the sources i've left here seem to most
closely match the version of mapedit.exe included on the book's cd
2019-11-02 19:01:21 -04:00
Gered cf7cd898cd add dos map_edit sources
from the book cd under /ACK/DOS/MAP_EDIT/SOURCE
2019-11-02 18:16:05 -04:00
Gered 45007835fa add bpic sources
from book cd under /TOOLS/BPIC
2019-11-02 17:52:38 -04:00
Gered 8acd9a1549 replace ackiff.c and ackpcx.c with the faster borland dos versions
these were on the book cd under /ACK/DOS/BORLAND. this version of
ackiff.c is SIGNIFICANTLY faster then the windows one ported back to dos
(i don't think i did anything wrong when i did that, but who knows...)
2019-11-02 17:35:48 -04:00
Gered e2176a10f0 add implemented ackgif.c
despite the book itself stating that this code was not included due
to the old GIF patent back in the 90's, it was actually included on the
cd under /ACK/DOS/WATCOM/ACK_LIB. oops!
2019-11-02 17:21:58 -04:00
Gered 317d65c9ce remove ack_lib/kit.h because the acklib itself doesn't use it
i don't know why it was originally included in that directory on the cd
2019-11-02 17:15:02 -04:00
Gered cb8f47ef27 revert some changes to more closely match the original watcom fdemo.c
with the timer speedup call left in, it feels much closer (speed-wise)
to the original watcom fdemo executable from the book cd. but still not
quite a perfect match in my opinion
2019-11-02 17:11:34 -04:00
Gered a63c33cd84 update mall to build under watcom 2019-11-02 16:55:35 -04:00
Gered 080fb9ae68 fix modplay.asm and re-enable bg music. it actually works now!
i didn't recognize _getds from anywhere so assumed it was something
commented out for a reason, but turns out that it was part of the
original modplayer code (which was originally written for watcom
anyway). _getds is an internal function from the watcom standard
libraries.
2019-11-02 16:40:51 -04:00
Gered 1b11c42c1d changes from borland sources. including disabling bg music
i'm convinced that the modplayer doesn't work as-is. start/stop of bg
music was commented out in the newer borland sources, and neither the
borland 'nor watcom fdemo executable on the book's cd ever played
bg music for me. enabling it (with the mod file present) causes some
crashes.
2019-11-02 14:52:54 -04:00
Gered 5291c7a2de update fdemo to build under watcom
stable build, no crashes, though some timing and/or game speed seems
off (slower) versus original executables from the book's cd
2019-11-02 14:29:31 -04:00
Gered 83aaf0d5b9 update acklib to build under watcom
borland conditionals have been removed. asm sources converted fully
to tasm ideal mode. keyboard and timer interrupt handlers moved to c
code copied from fdemo watcom sources
2019-11-02 13:56:52 -04:00
Gered 7933231c9d convert tabs to spaces, because there is a LOT of mixing going on
lots of random tabs used (for both indentation and spacing). lets just
use spaces everywhere for consistency
2019-11-02 13:44:19 -04:00
Gered 1c590f344f get rid of sources we won't be using
i'm not interested in doing a windows build, and ACKSND uses a sound
library that apparently doesn't work in a flat memory model
2019-11-02 13:41:41 -04:00
Gered 865b466995 initial commit
sources taken from book CD:

ack_lib -> /ACK/WIN/ACK_LIB
fdemo -> /ACK/DOS/FDEMO/SOURCE (and /ACK/DOS/BORLAND as needed)
mall -> /ACK/DOS/MALL/SOURCE (and /ACK/DOS/BORLAND as needed)

some source files were missing for the demo projects and needed to be
copied from /ACK/DOS/BORLAND (as indicated above)
2019-11-02 13:17:24 -04:00