Main Page | Modules | Data Structures | File List | Data Fields | Globals | Related Pages
vdiatrib.c:: ++jrb
    vst_point() binding was incorrect. (thanks scott,
    skolodzieski@vaxc.stevens-tech.edu)

common.[ch]:: ++jrb
    changed order of aes encoding from AA BB CC DD to DD CC BB AA
    easier to pull them out in a loop with a pointer this way.
    other cosmetic changes.

aesrsrc.c, aeswin.c, aesrc.c:: ++jrb
    cleanup.

mincl:: ++jrb
    common makefile

makefile.16, makefile.32, gmakefile.16, gmakefile.32:: ++jrb
    gnu makefiles for gemlib. all set up macros and include mincl.

common.c:: ++jrb
    more efficient coding of __aes__() and __vdi__() thanks to
    suggestions from Thomas Koenig (UI0T@DKAUNI2.BITNET).
    old coding #ifdef'ed with #ifdef __OLD__ everywhere.

vdi*.c:: ++jrb
    when __MSHORT__ dont copy pxyarray[] into _ptsin, just
    make _vdiparms[] point to input array, restore before
    return. -- Thanks Thomas!

vdiinq.c:: ++jrb
    many patches for incorrect coding of inq functions. Thanks to
        Michal Jaegermann <uunet!ugw.utcs.utoronto.ca!NTOMCZAK%UALTAVM.bitnet>

vdiinp.c:: ++jrb
    patches from Michal for v??_string, also merged v??_locator
    at his suggestion.

vatrib.c:: ++jrb
    patch from Michal correcting _intin[0] for vst_point();

vdiesc.c:: Jens
    Courtesy of Jens Tingleff (uunet!titan.ee.ic.ac.uk!jensting)
Thanks Jens. Jens explicitly dedicated the code to public domain,
removing his earlier copyleft restriction (via email).

vdibind.h:: Jens
    Add vdiescapes

mincl:: ++jrb
    added vdiesc targets

gemfast.h:: ++jrb
    added TCC compat defn for OBJECT

aesbind.h: frank (Frank Ridderbusch, thanks frank)
    adjust proto for rsrc-gaddr void** -> void *
    add protos for scrp_*

common.c:: frank
    vdi call for compatibility

vdibind.h: frank
    fix typo v_clswd -> vclswk
    add proto for vq_gdos

vdictrl1.c:: frank
    fix typo v_clswd -> vclswk

aescrap.c:: frank
    new file, aes scrap functions

vdiqgdos.c:: frank
    vq_gdos     GDOSp predicate

mincl::
    add targets vdiqgdos and aescrap

vdiesc.c:: Jens
    Courtesy of Jens Tingleff (uunet!titan.ee.ic.ac.uk!jensting)
Thanks Jens. Jens explicitly dedicated the code to public domain,
removing his earlier copyleft restriction (via email).

vdibind.h:: Jens
    Add vdiescapes

mincl:: ++jrb
    added vdiesc targets

gemfast.h:: ++jrb
    added TCC compat defn for OBJECT

aesbind.h: frank (Frank Ridderbusch, thanks frank)
    adjust proto for rsrc-gaddr void** -> void *
    add protos for scrp_*

common.c:: frank
    vdi call for compatibility

vdibind.h: frank
    fix typo v_clswd -> vclswk
    add proto for vq_gdos

vdictrl1.c:: frank
    fix typo v_clswd -> vclswk

aescrap.c:: frank
    new file, aes scrap functions

vdiqgdos.c:: frank
    vq_gdos     GDOSp predicate

mincl::
    add targets vdiqgdos and aescrap

aesevnt.c:: roy
    the two bytes of the long for the timer in evnt_timer and multi
        were switched around.

gemfast.h:: ++jrb
    cleanup

vdiqgdos.c:: ++jrb
    added long vq_vgdos(void), return type of gdos installed.

vdifsm.c:: ++jrb
    FSM gdos bindings. mildly edited version of code from atari.

makefile*:: ++jrb
    add vdifsm targets

------------------------------- Patchlevel 17------------------------

vdifsm.c:: michal
    bindings that actually work (as opposed to ataris !)
    thanks michal

vdibind.h:: michal
    diffs for fsm bindings

vdiqgdos.c:: ++jrb
    vq_gdos(): should say "return retvalue"
       (even though the value is in d0).

 *********************** RENAME *******************
    rename PatchLevel.h to PatchLev.h
 **************************************************

ident.c:: ++jrb
    new file for ident(1) to identify library and Patchlevel

mincl:: ++jrb
    add target for ident.o

vdibind.h:: michal
    add conditional #include<stddef.h> for size_t

test/fsm:: ++jrb
    fix up sample FSM-fontform application for gcc.

aesrc.c:: michal
    use <macros.h> for min/max
    fix up rc_intersect for gcc
    add grect_to_array. note: this coding returns &pxy_array[0], a
    very useful value to have for vdi calls, that take a  pxy_array
    address as an arguement.

aesforms.c:: Thomas Koenig <uunet!CUNYVM.CUNY.EDU!UI0T%DKAUNI2.BITNET>
    add missing bindings for form_keybd() and form_button().
    thanks thomas!

aesbind.h::
    add the protos

vdiesc1.c:: Thomas
    more vdi esc bindings. this should pretty much complete the set.
    thanks thomas.

vdibind.h::
    add protos from vdiesc1.c

mincl::
    add target for vdiesc1.o

aescrp.c:: Thomas
    scrp_clear()
      - aes function code should be 82 not 81
      - it is not present in gem versions < 2

aesbind.h::
    #if 0 out bindings for scrp_clear()

*akefil*:: ++jrb
    bring them in sync with new scheme in lib
------------------------------- Patchlevel 18------------------------

common.c, common.h:: Michal
    - change sizes of different "params" arrays increasing some
    (_ptsin, _intin) to allow them fit better into TT world
    and decreasing others to actual sizes used
    - overlap vdi and aes parameter arrays to reuse memory
    - change  VDI_CONTRL_ENCODE macro to allow for new limits;
    (see comments in common.h where other coding is required)
    for sizes which can be accomodated by VDI_CONTRL_ENCODE
    - modify __vdi__() to reflect changes in VDI_CONTRL_ENCODE
    - add clearing of high bytes in __aes__() since they can
    be clobbered now by VDI calls

vdiinp.c:: Michal
    - change coding of vsm(vrq)_string to allow for negative
    length, as in DRI specifications, and switch locally roles of
    _intin and _intout to allow for strings up to 255 characters.

vdiatrib.c,vdiinp.c,vdiinq.c:: Michal
    - replace definitions of alias labels with ones using
    .stabs directive

general:: Michal
    - modify source in many places in order to produce
    a tighter resulting machine code
    - split logically with #define's all source files into
    one-function modules for purposes of a compilation and
    archive creation; modify mincl accordingly (for compilation
    like before use -D__DEF_ALL__ in your Makefile)

vdigdp.c vdiinq.c::  Markus Nick <uunet!mz.maus.de!Markus_Nick>
    handle char code > 127. make sure they are not sign extended
    while copying into intin, by cast'ing to (unsigned char), in
    v_gtext() and v_justified() and vqt_extent(). thanks Markus.

------------------------------- Patchlevel 19------------------------

vdibind.h, mincl, vdifsm.c:: ++jrb
    sync with ataris new release of fsmgdos

vdibind.h, vdibez.c:: ++jrb
    new file. bindings for bezier curves.

vdibind.h vdiqgdos.c:: ++jrb
    vq_vgdos(): return unsigned long. fix proto and inline def in
    vdibind.h too

vdifsm.c, vdibind.h:: michal
    michal corrected and added missing bindings. Thnaks very
    much.

vdibez.c, vdibind.h, mincl:: michal
    michal corrected almost the whole file.

vdictrl1.c:: markus nick
    fix to v_opnvwk() bindings. was'mt passing old value of handle.
    thanks markus.

 MUCH THANKS to Michal Jaegermann who has been very carefully
correcting and baby sitting these bindings. He has made very
significant contributions, and lively discussions and comments.

------------------------------- Patchlevel 20------------------------

vsin_mode, vq_color:: andreas
 these functions return useful things (source: ATARI ST Profibuch, Sybex).

gemfast.h, aesbind.h, vdibind.h:: andreas
  fix protos, and some types.

------------------------------- Patchlevel 21------------------------

vdibind.h:: ++jrb
    change all formal parameters named new to new_p (g++ complains
    (thinking its a new operator)).

vdiatrib.c, vdibind.h:: marcus nick
    the return type of vst_height should have been int, not void.

------------------------------- Patchlevel 22------------------------

vdibez.c:: ++jrb
    dont define ALTERNATE. Makes us incompat with PureC and others.

mincl:: ++jrb
    make all v_bez_in/off and v_bez_con for the lib and let the user
    use whichever forms they prefer.

------------------------------- Patchlevel 23------------------------

*.h:: ++jrb
    part of the common MiNT/tos lib headers adjustments.

------------------------------- Patchlevel 24------------------------

ident.c:: ++jrb
    new file, giving ident(1) string. crt0 externs the symbols
    to ensure that these idents get pulled into the executable
    while linking. then doing an ident(1) on the executable
    yields versions of everything that is linked in.

mincl:: ++jrb
    add target for above.

------------------------------- Patchlevel 25------------------------
gemfast.h:: ++jrb
    sync with mntlib 25
------------------------------- Patchlevel 26------------------------

gemfast.h:: ++jrb
    add new types for popup menus (falcon aes)
    dont declare _addrin/_addrout for gcc, because they are # defines
    in our case, not real arrays. (see common.h)

aesmenu:: ++jrb
    new bindings for popup/scroll menus (falcon aes)
        menu_popup() menu_attach() menu_istart() menu_settings()

aesbind.h:: ++jrb
    add protos for new bindings.

mincl:: ++jrb
    add targets for  new menu_*() fns

vdibez.c:: ++jrb
    bring stuff in sync with the bez docs in SpeedoGdos. no new
        functions. just more info about the old ones, and some of the
    bindings have  contrl[2|4] set to specific values (and the
    docs dont say why!).

vdiinq.c:: ++jrb
    updated the comment at the top about vqt_name() since its
    official now in the SpeedoGDOS docs.

vdifsm.c:: ++jrb
    v_killoutline() doesnt exist any more
    v_getoutline() is totally changed
    vst_error() -- make it 16/32 bit clean.
    vqt_advance32() -- new fn
    vst_setsize32() -- new fn
        vst_arbpt32() -- new fn
    v_ftext_offset() -- new fn
    vst_charmap() -- new fn
    vst_kern() -- new fn
    vqt_fontheader() -- new fn
    vqt_trackkern() -- new fn
    vqt_pairkern() -- new fn
    v_getbitmap_info() -- totally new

mincl, vdibind.h:: ++jrb
    adjust for above changes.

------------------------------- Patchlevel 27 -------------------------------

gemfast.h:: andreas
    ICONBLK does not have the field ib_resvd. i dont
     know introduced that, but it is definitly wrong, and loses
    on RSC files (sizeof(ICONBLK) == 34).

vdiesc1.c:: andreas
    all functions with subcode > 31 must be coded "by hand".

vdibez.c/vdiesc1.c: andreas
    opcode of v_bez_qual conflicts with v_write_meta
    (the other conflicts are reasonable). I dont have the
    official documentation, so no patch included.

    well i looked up all the docs i have. this seems to be ok because
    the two will be distinguished by intin[0]. in the case of v_bez_qual()
    intin[0] = 32. in the case of v_write_meta(), intin[0] has to be
    something other than [0-100], so we should be fine. ++jrb

------------------------------- Patchlevel 28 -------------------------------

vdifsm.c:: Leif: pvt1-117@nada.kth.se

    vst_error takes the address of a variable in mode==1 that lives longer
    beyond the call. therefore we must install the address that is passed
    to vst_error() and not use the int matching temp. this also implies
    that the pointer must be to a 16 bit entity, therefore i changed
    the interface to be a short *.

vdiesc1.c:vm_filename() :: Erling Henanger (erlingh@pvv.unit.no)
    The code for finding the length of the filename string was wrong.
    It compares two pointers to short, which yields twice as much as the
    difference between two pointers to char...


------------------------------- Patchlevel 29 -------------------------------

aesbind.h, aesevnt.c:: Stefan Steyer (dc4i@br0.hrz.th-darmstadt.de)
    The problem is, that if you compile without -mshort, the '16 bit halfs'
    are passed as 32 bit values through the stack. If you define __OLD_WAY__
    you push 64 bit, and if not, only 32 bit. Every parameter you pushed
    to the stack before is not where it should be. 

    soln: #define evnt_multi when __OLD_WAY and have it push one long on
    the stack, which __evnt_multi will pick up.

    make __evnt_multi synonymous with event_multi in aesevnt.c.

------------------------------- Patchlevel 30 -------------------------------

pure_c.prj:: Christer Gustavsson (d2cg@dtek.chalmers.se) cg
    Created project file for Pure C.
    
common.c:: cg
    Modified to be compilable with Pure C.
    
vdiatrib.c:: cg
    Modified for Pure C.
    
vdibez.c:: cg
    Modified for Pure C.

vdiinp.c:: cg
    Modified for Pure C.

vdiinq.c:: cg
    Modified for Pure C.

xgemdosc.s/xgemdosc.h:: cg
    Pure C version of vdi/aes traps.

compiler.h:: cg
    Since gemlib now is ported to Pure C compiler.h had to be changed
    to enable the prototypes that differ from Pure C's own gemlib.
    
gemfast.h:: cg
    Missing structs and definitions included.

aesappl.c:: cg
    appl_getinfo added.
    appl_search added.
    
aesbind.h:: cg
    Missing (new) prototypes added.
    
aesobj.c:: cg
    objc_sysvar added.
    
mincl:: cg
    Modified to include new calls.

aesrsrc.c:: cg
    rsrc_rcfix added.

------------------------------- Patchlevel 31 -------------------------------
gemfast.h:: cg
    Now supports color icons.
    3d-object defines added.
    AES global array defines added.
    OBJC_COLORWORD added.
    TEDINFO struct altered to include font id and font size.
    Defines for different font types added.
    New (correct) version of MN_SET. To get the old version define
    OLD_MNSET.
    Mode definitions for menu_tnormal added.
    Mode definitions for shel_get added.
    Return value definitions for v_updwk added.
    Mode definitions for v_bez added.
    Mode definitions for v_bit_image added.
    Mode definitions for v_justified added.
    Mode definitions for vq_color added.
    vq_gdos return value definitions moved from vdibind.h to gemfast.h.
    Mode definitions for vqin_mode added.
    Mode definitions for vqt_cachesize added.
    Return value definitions for vqt_devinfo added.
    Return value definitions for vqt_name added.
    Mode definitions for vsf_interior added.
    Mode definitions for vsf_perimeter added.
    Mode defnitions for vsl_ends added.
    Mode definitions for vsl_type added.
    Mode definitions for vsm_type added.
    Mode definitions for vst_charmap added.
    Mode definitions for vst_effects added.
    Mode definitions for vst_error added.
    Return value definitions for vst_error added.
    Mode definitions for vst_kern added.
    Mode definitins for vst_scratch added.

aesbind.h:: cg
    Bug in the __OLD_WAY__ binding of evnt_multi() fixed.

------------------------------- Patchlevel 32 -------------------------------

aeswin.c:: cg
    Change of in wind_get() to work with WF_DCOLOR and WF_COLOR.

aesappl.c:: cg
    Bug in appl_search() fixed.

gemfast.h:: cg
    Added _AESrshdr (_global[7-8]), an undocumented variable pointing to
    the header of a loaded resource file.

------------------------------- Patchlevel 33 -------------------------------

*.c:: cf
    AES and VDI uses different control arrays called
        aes_global, aes_control, aes_intin, ees_intout, aes_addrin, aes_addrout
    and
        vdi_intin, vdi_intout, vdi_ptsin, vdi_ptsout, vdi_control
    The old arrays (_intin, _intout, _ptsin, _ptsout, _contrl, _global)
    doesn't exists any longer!
        
appl.c:: cf
    Add appl_yield() and appl_bvset().

form.c:: cf
    Add form_popup().

gemfast.h:: cf
    Some bugfixes (WM_BOTTOMED, CH_EXIT, ICONBLK)
    AESPB and VDIPB defined.

shel.c:: cf
    Bug in shel_envrn() fixed.

wind.c:: cf
    Add wind_set_str() for 'int-size independent' window string setting.

mt_*:: cf
    Add a thread-save AES lib.

------------------------------- Patchlevel 34 -------------------------------

gemfast.h:: cf
    Add extended object flags (FLAG12 - 15) and state (STATE08 - 15)

appl.c:: cf
mt_appl.c::
    Add appl_control() (N.AES)
    
shel.c:: cf
mt_shell.c
    Add shel_help() (N.AES)

wind.c:: cf
mt_wind.c
    Some usefull extension: wind_get_grect(), wind_set_grect(), 
    wind_calc_grect(), wind_create_grect() wind_open_grect()

gemfast.h:: cf
    Remove compatibility define __TCC_COMPAT__.
    Rename U_OB_SPEC to OBSPEC
    Add some constants for VDI
    Rename vst_effects-constants from xx to TXT_xx

------------------------------- Patchlevel 35 -------------------------------

gemfast.h
    Increased VDI arrays 
    Definition of STATE15 was wrong

aesrc.c
    Add array_to_grect()

aesbind.h
    Remove __OLD_BIND__ for evnt_multi()

magxbind.h
magxfnts.c  
magxform.c
magxfslx.c
magxpdlg.c
    A new lib which contains the MagiC-only AES calls

mt_*
    Removed from gemlib because I don't have mind to support a lib that 
    anybody needs. Or is there someone who need it??

gemfast.h
    Change type and rename a component of AESPB and VDIPB
    Rename _aes/_vdiparms to aes/vdi_parms

Makefile
    Split into Makefile, Makefile.gem and Makefile.magx

aesbind.h
aesshel.c
    Add shel_rdef() and shel_wdef() (MagiC, N.AES)

------------------------------- Patchlevel 36 -------------------------------

aesappl.c
    Wrong binding at appl_search()

magxpdlg.c
    pdlg_save_default_settings() added

gemfast.h
    Remove ALT_MFDB
    Remove ORECT, VRECT and Rect

----------------
    Restructured the whole lib:

    - Remove the AES/VDI_CONTROL_ENCODE because this method don't work
      for in/out counters higher than 255!
    - Add new trap-functions aes(AESPB *pb) and vdi(VDIPB *pb)
    - Clean-up the whole VDI part of the lib.
    - Add full NVDI support (versions 2, 3, 4 and 5)
    - Split the lib into two parts:
        gem.olb   the core AES/VDI functions, supported by TOS, MultiTOS 
                  and N.AES.
        gemx.olb  all extensions of NVDI, FSM/Speedo-GDOS, MagiC, WDIALOG
    - Create new headers, one for each lib: gem.h and xgem.h
      Don't panic - there is a backward-compatibility for aesbind.h/ 
      vdibind.h/gemfast.h :-)
    
------------------------------- Patchlevel 37 -------------------------------

x_fnts.c
    Misc wrong bindings fixed.

v_inquire.c
    Wrong binding for vq_color() fixed.

gem.h
    OLD_MNSET removed
    struct bfobspec renamed to BFOBSPEC
    struct Mouse renamed to MOUSE

------------------------------- Patchlevel 38 -------------------------------

gem.h
    Add the extended object types of MagiC

gem.h
v_attrib.c
    vql_attribute() renamed to vql_attributes()

Generated on Wed Nov 3 22:42:19 2004 for GEMLIB by  doxygen 1.3.9.1