ref: b8f176fc34741b72fc6bbb6ab45cad33c2c0d717
dir: /fns.h/
void Qcommon_Init(int, char **); void Qcommon_Frame(int); void Z_Free(void *); void* Z_Malloc(int); void* Z_TagMalloc(int, int); void Z_FreeTags(int); int COM_Argc(void); char* COM_Argv(int); void COM_ClearArgv(int); int COM_CheckParm(char *); void COM_AddParm(char *); void COM_Init(void); void COM_InitArgv(int, char **); char* COM_SkipPath(char *); void COM_StripExtension(char *, char *); void COM_FileBase(char *, char *); void COM_FilePath(char *, char *); void COM_DefaultExtension(char *, char *); char* COM_Parse(char **); void Com_PageInMemory(uchar *, int); char* CopyString(char *); char* va(char *, ...); void Com_sprintf(char *, int, char *, ...); void Info_Print(char *); void Com_BeginRedirect(int, char *, int, void(*)); void Com_EndRedirect(void); void Com_Printf(char *, ...); void Com_DPrintf(char *, ...); void Com_Error(int, char *, ...); void Com_Quit(void); int Com_ServerState(void); void Com_SetServerState(int state); unsigned Com_BlockChecksum(void *, int); uchar COM_BlockSequenceCRCByte(uchar *, int, int); float qfrand(void); float crand(void); void FS_InitFilesystem(void); void FS_SetGamedir(char *); char* FS_Gamedir(void); char* FS_NextPath(char *); void FS_ExecAutoexec(void); int FS_FOpenFile(char *, FILE **); void FS_FCloseFile(FILE *); int FS_LoadFile(char *, void **); void FS_Read(void *, int, FILE *); void FS_FreeFile(void *); void FS_CreatePath(char *); char* Sys_FindFirst(char *, uint, uint); char* Sys_FindNext(uint, uint); void Sys_FindClose(void); int Sys_Milliseconds(void); void Sys_Mkdir(char *); void Sys_Init(void); void Sys_AppActivate(void); void Sys_UnloadGame(void); char* Sys_ConsoleInput(void); void Sys_ConsoleOutput(char *); void Sys_SendKeyEvents(void); void Sys_Error(char *, ...); void Sys_Quit(void); char* Sys_GetClipboardData(void); void Sys_CopyProtect(void); void Sys_MakeCodeWriteable(ulong, ulong); void Sys_SetFPCW(void); vlong flen(int); void* Hunk_Begin(int); void* Hunk_Alloc(int); void Hunk_Free(void *); int Hunk_End(void); void CL_Init(void); void CL_Drop(void); void CL_Shutdown(void); void CL_Frame(int); short BigShort(short); short LittleShort(short); int BigLong(int); int LittleLong(int); float BigFloat(float); float LittleFloat(float); void Swap_Init(void); char* Info_ValueForKey(char *, char *); void Info_RemoveKey(char *, char *); void Info_SetValueForKey(char *, char *, char *); qboolean Info_Validate(char *); void SZ_Init(sizebuf_t *, uchar *, int); void SZ_Clear(sizebuf_t *); void* SZ_GetSpace(sizebuf_t *, int); void SZ_Write(sizebuf_t *, void *, int); void SZ_Print(sizebuf_t *, char *); void MSG_WriteChar(sizebuf_t *, int); void MSG_WriteByte(sizebuf_t *, int); void MSG_WriteShort(sizebuf_t *, int); void MSG_WriteLong(sizebuf_t *, int); void MSG_WriteFloat(sizebuf_t *, float); void MSG_WriteString(sizebuf_t *, char *); void MSG_WriteCoord(sizebuf_t *, float); void MSG_WritePos(sizebuf_t *, vec3_t); void MSG_WriteAngle(sizebuf_t *, float); void MSG_WriteAngle16(sizebuf_t *, float); void MSG_WriteDeltaUsercmd(sizebuf_t *, usercmd_t *, usercmd_t *); void MSG_WriteDeltaEntity(entity_state_t *, entity_state_t *, sizebuf_t *, qboolean, qboolean); void MSG_WriteDir(sizebuf_t *, vec3_t); void MSG_BeginReading(sizebuf_t *); int MSG_ReadChar(sizebuf_t *); int MSG_ReadByte(sizebuf_t *); int MSG_ReadShort(sizebuf_t *); int MSG_ReadLong(sizebuf_t *); float MSG_ReadFloat(sizebuf_t *); char* MSG_ReadString(sizebuf_t *); char* MSG_ReadStringLine(sizebuf_t *); float MSG_ReadCoord(sizebuf_t *); void MSG_ReadPos(sizebuf_t *, vec3_t); float MSG_ReadAngle(sizebuf_t *); float MSG_ReadAngle16(sizebuf_t *); void MSG_ReadDeltaUsercmd(sizebuf_t *, usercmd_t *, usercmd_t *); void MSG_ReadDir(sizebuf_t *, vec3_t); void MSG_ReadData(sizebuf_t *, void *, int); void CRC_Init(ushort *); void CRC_ProcessByte(ushort *, uchar); ushort CRC_Value(ushort); ushort CRC_Block(uchar *, int); void Cbuf_Init(void); void Cbuf_AddText(char *); void Cbuf_InsertText(char *); void Cbuf_ExecuteText(int, char *); void Cbuf_Execute(void); void Cbuf_AddEarlyCommands(qboolean); qboolean Cbuf_AddLateCommands(void); void Cbuf_CopyToDefer(void); void Cbuf_InsertFromDefer(void); void Cmd_Init(void); void Cmd_AddCommand(char *, xcommand_t); void Cmd_RemoveCommand(char *); qboolean Cmd_Exists(char *); char* Cmd_CompleteCommand(char *); int Cmd_Argc(void); char* Cmd_Argv(int); char* Cmd_Args(void); void Cmd_TokenizeString(char *, qboolean); void Cmd_ExecuteString(char *); void Cmd_ForwardToServer(void); void Con_DrawCharacter(int, int, int); void Con_CheckResize(void); void Con_Init(void); void Con_DrawConsole(float); void Con_Print(char *); void Con_CenteredPrint(char *); void Con_Clear_f(void); void Con_DrawNotify(void); void Con_ClearNotify(void); void Con_ToggleConsole_f(void); void DrawString(int, int, char *); void DrawAltString(int, int, char *); cvar_t* Cvar_Get(char *, char *, int); cvar_t* Cvar_Set(char *, char *); cvar_t* Cvar_ForceSet(char *, char *); cvar_t* Cvar_FullSet(char *, char *, int); void Cvar_SetValue(char *, float); float Cvar_VariableValue(char *); char* Cvar_VariableString(char *); char* Cvar_CompleteVariable(char *); void Cvar_GetLatchedVars(void); qboolean Cvar_Command(void); void Cvar_WriteVariables(char *); void Cvar_Init(void); char* Cvar_Userinfo(void); char* Cvar_Serverinfo(void); void CL_ParticleSteamEffect2(cl_sustain_t *); void CL_TeleporterParticles(entity_state_t *); void CL_ParticleEffect(vec3_t, vec3_t, int, int); void CL_ParticleEffect2(vec3_t, vec3_t, int, int); void CL_ParticleEffect3(vec3_t, vec3_t, int, int); void CL_ClearEffects(void); void CL_ClearTEnts(void); void CL_BlasterTrail(vec3_t, vec3_t); void CL_QuadTrail(vec3_t, vec3_t); void CL_RailTrail(vec3_t, vec3_t); void CL_BubbleTrail(vec3_t, vec3_t); void CL_FlagTrail(vec3_t, vec3_t, float); void CL_IonripperTrail(vec3_t, vec3_t); void CL_BlasterParticles2(vec3_t, vec3_t, uint); void CL_BlasterTrail2(vec3_t, vec3_t); void CL_DebugTrail(vec3_t, vec3_t); void CL_SmokeTrail(vec3_t, vec3_t, int, int, int); void CL_Flashlight(int, vec3_t); void CL_ForceWall(vec3_t, vec3_t, int); void CL_FlameEffects(centity_t *, vec3_t); void CL_GenericParticleEffect(vec3_t, vec3_t, int, int, int, int, float); void CL_BubbleTrail2(vec3_t, vec3_t, int); void CL_Heatbeam(vec3_t, vec3_t); void CL_ParticleSteamEffect(vec3_t, vec3_t, int, int, int); void CL_TrackerTrail(vec3_t, vec3_t, int); void CL_Tracker_Explode(vec3_t); void CL_TagTrail(vec3_t, vec3_t, float); void CL_ColorFlash(vec3_t, int, int, float, float, float); void CL_Tracker_Shell(vec3_t); void CL_MonsterPlasma_Shell(vec3_t); void CL_ColorExplosionParticles(vec3_t, int, int); void CL_ParticleSmokeEffect(vec3_t, vec3_t, int, int, int); void CL_Widowbeamout(cl_sustain_t *); void CL_Nukeblast(cl_sustain_t *); void CL_WidowSplash(vec3_t); int CL_ParseEntityBits(int *); void CL_ParseDelta(entity_state_t *, entity_state_t *, int, int); void CL_ParseFrame(void); void CL_ParseTEnt(void); void CL_ParseConfigString(void); void CL_ParseMuzzleFlash(void); void CL_ParseMuzzleFlash2(void); void SmokeAndFlash(vec3_t); void CL_SetLightstyle(int); void CL_RunParticles(void); void CL_RunDLights(void); void CL_RunLightStyles(void); void CL_AddEntities(void); void CL_AddDLights(void); void CL_AddTEnts(void); void CL_AddLightStyles(void); void CL_PrepRefresh(void); void CL_RegisterSounds(void); void CL_Quit_f(void); void CL_ParseLayout(void); void CL_Init(void); void CL_FixUpGender(void); void CL_Disconnect(void); void CL_Disconnect_f(void); void CL_GetChallengePacket(void); void CL_PingServers_f(void); void CL_Snd_Restart_f(void); void CL_RequestNextDownload(void); void CL_InitInput(void); void CL_SendCmd(void); void CL_SendMove(usercmd_t *); void CL_ClearState(void); void CL_ReadPackets(void); int CL_ReadFromServer(void); void CL_WriteToServer(usercmd_t *); void CL_BaseMove(usercmd_t *); void IN_CenterView(void); float CL_KeyState(kbutton_t *); char* Key_KeynumToString(int); void CL_WriteDemoMessage(void); void CL_Stop_f(void); void CL_Record_f(void); void CL_ParseServerMessage(void); void CL_LoadClientinfo(clientinfo_t *, char *); void SHOWNET(char *); void CL_ParseClientinfo(int); void CL_Download_f(void); void V_Init(void); void V_RenderView(float); void V_AddEntity(entity_t *); void V_AddParticle(vec3_t, int, float); void V_AddLight(vec3_t, float, float, float, float); void V_AddLightStyle(int, float, float, float); void CL_RegisterTEntSounds(void); void CL_RegisterTEntModels(void); void CL_SmokeAndFlash(vec3_t); void CL_InitPrediction(void); void CL_PredictMove(void); void CL_CheckPredictionError(void); cdlight_t* CL_AllocDlight(int); void CL_BigTeleportParticles(vec3_t); void CL_RocketTrail(vec3_t, vec3_t, centity_t *); void CL_DiminishingTrail(vec3_t, vec3_t, centity_t *, int); void CL_FlyEffect(centity_t *, vec3_t); void CL_BfgParticles(entity_t *); void CL_AddParticles(void); void CL_EntityEvent(entity_state_t *); void CL_TrapParticles(entity_t *); void M_Init(void); void M_Keydown(int); void M_Draw(void); void M_Menu_Main_f(void); void M_ForceMenuOff(void); void M_AddToServerList(netadr_t, char *); void CL_ParseInventory(void); void CL_KeyInventory(int); void CL_DrawInventory(void); void CL_PredictMovement(void); qboolean CL_CheckOrDownloadFile(char *); void CL_AddNetgraph(void); void SV_Init(void); void SV_Shutdown(char *, qboolean); void SV_Frame(int); void SV_FinalMessage(char *, qboolean); void SV_DropClient(client_t *); int SV_ModelIndex(char *); int SV_SoundIndex(char *); int SV_ImageIndex(char *); void SV_WriteClientdataToMessage(client_t *, sizebuf_t *); void SV_ExecuteUserCommand(char *); void SV_InitOperatorCommands(void); void SV_SendServerinfo(client_t *); void SV_UserinfoChanged(client_t *); void Master_Heartbeat(void); void Master_Packet(void); void SV_InitGame(void); void SV_Map(qboolean, char *, qboolean); void SV_PrepWorldFrame(void); void SV_FlushRedirect(int, char *); void SV_DemoCompleted(void); void SV_SendClientMessages(void); void SV_Multicast(vec3_t, multicast_t); void SV_StartSound(vec3_t, edict_t *, int, int, float, float, float); void SV_ClientPrintf(client_t *, int, char *, ...); void SV_BroadcastPrintf(int, char *, ...); void SV_BroadcastCommand(char *, ...); void SV_Nextserver(void); void SV_ExecuteClientMessage(client_t *); void SV_ReadLevelFile(void); void SV_Status_f(void); void SV_WriteFrameToClient(client_t *, sizebuf_t *); void SV_RecordDemoMessage(void); void SV_BuildClientFrame(client_t *); void SV_Error(char *, ...); void SV_InitGameProgs(void); void SV_ShutdownGameProgs(void); void SV_InitEdict(edict_t *); void SV_ClearWorld(void); void SV_UnlinkEdict(edict_t *); void SV_LinkEdict(edict_t *); int SV_AreaEdicts(vec3_t, vec3_t, edict_t **, int, int); int SV_PointContents(vec3_t); trace_t SV_Trace(vec3_t, vec3_t, vec3_t, vec3_t, edict_t *, int); void NET_Init(void); void NET_Shutdown(void); void NET_Config(qboolean); qboolean NET_GetPacket(netsrc_t, netadr_t *, sizebuf_t *); void NET_SendPacket(netsrc_t, int, void *, netadr_t); qboolean NET_CompareAdr(netadr_t, netadr_t); qboolean NET_CompareBaseAdr(netadr_t, netadr_t); qboolean NET_IsLocalAddress(netadr_t); char* NET_AdrToString(netadr_t); qboolean NET_StringToAdr (char *, netadr_t *); void NET_Sleep(int); void Netchan_Init(void); void Netchan_Setup(netsrc_t, netchan_t *, netadr_t, int); qboolean Netchan_NeedReliable(netchan_t *); void Netchan_Transmit(netchan_t *, int, uchar *); void Netchan_OutOfBand(int, netadr_t, int, uchar *); void Netchan_OutOfBandPrint(int, netadr_t, char *, ...); qboolean Netchan_Process(netchan_t *, sizebuf_t *); qboolean Netchan_CanReliable(netchan_t *); void Mod_Init(void); void Mod_ClearAll(void); model_t* Mod_ForName(char *, qboolean); void* Mod_Extradata(model_t *); void Mod_TouchModel(char *); mleaf_t* Mod_PointInLeaf(float *, model_t *); uchar* Mod_ClusterPVS(int, model_t *); void Mod_Modellist_f(void); void Mod_FreeAll(void); void Mod_Free(model_t *); void D_DrawSurfaces(void); void D_ViewChanged(void); void D_WarpScreen(void); void D_DrawSpans16(espan_t *); void D_DrawZSpans(espan_t *); void Turbulent8(espan_t *); void NonTurbulent8(espan_t *); void TransformVector(vec3_t, vec3_t); void SetUpForLineScan(fixed8_t, fixed8_t, fixed8_t, fixed8_t); surfcache_t* D_CacheSurface(msurface_t *, int); void R_DrawParticle(void); void R_PolysetUpdateTables(void); void R_DrawSurface(void); void R_RenderWorld(void); void R_ClearPolyList(void); void R_DrawPolyList(void); void R_DrawAlphaSurfaces(void); void R_DrawSprite(void); void R_DrawBeam(entity_t *); void R_RenderFace(msurface_t *, int); void R_RenderBmodelFace(bedge_t *, msurface_t *); void R_TransformPlane(mplane_t *, float *, float *); void R_TransformFrustum(void); void R_DrawSurfaceBlock16(void); void R_DrawSurfaceBlock8(void); void R_GenSkyTile(void *); void R_GenSkyTile16(void *); void R_Surf8Patch(void); void R_Surf16Patch(void); void R_DrawSubmodelPolygons(model_t *, int, mnode_t *); void R_DrawSolidClippedSubmodelPolygons(model_t *, mnode_t *); void R_AddPolygonEdges(emitpoint_t *, int, int); surf_t* R_GetSurf(void); void R_AliasDrawModel(void); void R_BeginEdgeFrame(void); void R_ScanEdges(void); void D_DrawSurfaces(void); void R_InsertNewEdges(edge_t *, edge_t *); void R_StepActiveU(edge_t *); void R_RemoveEdges(edge_t *); void R_PushDlights(model_t *); void R_Surf8Start(void); void R_Surf8End(void); void R_Surf16Start(void); void R_Surf16End(void); void R_EdgeCodeStart(void); void R_EdgeCodeEnd(void); void R_RotateBmodel(void); void R_InitTurb(void); void R_DrawParticles(void); void R_SurfacePatch(void); void R_DrawTriangle(void); void R_AliasClipTriangle(finalvert_t *, finalvert_t *, finalvert_t *); void R_PrintAliasStats(void); void R_PrintTimes(void); void R_PrintDSpeeds(void); void R_AnimateLight(void); void R_LightPoint(vec3_t, vec3_t); void R_SetupFrame(void); void R_cshift_f(void); void R_EmitEdge(mvertex_t *, mvertex_t *); void R_ClipEdge(mvertex_t *, mvertex_t *, clipplane_t *); void R_SplitEntityOnNode2(mnode_t *); float R_DLightPoint(vec3_t); void R_NewMap(void); void R_Register(void); void R_UnRegister(void); void Draw_InitLocal(void); qboolean R_Init(void *, void *); void R_Shutdown(void); void R_InitCaches(void); void D_FlushCaches(void); void R_ScreenShot_f(void); void R_BeginRegistration(char *map); model_t* R_RegisterModel(char *); void R_EndRegistration(void); void R_RenderFrame(refdef_t *); image_t* Draw_FindPic(char *); void Draw_GetPicSize(int *, int *, char *); void Draw_Pic(int, int, char *); void Draw_StretchPic(int, int, int, int, char *); void Draw_StretchRaw(int, int, int, int, int, int, uchar *); void Draw_Char(int, int, int); void Draw_TileClear(int, int, int, int, char *); void Draw_Fill(int, int, int, int, int); void Draw_FadeScreen(void); void Draw_GetPalette(void); void R_BeginFrame(float); void R_CinematicSetPalette(uchar *palette); void LoadPCX(char *, uchar **, uchar **, int *, int *); void R_InitImages(void); void R_ShutdownImages(void); image_t* R_FindImage(char *, imagetype_t); void R_FreeUnusedImages(void); void R_GammaCorrectAndSetPalette(uchar *pal); void R_InitSkyBox(void); void R_IMFlatShadedQuad(vec3_t, vec3_t, vec3_t, vec3_t, int, float); image_t* R_RegisterSkin(char *); void VectorMA(vec3_t, float, vec3_t, vec3_t); vec_t _DotProduct(vec3_t, vec3_t); // just in case you do't want to use the macros void _VectorSubtract(vec3_t, vec3_t, vec3_t); void _VectorAdd(vec3_t, vec3_t, vec3_t); void _VectorCopy(vec3_t, vec3_t); void ClearBounds(vec3_t, vec3_t); void AddPointToBounds(vec3_t, vec3_t, vec3_t); int VectorCompare(vec3_t, vec3_t); vec_t VectorLength(vec3_t); void CrossProduct(vec3_t, vec3_t, vec3_t); vec_t VectorNormalize(vec3_t); vec_t VectorNormalize2 (vec3_t, vec3_t); void VectorInverse(vec3_t); void VectorScale(vec3_t, vec_t, vec3_t); void R_ConcatRotations(float[3][3], float[3][3], float[3][3]); void R_ConcatTransforms(float[3][4], float[3][4], float[3][4]); void AngleVectors(vec3_t, vec3_t, vec3_t, vec3_t); int BoxOnPlaneSide(vec3_t, vec3_t, cplane_t *); float anglemod(float); float LerpAngle(float, float, float); void ProjectPointOnPlane(vec3_t, vec3_t, vec3_t); void PerpendicularVector(vec3_t, vec3_t); void RotatePointAroundVector(vec3_t, vec3_t, vec3_t, float); cmodel_t* CM_LoadMap(char *, qboolean, unsigned *); cmodel_t* CM_InlineModel(char *); int CM_NumClusters(void); int CM_NumInlineModels(void); char* CM_EntityString(void); int CM_HeadnodeForBox(vec3_t, vec3_t); int CM_PointContents(vec3_t, int); int CM_TransformedPointContents(vec3_t, int, vec3_t, vec3_t); trace_t CM_BoxTrace(vec3_t, vec3_t, vec3_t, vec3_t, int, int); trace_t CM_TransformedBoxTrace(vec3_t, vec3_t, vec3_t, vec3_t, int, int, vec3_t, vec3_t); uchar* CM_ClusterPVS(int); uchar* CM_ClusterPHS(int); int CM_PointLeafnum(vec3_t); int CM_BoxLeafnums(vec3_t, vec3_t, int *, int, int *); int CM_LeafContents(int); int CM_LeafCluster(int); int CM_LeafArea(int); void CM_SetAreaPortalState(int, qboolean); qboolean CM_AreasConnected(int, int); int CM_WriteAreaBits(uchar *, int); qboolean CM_HeadnodeVisible(int, uchar *); void CM_WritePortalState(FILE *); void CM_ReadPortalState(FILE *); void Pmove(pmove_t *); void SCR_Init(void); void SCR_UpdateScreen(void); void SCR_SizeUp(void); void SCR_SizeDown(void); void SCR_CenterPrint(char *); void SCR_BeginLoadingPlaque(void); void SCR_EndLoadingPlaque(void); void SCR_DebugGraph(float, int); void SCR_TouchPics(void); void SCR_RunConsole(void); void SCR_AddDirtyPoint(int, int); void SCR_DirtyScreen(void); void SCR_PlayCinematic (char *name); qboolean SCR_DrawCinematic(void); void SCR_RunCinematic(void); void SCR_StopCinematic(void); void SCR_FinishCinematic(void); void VID_Init(void); void VID_Shutdown(void); void VID_CheckChanges(void); void VID_MenuInit(void); void VID_MenuDraw(void); char* VID_MenuKey(int); void SWimp_BeginFrame(float); void SWimp_EndFrame(void); int SWimp_Init(void *, void *); void SWimp_SetPalette(uchar *); void SWimp_Shutdown(void); rserr_t SWimp_SetMode(int *, int *, int, qboolean); void SWimp_AppActivate(qboolean); void S_Init(void); void S_Shutdown(void); void S_StartSound(vec3_t, int, int, sfx_t *, float, float, float); void S_StartLocalSound(char *); void S_RawSamples(int, int, int, int, uchar *); void S_StopAllSounds(void); void S_Update(vec3_t, vec3_t, vec3_t, vec3_t); void S_Activate(qboolean); void S_BeginRegistration(void); sfx_t* S_RegisterSound(char *); void S_EndRegistration(void); void CL_GetEntitySoundOrigin(int, vec3_t); qboolean SNDDMA_Init(void); int SNDDMA_GetDMAPos(void); void SNDDMA_Shutdown(void); void SNDDMA_BeginPainting(void); void SNDDMA_Submit(void); wavinfo_t GetWavinfo(char *, uchar *, int); void S_InitScaletable(void); sfxcache_t* S_LoadSound(sfx_t *); void S_IssuePlaysound(playsound_t *); void S_PaintChannels(int); channel_t* S_PickChannel(int, int); void S_Spatialize(channel_t *); int CDAudio_Init(void); void CDAudio_Shutdown(void); void CDAudio_Play(int, qboolean); void CDAudio_Stop(void); void CDAudio_Update(void); void CDAudio_Activate(qboolean); void IN_Init(void); void IN_Shutdown(void); void IN_Commands(void); void IN_Frame(void); void IN_Move(usercmd_t *); void IN_Activate(qboolean); void IN_Grabm(int); void Key_Event(int, qboolean, unsigned); void Key_Init(void); void Key_WriteBindings(FILE *); void Key_SetBinding(int, char *); void Key_ClearStates(void); int Key_GetKey(void); qboolean Field_Key(menufield_t *, int); void Menu_AddItem(menuframework_t *, void *); void Menu_AdjustCursor(menuframework_t *, int); void Menu_Center(menuframework_t *); void Menu_Draw(menuframework_t *); void* Menu_ItemAtCursor(menuframework_t *); qboolean Menu_SelectItem(menuframework_t *); void Menu_SetStatusBar(menuframework_t *, char *); void Menu_SlideItem(menuframework_t *, int); int Menu_TallySlots(menuframework_t *); void Menu_DrawString(int, int, char *); void Menu_DrawStringDark(int, int, char *); void Menu_DrawStringR2L(int, int, char *); void Menu_DrawStringR2LDark(int, int, char *);