GEMLIB
0.44.0
|
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()