コード例 #1
0
int FindKodTypeID(int objectNum, const char *typeName)
{
	if ((objectNum >= 0) && (objectNum < numKodObjects))
	{
		KodObject *pObject = &pKodObjects[objectNum];
		KodType *pType = pObject->pType;
		for (int i=0; i < pObject->numTypes; i++, pType++)
		{
			if (0 == strcmpi(typeName, GetKodTypeDecorativeName(objectNum,i)))
				return pType->id;
			else if (0 == strcmpi(typeName, GetKodTypeName(objectNum,i)))
				return pType->id;
		}
	}
	return 0;
}
コード例 #2
0
ファイル: thingdlg.cpp プロジェクト: Tatsujinichi/Meridian59
//////////////////////////////////////////////////////////////////////
// TThingEditDialog
// ----------------
//  The user changed the selected thing type in the list box,
//  we update the CurThing struct
void TThingEditDialog::ThingSelchange ()
{
	char name[256];
	// Get selected string
	int index = pThingList->GetSelIndex ();
	if (index < 0)
		return;
	pThingList->GetString(name,index);
	CurThing.type = FindKodObjectByName(name);
	ConfirmData.pTypeCheck = TRUE;	// Remember in confirm data
	pSubType->ClearList();
	pSubType->EnableWindow(FALSE);
	for(int t=0; t < GetNumKodTypes(CurThing.type); t++)
	{
		pSubType->EnableWindow(TRUE);
		index = pSubType->AddString(GetKodTypeDecorativeName(CurThing.type,t));
		if (GetKodTypeID(CurThing.type,t) == CurThing.when)
		{
			pSubType->SetSelIndex(index);
		}
	}
}
コード例 #3
0
ファイル: thingdlg.cpp プロジェクト: Tatsujinichi/Meridian59
//////////////////////////////////////////////////////////////////////
// TThingEditDialog
// ----------------
// Fills the thing type list box with the thing set types.
//
void
TThingEditDialog::SetupListBox ()
{
	int i;

	pThingList->ClearList();
	pExitRoomID->ClearList();
	pSubType->ClearList();
	pSubType->EnableWindow(FALSE);
	switch (ThingSet)
	{
	case kodPlayerBlocking:
		pThingList->SetSelIndex(pThingList->AddString ("Player Boundary"));
		break;
	case kodEntrance:
		pThingList->SetSelIndex(pThingList->AddString ("Room Entrance"));
		break;
	case kodExit:
		pThingList->SetSelIndex(pThingList->AddString ("Room Exit"));
		for(i=0; i < GetNumKodRooms(); i++)
		{
			int index = pExitRoomID->AddString(GetKodRoomDecorativeName(i));
			pExitRoomID->SetItemData(index,GetKodRoomID(i));
			if (GetKodRoomID(i) == CurThing.when)
			{
				pExitRoomID->SetSelIndex(index);
			}
		}
		break;
	case kodMonsterGenerator:
		pThingList->SetSelIndex(pThingList->AddString ("Monster Generator"));
		break;
	case kodExtraPreObject2:
	case kodExtraPreObject3:
	case kodExtraPreObject4:
		break;
	case kodObject:
		for (i=kodObject; i < GetNumKodObjects(); i++)
		{
			int index = pThingList->AddString(GetKodObjectDecorativeName(i));
			pThingList->SetItemData(index,i);
			if (CurThing.type == i)
			{
				pThingList->SetSelIndex(index);
				if (GetNumKodTypes(CurThing.type) > 0)
					pSubType->EnableWindow(TRUE);
				for(int t=0; t < GetNumKodTypes(CurThing.type); t++)
				{
					index = pSubType->AddString(GetKodTypeDecorativeName(CurThing.type,t));
					pSubType->SetItemData(index,i);
					if (GetKodTypeID(CurThing.type,t) == CurThing.when)
					{
						pSubType->SetSelIndex(index);
					}
				}
			}
		}
		break;
	}
	pXExit->EnableWindow(kodExit == ThingSet);
	pYExit->EnableWindow(kodExit == ThingSet);
	pExitRoomID->EnableWindow(kodExit == ThingSet);
	pEntrancesButton->EnableWindow(kodExit == ThingSet);
	SetAngle();
}