98 lines
2.7 KiB
C
98 lines
2.7 KiB
C
#ifndef _VBCCINLINE_BULLET_H
|
|
#define _VBCCINLINE_BULLET_H
|
|
|
|
#ifndef EXEC_TYPES_H
|
|
#include <exec/types.h>
|
|
#endif
|
|
#ifndef EMUL_EMULREGS_H
|
|
#include <emul/emulregs.h>
|
|
#endif
|
|
|
|
struct GlyphEngine * __OpenEngine(void *) =
|
|
"\tlwz\t11,100(2)\n"
|
|
"\tstw\t3,56(2)\n"
|
|
"\tmtctr\t11\n"
|
|
"\tli\t3,-30\n"
|
|
"\tbctrl";
|
|
#define OpenEngine() __OpenEngine(BulletBase)
|
|
|
|
VOID __CloseEngine(void *, struct GlyphEngine * glyphEngine) =
|
|
"\tlwz\t11,100(2)\n"
|
|
"\tstw\t3,56(2)\n"
|
|
"\tmtctr\t11\n"
|
|
"\tstw\t4,32(2)\n"
|
|
"\tli\t3,-36\n"
|
|
"\tbctrl";
|
|
#define CloseEngine(glyphEngine) __CloseEngine(BulletBase, (glyphEngine))
|
|
|
|
ULONG __SetInfoA(void *, struct GlyphEngine * glyphEngine, struct TagItem * tagList) =
|
|
"\tlwz\t11,100(2)\n"
|
|
"\tstw\t3,56(2)\n"
|
|
"\tmtctr\t11\n"
|
|
"\tstw\t4,32(2)\n"
|
|
"\tstw\t5,36(2)\n"
|
|
"\tli\t3,-42\n"
|
|
"\tbctrl";
|
|
#define SetInfoA(glyphEngine, tagList) __SetInfoA(BulletBase, (glyphEngine), (tagList))
|
|
|
|
#if !defined(NO_INLINE_STDARG) && (__STDC__ == 1L) && (__STDC_VERSION__ >= 199901L)
|
|
ULONG __linearvarargs __SetInfo(void *, struct GlyphEngine * glyphEngine, ...) =
|
|
"\tlwz\t11,100(2)\n"
|
|
"\tstw\t3,56(2)\n"
|
|
"\tmtctr\t11\n"
|
|
"\tstw\t4,32(2)\n"
|
|
"\taddi\t12,1,8\n"
|
|
"\tstw\t12,36(2)\n"
|
|
"\tli\t3,-42\n"
|
|
"\tbctrl";
|
|
#define SetInfo(glyphEngine, ...) __SetInfo(BulletBase, (glyphEngine), __VA_ARGS__)
|
|
#endif
|
|
|
|
ULONG __ObtainInfoA(void *, struct GlyphEngine * glyphEngine, struct TagItem * tagList) =
|
|
"\tlwz\t11,100(2)\n"
|
|
"\tstw\t3,56(2)\n"
|
|
"\tmtctr\t11\n"
|
|
"\tstw\t4,32(2)\n"
|
|
"\tstw\t5,36(2)\n"
|
|
"\tli\t3,-48\n"
|
|
"\tbctrl";
|
|
#define ObtainInfoA(glyphEngine, tagList) __ObtainInfoA(BulletBase, (glyphEngine), (tagList))
|
|
|
|
#if !defined(NO_INLINE_STDARG) && (__STDC__ == 1L) && (__STDC_VERSION__ >= 199901L)
|
|
ULONG __linearvarargs __ObtainInfo(void *, struct GlyphEngine * glyphEngine, ...) =
|
|
"\tlwz\t11,100(2)\n"
|
|
"\tstw\t3,56(2)\n"
|
|
"\tmtctr\t11\n"
|
|
"\tstw\t4,32(2)\n"
|
|
"\taddi\t12,1,8\n"
|
|
"\tstw\t12,36(2)\n"
|
|
"\tli\t3,-48\n"
|
|
"\tbctrl";
|
|
#define ObtainInfo(glyphEngine, ...) __ObtainInfo(BulletBase, (glyphEngine), __VA_ARGS__)
|
|
#endif
|
|
|
|
ULONG __ReleaseInfoA(void *, struct GlyphEngine * glyphEngine, struct TagItem * tagList) =
|
|
"\tlwz\t11,100(2)\n"
|
|
"\tstw\t3,56(2)\n"
|
|
"\tmtctr\t11\n"
|
|
"\tstw\t4,32(2)\n"
|
|
"\tstw\t5,36(2)\n"
|
|
"\tli\t3,-54\n"
|
|
"\tbctrl";
|
|
#define ReleaseInfoA(glyphEngine, tagList) __ReleaseInfoA(BulletBase, (glyphEngine), (tagList))
|
|
|
|
#if !defined(NO_INLINE_STDARG) && (__STDC__ == 1L) && (__STDC_VERSION__ >= 199901L)
|
|
ULONG __linearvarargs __ReleaseInfo(void *, struct GlyphEngine * glyphEngine, ...) =
|
|
"\tlwz\t11,100(2)\n"
|
|
"\tstw\t3,56(2)\n"
|
|
"\tmtctr\t11\n"
|
|
"\tstw\t4,32(2)\n"
|
|
"\taddi\t12,1,8\n"
|
|
"\tstw\t12,36(2)\n"
|
|
"\tli\t3,-54\n"
|
|
"\tbctrl";
|
|
#define ReleaseInfo(glyphEngine, ...) __ReleaseInfo(BulletBase, (glyphEngine), __VA_ARGS__)
|
|
#endif
|
|
|
|
#endif /* _VBCCINLINE_BULLET_H */
|