void TPrinter::GetDefaultPrinter()
{
  char Printer[80];
  Pchar Cur;

  GetProfileString("windows", "device", "", Printer,
    sizeof(Printer) - 1);
  Cur = Printer;
  Device = newstrdup(FetchStr(Cur));
  Driver = newstrdup(FetchStr(Cur));
  Port = newstrdup(FetchStr(Cur));
}
void TPrinter::SetDevice(Pchar ADevice, Pchar ADriver, Pchar APort)
{
  char DriverName[80];
  DEVMODE StubDevMode;

  if (Equal(Device, ADevice) && Equal(Driver, ADriver) &&
    Equal(Port, APort))
        return;
  ClearDevice();
  if (ADevice == NULL)
    GetDefaultPrinter();
  else {
    Device = newstrdup(ADevice);
    Driver = newstrdup(ADriver);
    Port = newstrdup(APort);
  }
  Status = PS_OK;
  strncpy(DriverName, Driver, sizeof(DriverName) - 1);
  strncat(DriverName, ".DRV", sizeof(DriverName) - strlen(DriverName) - 1);
  DeviceModule = LoadLibrary(DriverName);
        if ((int)DeviceModule < 32)
        Status = PS_INVALIDDEVICE;
  else {
    // Grab the DevMode procedures
    ExtDeviceMode = (LPFNDEVMODE) GetProcAddress(DeviceModule, "ExtDeviceMode");
    DeviceMode = (PTDeviceModeFcn) GetProcAddress(DeviceModule, "DeviceMode");
    if ((DeviceMode == NULL) && (ExtDeviceMode == NULL))
      Status = PS_INVALIDDEVICE;
    if (ExtDeviceMode != NULL) {
      // Get default printer settings
      DevSettingSize = ExtDeviceMode(0, DeviceModule, &StubDevMode,
        Device, Port, &StubDevMode, NULL, 0);
      DevSettings = (PDEVMODE) new char[DevSettingSize];
      ExtDeviceMode(0, DeviceModule, DevSettings, Device, Port,
        DevSettings, NULL, DM_OUT_BUFFER);
    }
    else
      DevSettings = NULL;  // Cannot use local settings
  }
}
Exemple #3
0
// *** copy constructor ***
CComError::CComError(CComError& e)
{
	pos = e.pos;
	
	errorCode = e.errorCode;
	intData = e.intData;
	if(e.strData)
	{
		strData = newstrdup(e.strData);
		assert(strData);
	} else
		strData = 0;
}
Exemple #4
0
char *CSEdOpenedFiles::NormalizePath(char *path)
{
	char *p = newstrdup(path);
	UC *c=(UC*)p;

	while(*c){
		if(*c=='\\') 
			*c='/';
		else
			*c = tolower(*c);
		c++;
	}

	return p;
}
Exemple #5
0
// *** operator = ***
CComError& CComError::operator=(const CComError& e)
{
	pos = e.pos;
	
	errorCode = e.errorCode;
	intData = e.intData;
	if(strData)
		SAFE_DELETE_ARRAY(strData);
	if(e.strData)
	{
		strData = newstrdup(e.strData);
		assert(strData);
	} else
		strData = 0;
	return *this;
}
Exemple #6
0
// *** constructor ***
CComError::CComError(int _errorCode, int _intData, const char* _strData, CComShortPosition* _pos)
{
	errorCode = _errorCode;
	intData = _intData;
	if(_strData)
	{
		strData = newstrdup(_strData);
		assert(strData);
	} else
		strData = 0;
	if(_pos)
	{
		pos.fileID = _pos->fileID;
		pos.line = _pos->line;
		pos.column = _pos->column;
	}
}
Exemple #7
0
int CEDLevelPropertiesDlg::Ok()
{
	edAutor->Sync(1);
	SAFE_DELETE_ARRAY(KerMain->LevelInfo.Author);
	if (autor && *autor)
		KerMain->LevelInfo.Author = newstrdup(autor);

	edCsName->Sync(1);
	CFSRegKey *k;
	if (KerMain->LevelInfo.LocalNames && (k = KerMain->LevelInfo.LocalNames->FindKey("cs")))
		KerMain->LevelInfo.LocalNames->DeleteKey(k);
	if (csName[0]) 
	{
		if (!KerMain->LevelInfo.LocalNames)
			KerMain->LevelInfo.LocalNames = new CFSRegister();
		KerMain->LevelInfo.LocalNames->AddKey("cs", FSRTstring)->stringwrite(csName);
	}
	MMLevelDirs->InvalidateDir("$GAME$");

	if (cbSkip->GetState())
		KerMain->LevelInfo.Tags |= eMMLTskipable;
	else
		KerMain->LevelInfo.Tags &= ~eMMLTskipable;

	if (cbEditable->GetState())
		KerMain->LevelInfo.Tags |= eMMLTalwEditable;
	else
		KerMain->LevelInfo.Tags &= ~eMMLTalwEditable;

	if (cbPLayable->GetState())
		KerMain->LevelInfo.Tags |= eMMLTalwAccess;
	else
		KerMain->LevelInfo.Tags &= ~eMMLTalwAccess;


	CloseWindow();

	return 1;
}
Exemple #8
0
CGUIFileBrowserItem* CEDFileSelector::AddItem(CGUIFileBrowserItem* fbi, const char* name, int dir)
{
	CGUIFileBrowserItem* ni;

	char *ff=NULL;
	char *shn;
	int ext;
	
	ff = newstrdup(name);

	shn = KerServices.ConvertFileNameToShort(name,ext,dir,0);

		if(dir && ext!=eEXTpackage)
		{
			if(ext==eEXTlevel)
			{
				if(fbi)
					ni = (CGUIFileBrowserItem*)fbi->AddTreeItem(0,shn,new CGUIRectHost(0,0,styleSet->Get("FBlevel")->GetTexture(0)),ff,true);
				else
					ni = (CGUIFileBrowserItem*)AddTreeItem(0,shn,new CGUIRectHost(0,0,styleSet->Get("FBlevel")->GetTexture(0)),ff,true);
			}
			else
			{
				if(fbi)
					ni = (CGUIFileBrowserItem*)fbi->AddTreeItem(0,shn,new CGUIRectHost(0,0,styleSet->Get("FBdir")->GetTexture(0)),ff,true);
				else
					ni = (CGUIFileBrowserItem*)AddTreeItem(0,shn,new CGUIRectHost(0,0,styleSet->Get("FBdir")->GetTexture(0)),ff,true);
			}
			
			if(ext!=eEXTlevel || filterExt!=eEXTlevel)
			{
				ni->state=1;
				ni->ChangeRoller();
			}
		}else{
			if(ext==filterExt)
			{
				if(ext==eEXTauto)
				{
					if(fbi)
						ni = (CGUIFileBrowserItem*)fbi->AddTreeItem(0,shn,new CGUIRectHost(0,0,styleSet->Get("STD_AUTO_TEX")->GetTexture(0)),ff,true);
					else
						ni = (CGUIFileBrowserItem*)AddTreeItem(0,shn,new CGUIRectHost(0,0,styleSet->Get("STD_AUTO_TEX")->GetTexture(0)),ff,true);
				}
				else
				{
					if(fbi)
						ni = (CGUIFileBrowserItem*)fbi->AddTreeItem(0,shn,new CGUIRectHost(0,0,styleSet->Get("FBscriptfile")->GetTexture(0)),ff,true);
					else
						ni = (CGUIFileBrowserItem*)AddTreeItem(0,shn,new CGUIRectHost(0,0,styleSet->Get("FBscriptfile")->GetTexture(0)),ff,true);
				}
			}
			else
				ni = 0;

		}

	if(ni)
	{
		ni->userTagType = eUTint;
		ni->ut.pInt = ext;

		ni->dir=dir;
		ni->name = ff;
	}else{
		SAFE_DELETE_ARRAY(ff);
	}

	return ni;
}
Exemple #9
0
int CMMDesktop::ShowMainMenu()
{

	SAFE_DELETE_ARRAY(quicksave);
	SAFE_DELETE(levBrowser);

	if(MMmode==1)
	{
		if(GEnMain){
			GEnMain->DeleteAll();
			GEnMain->SetScrollShift(0,0);
		}
		KRKAL->DeleteKeyBoardMessages();
		mainGUI->cursor->SetVisible(1);

		int victory=KRKAL->GetGameVictory();
		if(victory)
		{
			if(playingFile) MMProfiles->CompleteLev(playingFile->Name);
		}
	}

	MMmode = 0;

	DeleteAllBackElems();
	DeleteAllFrontElems();

	KRKAL->GetScreenRes(screenx,screeny);
	float x,y;


	CTexture *back = styleSet->Get("MainMenu_Back")->GetTexture(0);
	CTexture *toplogo = styleSet->Get("MainMenu_Top")->GetTexture(0);

	CGUIStaticPicture* sp;
	
	sp=new CGUIStaticPicture(0,0,back,(float)screenx,(float)screeny);
	AddBackElem(sp);

	sp=new CGUIStaticPicture(0,0,toplogo,(float)screenx,(float)scY(99));
	AddBackElem(sp);

	
	CGUIStaticText *stver = new CGUIStaticText(KRKAL_VERSION_STRING,(CGUIFont*) RefMgr->Find("GUI.F.Arial.12"),sx-150,5,0xFFFFFF80,145,0,aRight);
	AddBackElem(stver);


	CGUIButton *play = new CGUIButton(20,scY(150),-1,-1,"GUI.But.MMPlay","",0);
	AddBackElem(play);
	DefaultHandler->play=play->GetID();
	play->AcceptEvent(DefaultHandler->GetID(),EClicked);


	if(KerServices.QuickSave)
	{
		CGUIButton *but_restart = new CGUIButton(35, scY(150)+65, -1, -1, "GUI.But.MMRestartLevel", "", 0);
		AddBackElem(but_restart);
		DefaultHandler->restartlevel=but_restart->GetID();
		but_restart->AcceptEvent(DefaultHandler->GetID(),EClicked);

		CFSRegKey *k=KerServices.QuickSave->FindKey("Level File");
		if(k)
		{
			char *levelname=k->GetDirectAccess();
			if(levelname)
				quicksave=newstrdup(levelname);
		}

	} else {
		DefaultHandler->restartlevel = 0;
	}

	CGUIButton *leveledit = new CGUIButton(20,sy-90-85,-1,-1,"GUI.But.MMEditLevel","",0,0);
	AddBackElem(leveledit);
	DefaultHandler->editlevel=leveledit->GetID();
	leveledit->AcceptEvent(DefaultHandler->GetID(),EClicked);
	CGUIButton *scriptedit = new CGUIButton(10,sy-90,-1,-1,"GUI.But.MMEditScript","",0,0);
	AddBackElem(scriptedit);
	DefaultHandler->editscript=scriptedit->GetID();
	scriptedit->AcceptEvent(DefaultHandler->GetID(),EClicked);


	CGUIButton *help = new CGUIButton(0,0,-1,-1,"GUI.But.MMHelp","",0);
	help->GetSize(x,y);
	help->Move(scX(302),sy-y-40);
	AddBackElem(help);
	DefaultHandler->help=help->GetID();
	help->AcceptEvent(DefaultHandler->GetID(),EClicked);
	CGUIButton *about = new CGUIButton(0,0,-1,-1,"GUI.But.MMAbout","",0);
	about->GetSize(x,y);
	about->Move(scX(302),sy-y-10);
	AddBackElem(about);
	DefaultHandler->about=about->GetID();
	about->AcceptEvent(DefaultHandler->GetID(),EClicked);

	CGUIButton *donate = new CGUIButton(0, 0, -1, -1, "GUI.But.MMDonate", "", 0);
	donate->GetSize(x, y);
	donate->Move(scX(410), sy - y - 10);
	AddBackElem(donate);
	DefaultHandler->donate = donate->GetID();
	donate->AcceptEvent(DefaultHandler->GetID(), EClicked);

	CGUIButton *cfg = new CGUIButton(0, 0, -1, -1, "GUI.But.MMCfg", "", 0);
	cfg->GetSize(x, y);
	cfg->Move(scX(510), sy - y - 8);
	AddBackElem(cfg);
	DefaultHandler->cfg = cfg->GetID();
	cfg->AcceptEvent(DefaultHandler->GetID(), EClicked);

	CGUIButton *exit = new CGUIButton(0,0,-1,-1,"GUI.But.MMExit","",0);
	exit->GetSize(x,y);
	exit->Move(sx-x-15,sy-y-10);
	AddBackElem(exit);
	DefaultHandler->exit=exit->GetID();
	exit->AcceptEvent(DefaultHandler->GetID(),EClicked);


	levBrowser=new CMMLevelBrowser();

	return 1;
}
TPrintout::TPrintout(Pchar ATitle)
{
  Title = newstrdup(ATitle);
  Banding = FALSE;
  ForceAllBands = TRUE;
}
TReplaceStatic::TReplaceStatic(PTWindowsObject AParent, int ResourceId,
        Pchar AText) : TStatic(AParent, ResourceId, 0)
{
  Text = newstrdup(AText);
}