Skip to content

Commit

Permalink
Merge pull request #251 from risvh/20318
Browse files Browse the repository at this point in the history
20318
  • Loading branch information
risvh authored Nov 3, 2024
2 parents 3c46d38 + ecfb450 commit 08d5408
Show file tree
Hide file tree
Showing 14 changed files with 666 additions and 201 deletions.
63 changes: 59 additions & 4 deletions gameSource/EditorObjectPage.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -168,8 +168,11 @@ EditorObjectPage::EditorObjectPage()
mPersonNoSpawnCheckbox( 290, -150, 2 ),
// these are in same spot because they're never shown at same time
mMaleCheckbox( 290, -190, 2 ),
mDeathMarkerCheckbox( 290, -190, 2 ),
mHomeMarkerCheckbox( 100, -120, 2 ),
mDeathMarkerCheckbox( 635, -270, 2 ),
mHomeMarkerCheckbox( 635, -290, 2 ),
mTapoutTriggerCheckbox( 635, -310, 2 ),
mTapoutTriggerField( smallFont, 602, -334, 8, false, "",
"0123456789,", NULL ),
mFloorCheckbox( 635, -210, 2 ),
mPartialFloorCheckbox( 635, -230, 2 ),
mHeldInHandCheckbox( 290, 36, 2 ),
Expand Down Expand Up @@ -662,6 +665,14 @@ EditorObjectPage::EditorObjectPage()
mHomeMarkerCheckbox.setVisible( true );
mHomeMarkerCheckbox.addActionListener( this );

addComponent( &mTapoutTriggerCheckbox );
mTapoutTriggerCheckbox.setVisible( true );
mTapoutTriggerCheckbox.addActionListener( this );
addComponent( &mTapoutTriggerField );
mTapoutTriggerField.setVisible( false );
mTapoutTriggerField.addActionListener( this );
mTapoutTriggerField.setText( "" );


addComponent( &mFloorCheckbox );
mFloorCheckbox.setVisible( true );
Expand Down Expand Up @@ -988,6 +999,9 @@ void EditorObjectPage::updateAgingPanel() {

mDeathMarkerCheckbox.setVisible( true );
mHomeMarkerCheckbox.setVisible( true );
mTapoutTriggerCheckbox.setVisible( true );
if( mTapoutTriggerCheckbox.getToggled() )
mTapoutTriggerField.setVisible( true );

if( ! mContainSizeField.isVisible() ) {
mFloorCheckbox.setVisible( true );
Expand Down Expand Up @@ -1029,6 +1043,10 @@ void EditorObjectPage::updateAgingPanel() {
mHomeMarkerCheckbox.setToggled( false );
mHomeMarkerCheckbox.setVisible( false );

mTapoutTriggerCheckbox.setToggled( false );
mTapoutTriggerCheckbox.setVisible( false );
mTapoutTriggerField.setVisible( false );

mFloorCheckbox.setToggled( false );
mFloorCheckbox.setVisible( false );
mPartialFloorCheckbox.setToggled( false );
Expand Down Expand Up @@ -1540,6 +1558,8 @@ void EditorObjectPage::actionPerformed( GUIComponent *inTarget ) {
int maxPickupAge = 9999999;
sscanf( pickupAgeText, "%d,%d", &( minPickupAge ), &( maxPickupAge ) );

char *tapoutTriggerParameters = mTapoutTriggerField.getText();

int newID =
addObject( text,
mCheckboxes[0]->getToggled(),
Expand Down Expand Up @@ -1569,6 +1589,8 @@ void EditorObjectPage::actionPerformed( GUIComponent *inTarget ) {
race,
mDeathMarkerCheckbox.getToggled(),
mHomeMarkerCheckbox.getToggled(),
mTapoutTriggerCheckbox.getToggled(),
tapoutTriggerParameters,
mFloorCheckbox.getToggled(),
mPartialFloorCheckbox.getToggled(),
mFloorHuggingCheckbox.getToggled(),
Expand Down Expand Up @@ -1631,6 +1653,7 @@ void EditorObjectPage::actionPerformed( GUIComponent *inTarget ) {

delete [] text;
delete [] biomes;
delete [] tapoutTriggerParameters;


mSpritePicker.unselectObject();
Expand Down Expand Up @@ -1714,6 +1737,8 @@ void EditorObjectPage::actionPerformed( GUIComponent *inTarget ) {
int maxPickupAge = 9999999;
sscanf( pickupAgeText, "%d,%d", &( minPickupAge ), &( maxPickupAge ) );

char *tapoutTriggerParameters = mTapoutTriggerField.getText();


addObject( text,
mCheckboxes[0]->getToggled(),
Expand Down Expand Up @@ -1743,6 +1768,8 @@ void EditorObjectPage::actionPerformed( GUIComponent *inTarget ) {
race,
mDeathMarkerCheckbox.getToggled(),
mHomeMarkerCheckbox.getToggled(),
mTapoutTriggerCheckbox.getToggled(),
tapoutTriggerParameters,
mFloorCheckbox.getToggled(),
mPartialFloorCheckbox.getToggled(),
mFloorHuggingCheckbox.getToggled(),
Expand Down Expand Up @@ -1801,6 +1828,7 @@ void EditorObjectPage::actionPerformed( GUIComponent *inTarget ) {

delete [] text;
delete [] biomes;
delete [] tapoutTriggerParameters;

mSpritePicker.unselectObject();

Expand Down Expand Up @@ -1871,6 +1899,8 @@ void EditorObjectPage::actionPerformed( GUIComponent *inTarget ) {
mSlotsGroundCheckbox.setVisible( false );
mSlotsLockedCheckbox.setVisible( false );
mSlotsNoSwapCheckbox.setVisible( false );

mTapoutTriggerField.setText( "" );

mFloorCheckbox.setToggled( false );
mFloorCheckbox.setVisible( true );
Expand Down Expand Up @@ -2494,6 +2524,14 @@ void EditorObjectPage::actionPerformed( GUIComponent *inTarget ) {
mPartialFloorCheckbox.setToggled( false );
}
}
else if( inTarget == &mTapoutTriggerCheckbox ) {
if( mTapoutTriggerCheckbox.getToggled() ) {
mTapoutTriggerField.setVisible( true );
}
else {
mTapoutTriggerField.setVisible( false );
}
}
else if( inTarget == &mHeldInHandCheckbox ) {
if( mHeldInHandCheckbox.getToggled() ) {
mRideableCheckbox.setToggled( false );
Expand Down Expand Up @@ -3425,6 +3463,17 @@ void EditorObjectPage::actionPerformed( GUIComponent *inTarget ) {
mMaleCheckbox.setToggled( pickedRecord->male );
mDeathMarkerCheckbox.setToggled( pickedRecord->deathMarker );
mHomeMarkerCheckbox.setToggled( pickedRecord->homeMarker );
mTapoutTriggerCheckbox.setToggled( pickedRecord->isTapOutTrigger );
if( mTapoutTriggerCheckbox.getToggled() ) {
mTapoutTriggerField.setVisible( true );
char *tapoutTriggerParametersText = getTapoutTriggerString( pickedRecord );
mTapoutTriggerField.setText( tapoutTriggerParametersText );
delete [] tapoutTriggerParametersText;
}
else {
mTapoutTriggerField.setVisible( false );
mTapoutTriggerField.setText( "" );
}
mFloorCheckbox.setToggled( pickedRecord->floor );
mPartialFloorCheckbox.setToggled( pickedRecord->noCover );

Expand Down Expand Up @@ -4795,8 +4844,8 @@ void EditorObjectPage::draw( doublePair inViewCenter,

if( mDeathMarkerCheckbox.isVisible() ) {
pos = mDeathMarkerCheckbox.getPosition();
pos.y += checkboxSep + 5;
smallFont->drawString( "Death", pos, alignCenter );
pos.x -= checkboxSep;
smallFont->drawString( "Death", pos, alignRight );
}

if( mHomeMarkerCheckbox.isVisible() ) {
Expand All @@ -4805,6 +4854,12 @@ void EditorObjectPage::draw( doublePair inViewCenter,
smallFont->drawString( "Home", pos, alignRight );
}

if( mTapoutTriggerCheckbox.isVisible() ) {
pos = mTapoutTriggerCheckbox.getPosition();
pos.x -= checkboxSep;
smallFont->drawString( "TapoutTrigger", pos, alignRight );
}

if( mFloorCheckbox.isVisible() ) {
pos = mFloorCheckbox.getPosition();
pos.x -= checkboxSep;
Expand Down
2 changes: 2 additions & 0 deletions gameSource/EditorObjectPage.h
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,8 @@ class EditorObjectPage : public GamePage, public ActionListener {
CheckboxButton mMaleCheckbox;
CheckboxButton mDeathMarkerCheckbox;
CheckboxButton mHomeMarkerCheckbox;
CheckboxButton mTapoutTriggerCheckbox;
TextField mTapoutTriggerField;
CheckboxButton mFloorCheckbox;
CheckboxButton mPartialFloorCheckbox;

Expand Down
2 changes: 2 additions & 0 deletions gameSource/EditorSpriteTrimPage.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -615,6 +615,8 @@ void EditorSpriteTrimPage::actionPerformed( GUIComponent *inTarget ) {
false,
false,
false,
NULL,
false,
false,
false,
false,
Expand Down
Loading

0 comments on commit 08d5408

Please sign in to comment.