Wing Commander
Reconstructed Win32 source (1996)
Loading...
Searching...
No Matches
eventmgr.c File Reference

Event manager, mouse pointer and frame timer. More...

#include "wc1.h"
#include <malloc.h>
#include <sys/types.h>

Go to the source code of this file.

Functions

void TranslatePolledInputEvent (unsigned short type, unsigned int value)
void QueueInputEventAtCursor (unsigned short type, short primaryButton, short secondaryButton)
InputEvent * AllocateInputEvent (void)
void ReleaseInputEvent (InputEvent *event)
void QueueInputEvent (int type, int x, int y, int value, int primaryButton, int secondaryButton, unsigned int timestamp)
void ReleaseInputEventQueue (void)
void RetainInputEventsOfType (int type)
void RemoveInputEvent (InputEvent *event)
short __stdcall GetNextInputEvent (InputEventState *state)
short __stdcall PollInputEvent (InputEventState *event, short filter)
short __stdcall PeekInputEvent (InputEventState *state, short type)
short __stdcall IsInputEventQueued (short type)
void FlushInputEvents (void)
short __stdcall ResetAllocationDepth (int x, int y)
short IsMouseInstalled (void)
void CheckCursor (void)
void RefreshMouseCursorHook (void)
void MouseCursorRedrawHook (void)
void MouseCursorCaptureHook (void)
void CaptureMouseCursorBackground (void)
void DrawMouseCursor (void)
void RestoreMouseCursorBackground (void)
void RefreshMouseCursorDisplay (void)
void MouseCursorDisplayHook (void)
void EnterAllocationScope (void)
void LeaveAllocationScope (void)
void __stdcall SetMouseCursorShape (struct Shape *shape, short frame)
void __stdcall SetMouseHomePosition (short x, short y)
void __stdcall ApplyPackedMousePosition (ShortPoint point)
void __stdcall GetMouseCursorPosition (ShortPoint *point)
void SetFrameTimerPeriod (short period)
void __stdcall SetFrameTimerAndWait (short period)
void __stdcall SetFrameTimerPeriodDirect (short p)
void WaitForFrameTick (void)
int IsFrameTickElapsed (void)
void FrameTickHook (void)
unsigned short GetSoundHardwareFlag (void)
void * AllocateUntaggedMemory (unsigned int size)
int UntaggedMemoryHook (void)
void ReleaseUntaggedMemory (void *memory)
void TimerResetHook (void)
unsigned int GetPacketDecompressionResult (void *packet)
unsigned short IdentityWord (unsigned short v)
void TimerStopHook (void)
unsigned int GetFixedOneMillion (void)
unsigned int GetFixedOneMillionAlt (void)
int __stdcall MemoryServiceQueryHook (int value)
void __stdcall MemoryServiceReleaseHook (int value)
int __stdcall MemoryServiceTransferHook (int first, int second)
int __stdcall MemoryServiceMapHook (int value)
short MemoryServiceVersionHook (void)
void MemoryServiceShutdownHook (void)
int MemoryServiceStatusHook (void)
short MemoryServiceErrorHook (void)
short MemoryServiceResetHook (void)
void ResetInputKeyStatePreservingModifiers (void)
void ClearInputKeyStatePreservingModifiers (void)
void ClearInputKeyState (void)
void KeyboardStateHook (void)
void KeyboardScanHook (void)
void SetInputKeyState (int scanCode, unsigned char pressed)
void sort_object_depth (void)
void draw_sorted_objects_to_buffer (void)
void intro_drawbackgroundships (void)
void set_up_screen_viewport (signed char mode)
int ScreenViewportHook (void)
void ScreenViewportResetHook (void)
void MouseActivityHook (void)
void MouseIdleHook (void)
void DosInterruptHandlerHook (void)
unsigned short GetNavRangeSentinel (void)
unsigned short GetOriginalFreeMemory (void)
void StartupHook (unsigned int(*callback)(unsigned int, short))
unsigned int JoystickEdgeHook (int button)
short JoystickStatusHook (void)
void JoystickResetHook (void)
void * AllocateSmallMemoryBlock (short size)
void FreeIfNotNull (void *p)
unsigned int GetStartupErrorCode (int vector)
void ShutdownHook (int vector, void *handler)
void InterruptVectorHook (void)
unsigned short __stdcall SelectDiskDriveHook (short drive)
short GetCurrentDiskDriveHook (void)
unsigned short __stdcall GetShutdownErrorCode (unsigned char *driveState)
void FinishPacketDecompressionHook (void)
void ExitCleanupHook (void)
short ExitStatusHook (void)
unsigned int IsVectorWithinRange (FixedVector *vector, short range)
unsigned int shrink_vector (FixedVector *vector)
unsigned int shrink (int *component)
short __stdcall GetViewportIntersection (ShortRect *intersection, const ShortRect *first, const ShortRect *second)
void __stdcall FillGraphicSuffix (char *path, short number, short digits)
void __stdcall ConvertChar_Int (char *text, short number, short digits)

Variables

static unsigned char abCursorSaveArea [0x1000]
InputEvent aInputEvtPool [0x100]
int nMouseCursorSavedCoordY
int nMouseCursorSavedX
unsigned char bInputModeState
unsigned char bFilteredKeyWaitActive
int bEventMouseCursorDrawnFlag
short nEventManagerActive
short nCurrentViewCenterPosX
short nCurrentViewCenterPosY
short bCurrentExpandedMemoryAvail
short nPktDecompressSourceFile
unsigned char abInputKeyStateArray [0x80]
int nMousePointerDrawnY
int nMousePointerDrawnX
int anEventObjectDepthPlacedList [SPACE_OBJECT_COUNT]
short DAT_0059a9f0

Detailed Description

Event manager, mouse pointer and frame timer.

Address range 4355f0-436cff. The FM Towns executable preserves this unit's original source name, source\eventmgr.c.

Definition in file eventmgr.c.

Function Documentation

◆ AllocateInputEvent()

◆ AllocateSmallMemoryBlock()

void * AllocateSmallMemoryBlock ( short size)

Definition at line 1141 of file eventmgr.c.

References AllocateSmallMemoryBlock().

Referenced by AllocateSmallMemoryBlock(), and DosMemcpy().

◆ AllocateUntaggedMemory()

void * AllocateUntaggedMemory ( unsigned int size)

Definition at line 648 of file eventmgr.c.

References AllocateTaggedMemory(), and AllocateUntaggedMemory().

Referenced by AllocateUntaggedMemory(), and DosMemcpy().

◆ ApplyPackedMousePosition()

◆ CaptureMouseCursorBackground()

◆ CheckCursor()

void CheckCursor ( void )

◆ ClearInputKeyState()

◆ ClearInputKeyStatePreservingModifiers()

◆ ConvertChar_Int()

void __stdcall ConvertChar_Int ( char * text,
short number,
short digits )

Definition at line 1378 of file eventmgr.c.

References ConvertChar_Int().

Referenced by ConvertChar_Int(), DosMemcpy(), FillGraphicSuffix(), and SetDiskFileNumber().

◆ DosInterruptHandlerHook()

void DosInterruptHandlerHook ( void )

Definition at line 1097 of file eventmgr.c.

References DosInterruptHandlerHook().

Referenced by DosInterruptHandlerHook(), and main().

◆ draw_sorted_objects_to_buffer()

◆ DrawMouseCursor()

◆ EnterAllocationScope()

◆ ExitCleanupHook()

void ExitCleanupHook ( void )

Definition at line 1199 of file eventmgr.c.

References ExitCleanupHook().

Referenced by DosMemcpy(), ExitCleanupHook(), and main().

◆ ExitStatusHook()

short ExitStatusHook ( void )

Definition at line 1206 of file eventmgr.c.

References ExitStatusHook().

Referenced by ExitStatusHook().

◆ FillGraphicSuffix()

void __stdcall FillGraphicSuffix ( char * path,
short number,
short digits )

Definition at line 1363 of file eventmgr.c.

References ConvertChar_Int(), DosStrchr(), and FillGraphicSuffix().

Referenced by DosMemcpy(), FillGraphicSuffix(), and OpenDiskDataFile().

◆ FinishPacketDecompressionHook()

void FinishPacketDecompressionHook ( void )

◆ FlushInputEvents()

◆ FrameTickHook()

void FrameTickHook ( void )

Definition at line 637 of file eventmgr.c.

References FrameTickHook().

Referenced by FrameTickHook().

◆ FreeIfNotNull()

void FreeIfNotNull ( void * p)

Definition at line 1147 of file eventmgr.c.

References FreeIfNotNull().

Referenced by DosMemcpy(), FreeIfNotNull(), InitializeNearHeap(), and ShutdownNearHeap().

◆ GetCurrentDiskDriveHook()

short GetCurrentDiskDriveHook ( void )

Definition at line 1181 of file eventmgr.c.

References GetCurrentDiskDriveHook().

Referenced by DosMemcpy(), GetCurrentDiskDriveHook(), main(), and OpenDiskDataFile().

◆ GetFixedOneMillion()

unsigned int GetFixedOneMillion ( void )

Definition at line 692 of file eventmgr.c.

References GetFixedOneMillion().

Referenced by DosMemcpy(), GetFixedOneMillion(), and GetFixedOneMillionThunk().

◆ GetFixedOneMillionAlt()

unsigned int GetFixedOneMillionAlt ( void )

Definition at line 698 of file eventmgr.c.

References GetFixedOneMillionAlt().

Referenced by DosMemcpy(), GetFixedOneMillionAlt(), and GetFixedOneMillionThunkAlt().

◆ GetMouseCursorPosition()

void __stdcall GetMouseCursorPosition ( ShortPoint * point)

◆ GetNavRangeSentinel()

unsigned short GetNavRangeSentinel ( void )

Definition at line 1102 of file eventmgr.c.

References GetNavRangeSentinel().

Referenced by DosMemcpy(), GetNavRangeSentinel(), and InitializeNearHeap().

◆ GetNextInputEvent()

◆ GetOriginalFreeMemory()

unsigned short GetOriginalFreeMemory ( void )

◆ GetPacketDecompressionResult()

unsigned int GetPacketDecompressionResult ( void * packet)

◆ GetShutdownErrorCode()

unsigned short __stdcall GetShutdownErrorCode ( unsigned char * driveState)

Definition at line 1187 of file eventmgr.c.

References GetShutdownErrorCode(), and void().

Referenced by DosMemcpy(), GetShutdownErrorCode(), and main().

◆ GetSoundHardwareFlag()

unsigned short GetSoundHardwareFlag ( void )

Definition at line 642 of file eventmgr.c.

References GetSoundHardwareFlag().

Referenced by DosMemcpy(), GetSoundHardwareFlag(), and IsSoundHardwarePresent().

◆ GetStartupErrorCode()

unsigned int GetStartupErrorCode ( int vector)

Definition at line 1154 of file eventmgr.c.

References GetStartupErrorCode(), and void().

Referenced by DosMemcpy(), GetStartupErrorCode(), and main().

◆ GetViewportIntersection()

short __stdcall GetViewportIntersection ( ShortRect * intersection,
const ShortRect * first,
const ShortRect * second )

◆ IdentityWord()

unsigned short IdentityWord ( unsigned short v)

Definition at line 681 of file eventmgr.c.

References IdentityWord().

Referenced by DosMemcpy(), get_right_shape(), and IdentityWord().

◆ InterruptVectorHook()

void InterruptVectorHook ( void )

Definition at line 1170 of file eventmgr.c.

References InterruptVectorHook().

Referenced by InterruptVectorHook().

◆ intro_drawbackgroundships()

◆ IsFrameTickElapsed()

◆ IsInputEventQueued()

short __stdcall IsInputEventQueued ( short type)

◆ IsMouseInstalled()

short IsMouseInstalled ( void )

Definition at line 399 of file eventmgr.c.

References IsMouseInstalled().

Referenced by IsMouseInstalled().

◆ IsVectorWithinRange()

unsigned int IsVectorWithinRange ( FixedVector * vector,
short range )

◆ JoystickEdgeHook()

unsigned int JoystickEdgeHook ( int button)

Definition at line 1120 of file eventmgr.c.

References JoystickEdgeHook(), and void().

Referenced by DosMemcpy(), GetJoystickButtonEdge(), and JoystickEdgeHook().

◆ JoystickResetHook()

void JoystickResetHook ( void )

Definition at line 1136 of file eventmgr.c.

References JoystickResetHook().

Referenced by JoystickResetHook().

◆ JoystickStatusHook()

short JoystickStatusHook ( void )

Definition at line 1128 of file eventmgr.c.

References JoystickStatusHook().

Referenced by JoystickStatusHook().

◆ KeyboardScanHook()

void KeyboardScanHook ( void )

Definition at line 817 of file eventmgr.c.

References KeyboardScanHook().

Referenced by KeyboardScanHook().

◆ KeyboardStateHook()

void KeyboardStateHook ( void )

Definition at line 810 of file eventmgr.c.

References KeyboardStateHook().

Referenced by KeyboardStateHook().

◆ LeaveAllocationScope()

◆ MemoryServiceErrorHook()

short MemoryServiceErrorHook ( void )

Definition at line 767 of file eventmgr.c.

References MemoryServiceErrorHook().

Referenced by MemoryServiceErrorHook().

◆ MemoryServiceMapHook()

int __stdcall MemoryServiceMapHook ( int value)

Definition at line 735 of file eventmgr.c.

References MemoryServiceMapHook(), and void().

Referenced by MemoryServiceMapHook().

◆ MemoryServiceQueryHook()

int __stdcall MemoryServiceQueryHook ( int value)

Definition at line 708 of file eventmgr.c.

References MemoryServiceQueryHook(), and void().

Referenced by MemoryServiceQueryHook().

◆ MemoryServiceReleaseHook()

void __stdcall MemoryServiceReleaseHook ( int value)

Definition at line 717 of file eventmgr.c.

References MemoryServiceReleaseHook(), and void().

Referenced by MemoryServiceReleaseHook().

◆ MemoryServiceResetHook()

short MemoryServiceResetHook ( void )

Definition at line 775 of file eventmgr.c.

References MemoryServiceResetHook().

Referenced by MemoryServiceResetHook().

◆ MemoryServiceShutdownHook()

void MemoryServiceShutdownHook ( void )

Definition at line 752 of file eventmgr.c.

References MemoryServiceShutdownHook().

Referenced by MemoryServiceShutdownHook().

◆ MemoryServiceStatusHook()

int MemoryServiceStatusHook ( void )

Definition at line 759 of file eventmgr.c.

References MemoryServiceStatusHook().

Referenced by MemoryServiceStatusHook().

◆ MemoryServiceTransferHook()

int __stdcall MemoryServiceTransferHook ( int first,
int second )

Definition at line 725 of file eventmgr.c.

References MemoryServiceTransferHook(), and void().

Referenced by MemoryServiceTransferHook().

◆ MemoryServiceVersionHook()

short MemoryServiceVersionHook ( void )

Definition at line 744 of file eventmgr.c.

References MemoryServiceVersionHook().

Referenced by MemoryServiceVersionHook().

◆ MouseActivityHook()

void MouseActivityHook ( void )

Definition at line 1086 of file eventmgr.c.

References MouseActivityHook().

Referenced by MouseActivityHook().

◆ MouseCursorCaptureHook()

void MouseCursorCaptureHook ( void )

Definition at line 427 of file eventmgr.c.

References MouseCursorCaptureHook().

Referenced by MouseCursorCaptureHook().

◆ MouseCursorDisplayHook()

void MouseCursorDisplayHook ( void )

Definition at line 545 of file eventmgr.c.

References MouseCursorDisplayHook().

Referenced by MouseCursorDisplayHook().

◆ MouseCursorRedrawHook()

void MouseCursorRedrawHook ( void )

Definition at line 419 of file eventmgr.c.

References MouseCursorRedrawHook().

Referenced by MouseCursorRedrawHook().

◆ MouseIdleHook()

void MouseIdleHook ( void )

Definition at line 1091 of file eventmgr.c.

References MouseIdleHook().

Referenced by DosMemcpy(), LogMemoryUsage(), and MouseIdleHook().

◆ PeekInputEvent()

◆ PollInputEvent()

◆ QueueInputEvent()

◆ QueueInputEventAtCursor()

void QueueInputEventAtCursor ( unsigned short type,
short primaryButton,
short secondaryButton )

◆ RefreshMouseCursorDisplay()

◆ RefreshMouseCursorHook()

void RefreshMouseCursorHook ( void )

Definition at line 411 of file eventmgr.c.

References RefreshMouseCursorHook().

Referenced by DrawMouseCursorIntoViewport(), and RefreshMouseCursorHook().

◆ ReleaseInputEvent()

◆ ReleaseInputEventQueue()

◆ ReleaseUntaggedMemory()

void ReleaseUntaggedMemory ( void * memory)

Definition at line 663 of file eventmgr.c.

References ReleasePacketHandle(), and ReleaseUntaggedMemory().

Referenced by DosMemcpy(), and ReleaseUntaggedMemory().

◆ RemoveInputEvent()

◆ ResetAllocationDepth()

short __stdcall ResetAllocationDepth ( int x,
int y )

Definition at line 387 of file eventmgr.c.

References nMouseCursorShowCount, ResetAllocationDepth(), and void().

Referenced by DosMemcpy(), and ResetAllocationDepth().

◆ ResetInputKeyStatePreservingModifiers()

void ResetInputKeyStatePreservingModifiers ( void )

◆ RestoreMouseCursorBackground()

◆ RetainInputEventsOfType()

◆ ScreenViewportHook()

int ScreenViewportHook ( void )

Definition at line 1071 of file eventmgr.c.

References ScreenViewportHook().

Referenced by ScreenViewportHook().

◆ ScreenViewportResetHook()

void ScreenViewportResetHook ( void )

Definition at line 1079 of file eventmgr.c.

References ScreenViewportResetHook().

Referenced by ScreenViewportResetHook().

◆ SelectDiskDriveHook()

unsigned short __stdcall SelectDiskDriveHook ( short drive)

Definition at line 1175 of file eventmgr.c.

References SelectDiskDriveHook().

Referenced by DosMemcpy(), OpenDiskDataFile(), and SelectDiskDriveHook().

◆ set_up_screen_viewport()

◆ SetFrameTimerAndWait()

void __stdcall SetFrameTimerAndWait ( short period)

◆ SetFrameTimerPeriod()

void SetFrameTimerPeriod ( short period)

◆ SetFrameTimerPeriodDirect()

◆ SetInputKeyState()

void SetInputKeyState ( int scanCode,
unsigned char pressed )

◆ SetMouseCursorShape()

◆ SetMouseHomePosition()

void __stdcall SetMouseHomePosition ( short x,
short y )

◆ shrink()

unsigned int shrink ( int * component)

Definition at line 1235 of file eventmgr.c.

References shrink().

Referenced by DosMemcpy(), point_at(), shrink(), and shrink_vector().

◆ shrink_vector()

unsigned int shrink_vector ( FixedVector * vector)

◆ ShutdownHook()

void ShutdownHook ( int vector,
void * handler )

Definition at line 1161 of file eventmgr.c.

References ShutdownHook(), and void().

Referenced by DosMemcpy(), LogMemoryUsage(), main(), and ShutdownHook().

◆ sort_object_depth()

◆ StartupHook()

void StartupHook ( unsigned int(* callback )(unsigned int, short))

Definition at line 1114 of file eventmgr.c.

References StartupHook(), and void().

Referenced by DosMemcpy(), main(), and StartupHook().

◆ TimerResetHook()

void TimerResetHook ( void )

Definition at line 669 of file eventmgr.c.

References TimerResetHook().

Referenced by DosMemcpy(), FrameStartHook(), and TimerResetHook().

◆ TimerStopHook()

void TimerStopHook ( void )

Definition at line 687 of file eventmgr.c.

References TimerStopHook().

Referenced by DosMemcpy(), MessagePumpHook(), and TimerStopHook().

◆ TranslatePolledInputEvent()

◆ UntaggedMemoryHook()

int UntaggedMemoryHook ( void )

Definition at line 657 of file eventmgr.c.

References UntaggedMemoryHook().

Referenced by UntaggedMemoryHook().

◆ WaitForFrameTick()

void WaitForFrameTick ( void )

Variable Documentation

◆ abCursorSaveArea

unsigned char abCursorSaveArea[0x1000]
static

◆ abInputKeyStateArray

unsigned char abInputKeyStateArray[0x80]

◆ aInputEvtPool

InputEvent aInputEvtPool[0x100]

Definition at line 18 of file eventmgr.c.

Referenced by AllocateInputEvent(), and ReleaseInputEvent().

◆ anEventObjectDepthPlacedList

int anEventObjectDepthPlacedList[SPACE_OBJECT_COUNT]

Definition at line 32 of file eventmgr.c.

Referenced by sort_object_depth().

◆ bCurrentExpandedMemoryAvail

short bCurrentExpandedMemoryAvail

Definition at line 27 of file eventmgr.c.

Referenced by free_ship(), load_ship(), LoadOriginFxDrivers(), LoadSpaceflightResources(), and main().

◆ bEventMouseCursorDrawnFlag

int bEventMouseCursorDrawnFlag

◆ bFilteredKeyWaitActive

unsigned char bFilteredKeyWaitActive

Definition at line 22 of file eventmgr.c.

Referenced by WaitForKeyExceptXOrF12().

◆ bInputModeState

◆ DAT_0059a9f0

short DAT_0059a9f0

Definition at line 33 of file eventmgr.c.

Referenced by InitializeEventManagerResources(), and InitializeEventManagerTiming().

◆ nCurrentViewCenterPosX

◆ nCurrentViewCenterPosY

◆ nEventManagerActive

short nEventManagerActive

◆ nMouseCursorSavedCoordY

int nMouseCursorSavedCoordY

Definition at line 19 of file eventmgr.c.

Referenced by SetMouseCursorShape().

◆ nMouseCursorSavedX

int nMouseCursorSavedX

Definition at line 20 of file eventmgr.c.

Referenced by SetMouseCursorShape().

◆ nMousePointerDrawnX

int nMousePointerDrawnX

Definition at line 31 of file eventmgr.c.

Referenced by CaptureMouseCursorBackground(), and RestoreMouseCursorBackground().

◆ nMousePointerDrawnY

int nMousePointerDrawnY

Definition at line 30 of file eventmgr.c.

Referenced by CaptureMouseCursorBackground(), and RestoreMouseCursorBackground().

◆ nPktDecompressSourceFile

short nPktDecompressSourceFile

Definition at line 28 of file eventmgr.c.

Referenced by DecompressPacketSection().