From 78efc20d12ad20bdc2a29451ebd5b59dcc9b2634 Mon Sep 17 00:00:00 2001 From: Justin Love Date: Fri, 10 May 2024 14:58:15 -0500 Subject: [PATCH] fix misplaced merge --- age-scaling | 20 +++---- autorun | 30 +++++------ camera-control | 24 ++++----- click-through-heads | 6 +-- click-through-trees | 10 ++-- click-to-move-lock-to-interact | 8 +-- compat-disable-messages | 8 +-- compat-missing-strings | 12 ++--- curse-assist | 14 ++--- diegetic-temperature | 12 ++--- drag-drop-use | 8 +-- emotion-keys | 4 +- filter-matches-product | 8 +-- fix-mushroom-death | 4 +- help-overlay | 6 +-- interaction-keys | 12 ++--- interaction-refactoring | 18 +++---- location-slips | 98 +++++++++++++++++----------------- name-assist | 16 +++--- name-labels | 42 +++++++-------- object-search | 50 ++++++++--------- open-say-field-on-typing | 24 ++++----- optional-client-tag | 12 ++--- player-search | 20 +++---- series | 2 +- show-bad-biome-objects | 4 +- show-burn-rate | 8 +-- show-close-family | 34 ++++++------ show-learned-tools | 32 +++++------ show-modded-client | 12 ++--- show-name-on-death-screen | 6 +-- show-use-count | 6 +-- text-macros | 6 +-- time-based-hunger-dings | 10 ++-- time-transition-hints | 6 +-- tolerate-missing-graphic | 8 +-- yum-hover | 24 ++++----- 37 files changed, 312 insertions(+), 312 deletions(-) diff --git a/age-scaling b/age-scaling index d041999..fa4ebe9 100644 --- a/age-scaling +++ b/age-scaling @@ -1,8 +1,8 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index 4742e4206..ab9ecbe05 100644 +index 7806437e4..dc864583e 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp -@@ -1541,7 +1541,7 @@ static double computeCurrentAgeNoOverride( LiveObject *inObj ) { +@@ -1640,7 +1640,7 @@ static double computeCurrentAgeNoOverride( LiveObject *inObj ) { return inObj->age; } else { @@ -11,7 +11,7 @@ index 4742e4206..ab9ecbe05 100644 inObj->ageRate * ( game_getCurrentTime() - inObj->lastAgeSetTime ); } } -@@ -1561,9 +1561,9 @@ double computeCurrentAge( LiveObject *inObj ) { +@@ -1660,9 +1660,9 @@ double computeCurrentAge( LiveObject *inObj ) { // baby cries for 5 seconds each time they speak // update age using clock @@ -23,7 +23,7 @@ index 4742e4206..ab9ecbe05 100644 } else { // temp override over -@@ -1571,7 +1571,8 @@ double computeCurrentAge( LiveObject *inObj ) { +@@ -1670,7 +1670,8 @@ double computeCurrentAge( LiveObject *inObj ) { } } @@ -33,7 +33,7 @@ index 4742e4206..ab9ecbe05 100644 } } -@@ -27609,7 +27610,7 @@ void LivingLifePage::pointerDown( float inX, float inY ) { +@@ -27722,7 +27723,7 @@ void LivingLifePage::pointerDown( float inX, float inY ) { char tryingToPickUpBaby = false; @@ -42,7 +42,7 @@ index 4742e4206..ab9ecbe05 100644 if( destID == 0 && p.hit && -@@ -27632,7 +27633,7 @@ void LivingLifePage::pointerDown( float inX, float inY ) { +@@ -27745,7 +27746,7 @@ void LivingLifePage::pointerDown( float inX, float inY ) { if( distance( targetPos, o->currentPos ) < 1 ) { // clicked on someone @@ -201,7 +201,7 @@ index 328068e08..60314b818 100644 + +double computeServerAge( double displayAge ); diff --git a/gameSource/musicPlayer2.cpp b/gameSource/musicPlayer2.cpp -index bd9582eba..afec025d7 100644 +index 0d7b5344f..08f9443f2 100644 --- a/gameSource/musicPlayer2.cpp +++ b/gameSource/musicPlayer2.cpp @@ -1,3 +1,4 @@ @@ -209,7 +209,7 @@ index bd9582eba..afec025d7 100644 #include "minorGems/game/game.h" #include -@@ -72,25 +73,27 @@ void initMusicPlayer() { +@@ -77,25 +78,27 @@ void initMusicPlayer() { // returns an asynch file read handle, or -1 on failure static int startNextAgeFileRead( double inAge ) { @@ -243,7 +243,7 @@ index bd9582eba..afec025d7 100644 char *searchString = autoSprintf( "_%02d.ogg", nextFiveBlock ); -@@ -147,7 +150,7 @@ void restartMusic( double inAge, double inAgeRate, char inForceNow ) { +@@ -154,7 +157,7 @@ void restartMusic( double inAge, double inAgeRate, char inForceNow ) { musicStarted = false; forceStartNow = inForceNow; @@ -252,7 +252,7 @@ index bd9582eba..afec025d7 100644 ageRate = inAgeRate; samplesSeenSinceAgeSet = 0; -@@ -172,7 +175,7 @@ void restartMusic( double inAge, double inAgeRate, char inForceNow ) { +@@ -179,7 +182,7 @@ void restartMusic( double inAge, double inAgeRate, char inForceNow ) { musicOGGPlaying = false; diff --git a/autorun b/autorun index 4002827..1d637af 100644 --- a/autorun +++ b/autorun @@ -1,5 +1,5 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index 0d3eb5cd5..edc86e8be 100644 +index 01e5bd54a..2a30b95bd 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp @@ -140,10 +140,18 @@ static JenkinsRandomSource remapRandSource( 340403 ); @@ -25,7 +25,7 @@ index 0d3eb5cd5..edc86e8be 100644 static int screenCenterPlayerOffsetX, screenCenterPlayerOffsetY; -@@ -2307,7 +2315,7 @@ void LivingLifePage::computePathToDest( LiveObject *inObject ) { +@@ -2406,7 +2414,7 @@ void LivingLifePage::computePathToDest( LiveObject *inObject ) { inObject->pathToDest[i].y -= pathOffsetY; } @@ -34,7 +34,7 @@ index 0d3eb5cd5..edc86e8be 100644 // up, down, left, right int dirsInPath[4] = { 0, 0, 0, 0 }; -@@ -2755,6 +2763,14 @@ LivingLifePage::LivingLifePage() +@@ -2854,6 +2862,14 @@ LivingLifePage::LivingLifePage() // allow ctrl-v to paste into chat from clipboard mSayField.usePasteShortcut( true ); @@ -49,7 +49,7 @@ index 0d3eb5cd5..edc86e8be 100644 initLiveTriggers(); -@@ -12927,8 +12943,13 @@ void LivingLifePage::step() { +@@ -13028,8 +13044,13 @@ void LivingLifePage::step() { } @@ -63,7 +63,7 @@ index 0d3eb5cd5..edc86e8be 100644 } double pageLifeTime = game_getCurrentTime() - mPageStartTime; -@@ -22148,10 +22169,41 @@ void LivingLifePage::step() { +@@ -22259,10 +22280,41 @@ void LivingLifePage::step() { } } else { @@ -107,7 +107,7 @@ index 0d3eb5cd5..edc86e8be 100644 float worldMouseX, worldMouseY; screenToWorld( lastScreenMouseX, -@@ -22170,9 +22222,7 @@ void LivingLifePage::step() { +@@ -22281,9 +22333,7 @@ void LivingLifePage::step() { // however, if they started by clicking on something // make sure they are really holding the mouse down // (give them time to unpress the mouse) @@ -118,7 +118,7 @@ index 0d3eb5cd5..edc86e8be 100644 double absX = fabs( delta.x ); double absY = fabs( delta.y ); -@@ -22184,10 +22234,7 @@ void LivingLifePage::step() { +@@ -22295,10 +22345,7 @@ void LivingLifePage::step() { if( absX < CELL_D * 4 && @@ -130,7 +130,7 @@ index 0d3eb5cd5..edc86e8be 100644 // they're holding mouse down very close // to to their character -@@ -22221,20 +22268,24 @@ void LivingLifePage::step() { +@@ -22332,20 +22379,24 @@ void LivingLifePage::step() { pointerDown( fakeClick.x, fakeClick.y ); isAutoClick = false; @@ -159,7 +159,7 @@ index 0d3eb5cd5..edc86e8be 100644 // reached destination of bare-ground click -@@ -22396,6 +22447,20 @@ void LivingLifePage::step() { +@@ -22507,6 +22558,20 @@ void LivingLifePage::step() { endPos.x = (double)( nextStep.x ); endPos.y = (double)( nextStep.y ); } @@ -180,7 +180,7 @@ index 0d3eb5cd5..edc86e8be 100644 } } } -@@ -22415,6 +22480,9 @@ void LivingLifePage::step() { +@@ -22526,6 +22591,9 @@ void LivingLifePage::step() { //trailColor.g = randSource.getRandomBoundedDouble( 0, .5 ); //trailColor.b = randSource.getRandomBoundedDouble( 0, .5 ); @@ -190,7 +190,7 @@ index 0d3eb5cd5..edc86e8be 100644 if( ( o->id != ourID && ! o->somePendingMessageIsMoreMovement ) -@@ -24241,12 +24309,33 @@ void LivingLifePage::pointerDown( float inX, float inY ) { +@@ -24354,12 +24422,33 @@ void LivingLifePage::pointerDown( float inX, float inY ) { // something actionable along the way char mouseAlreadyDown = mouseDown; @@ -225,7 +225,7 @@ index 0d3eb5cd5..edc86e8be 100644 if( mFirstServerMessagesReceived != 3 || ! mDoneLoadingFirstObjectSet ) { return; -@@ -24261,7 +24350,6 @@ void LivingLifePage::pointerDown( float inX, float inY ) { +@@ -24374,7 +24463,6 @@ void LivingLifePage::pointerDown( float inX, float inY ) { } @@ -233,7 +233,7 @@ index 0d3eb5cd5..edc86e8be 100644 if( ourLiveObject->holdingID > 0 && getObject( ourLiveObject->holdingID )->speedMult == 0 ) { -@@ -24499,9 +24587,7 @@ void LivingLifePage::pointerDown( float inX, float inY ) { +@@ -24612,9 +24700,7 @@ void LivingLifePage::pointerDown( float inX, float inY ) { int mapY = clickDestY - mMapOffsetY + mMapD / 2; @@ -244,7 +244,7 @@ index 0d3eb5cd5..edc86e8be 100644 // continuous movement mode -@@ -25924,11 +26010,17 @@ void LivingLifePage::pointerUp( float inX, float inY ) { +@@ -26037,11 +26123,17 @@ void LivingLifePage::pointerUp( float inX, float inY ) { return; } @@ -267,7 +267,7 @@ index 0d3eb5cd5..edc86e8be 100644 // treat the up as one final click (at closest next path position // to where they currently are) -@@ -25950,6 +26042,7 @@ void LivingLifePage::pointerUp( float inX, float inY ) { +@@ -26063,6 +26155,7 @@ void LivingLifePage::pointerUp( float inX, float inY ) { } mouseDown = false; diff --git a/camera-control b/camera-control index 9be7d90..d14fba7 100644 --- a/camera-control +++ b/camera-control @@ -1,5 +1,5 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index 4a55e435e..7cf481f77 100644 +index 1f86e900f..f006cc4e9 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp @@ -57,6 +57,9 @@ @@ -27,7 +27,7 @@ index 4a55e435e..7cf481f77 100644 // set to true to render for teaser video static char teaserVideo = false; -@@ -2860,6 +2871,24 @@ LivingLifePage::LivingLifePage() +@@ -2959,6 +2970,24 @@ LivingLifePage::LivingLifePage() // allow ctrl-v to paste into chat from clipboard mSayField.usePasteShortcut( true ); @@ -52,7 +52,7 @@ index 4a55e435e..7cf481f77 100644 // // set to 0 to disable double click to run; you can't click twice in 1 frame maxDoubleClickFrames = SettingsManager::getIntSetting( "maxDoubleClickFrames", 30 ); -@@ -16016,6 +16045,43 @@ void LivingLifePage::step() { +@@ -16119,6 +16148,43 @@ void LivingLifePage::step() { mMapOffsetX = newMapOffsetX; mMapOffsetY = newMapOffsetY; @@ -96,7 +96,7 @@ index 4a55e435e..7cf481f77 100644 unsigned char *compressedChunk = new unsigned char[ compressedSize ]; -@@ -21734,6 +21800,30 @@ void LivingLifePage::step() { +@@ -21845,6 +21911,30 @@ void LivingLifePage::step() { doublePair screenTargetPos = mult( targetObjectPos, CELL_D ); @@ -127,7 +127,7 @@ index 4a55e435e..7cf481f77 100644 if( vogMode ) { // don't adjust camera -@@ -21746,6 +21836,10 @@ void LivingLifePage::step() { +@@ -21857,6 +21947,10 @@ void LivingLifePage::step() { // moving // push camera out in front @@ -138,7 +138,7 @@ index 4a55e435e..7cf481f77 100644 double moveScale = 40 * cameraFollowsObject->currentSpeed; -@@ -21777,18 +21871,6 @@ void LivingLifePage::step() { +@@ -21888,18 +21982,6 @@ void LivingLifePage::step() { lrint( moveScale * cameraFollowsObject->currentMoveDirection.y ); @@ -157,7 +157,7 @@ index 4a55e435e..7cf481f77 100644 } else if( false ) { // skip for now // stopped moving -@@ -21829,6 +21911,22 @@ void LivingLifePage::step() { +@@ -21940,6 +22022,22 @@ void LivingLifePage::step() { } @@ -180,7 +180,7 @@ index 4a55e435e..7cf481f77 100644 if( ! vogMode ) { screenTargetPos.x = -@@ -21848,6 +21946,10 @@ void LivingLifePage::step() { +@@ -21959,6 +22057,10 @@ void LivingLifePage::step() { if( !shouldMoveCamera ) { screenTargetPos = lastScreenViewCenter; } @@ -191,7 +191,7 @@ index 4a55e435e..7cf481f77 100644 doublePair dir = sub( screenTargetPos, lastScreenViewCenter ); -@@ -23210,6 +23312,7 @@ void LivingLifePage::makeActive( char inFresh ) { +@@ -23321,6 +23423,7 @@ void LivingLifePage::makeActive( char inFresh ) { mouseDown = false; shouldMoveCamera = true; @@ -199,7 +199,7 @@ index 4a55e435e..7cf481f77 100644 screenCenterPlayerOffsetX = 0; screenCenterPlayerOffsetY = 0; -@@ -24363,6 +24466,28 @@ void LivingLifePage::pointerMove( float inX, float inY ) { +@@ -24476,6 +24579,28 @@ void LivingLifePage::pointerMove( float inX, float inY ) { } @@ -228,7 +228,7 @@ index 4a55e435e..7cf481f77 100644 } -@@ -27768,6 +27893,11 @@ void LivingLifePage::keyDown( unsigned char inASCII ) { +@@ -27881,6 +28006,11 @@ void LivingLifePage::keyDown( unsigned char inASCII ) { keyHandledByKeybind = tryInteractionKeys( inASCII ); } @@ -240,7 +240,7 @@ index 4a55e435e..7cf481f77 100644 // inspired by Awbz OneLife+ if( ( ( openSayFieldOnTypingLower && islower( inASCII ) ) || ( openSayFieldOnTypingUpper && isupper( inASCII ) ) -@@ -27976,6 +28106,9 @@ void LivingLifePage::keyUp( unsigned char inASCII ) { +@@ -28105,6 +28235,9 @@ void LivingLifePage::keyUp( unsigned char inASCII ) { case ' ': shouldMoveCamera = true; break; diff --git a/click-through-heads b/click-through-heads index b404037..108c2a8 100644 --- a/click-through-heads +++ b/click-through-heads @@ -1,5 +1,5 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index d63971ce9..9a5d9b10e 100644 +index ec63deaeb..8e0809928 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp @@ -157,6 +157,8 @@ static int ignoreTallObjects = 1; @@ -11,7 +11,7 @@ index d63971ce9..9a5d9b10e 100644 static int screenCenterPlayerOffsetX, screenCenterPlayerOffsetY; -@@ -2781,6 +2783,8 @@ LivingLifePage::LivingLifePage() +@@ -2880,6 +2882,8 @@ LivingLifePage::LivingLifePage() showShiverSweat = SettingsManager::getIntSetting( "showShiverSweat", 0 ); setAnimationSweatSprite( SettingsManager::getIntSetting( "sweatDropSprite", 88 ) ); @@ -20,7 +20,7 @@ index d63971ce9..9a5d9b10e 100644 initLiveTriggers(); -@@ -23721,6 +23725,15 @@ void LivingLifePage::checkForPointerHit( PointerHitRecord *inRecord, +@@ -23834,6 +23838,15 @@ void LivingLifePage::checkForPointerHit( PointerHitRecord *inRecord, if( dist < minDistThatHits ) { p->hit = true; diff --git a/click-through-trees b/click-through-trees index 4597778..ba4ceb6 100644 --- a/click-through-trees +++ b/click-through-trees @@ -1,5 +1,5 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index edc86e8be..4b79f8e37 100644 +index 2a30b95bd..dff9d5ba2 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp @@ -153,6 +153,9 @@ static unsigned int maxDoubleClickFrames = 30; @@ -12,7 +12,7 @@ index edc86e8be..4b79f8e37 100644 static int screenCenterPlayerOffsetX, screenCenterPlayerOffsetY; -@@ -2771,6 +2774,8 @@ LivingLifePage::LivingLifePage() +@@ -2870,6 +2873,8 @@ LivingLifePage::LivingLifePage() // // set to 0 for standard road following on any click followRoadsOnlyWhileRunning = SettingsManager::getIntSetting( "followRoadsOnlyWhileRunning", 1 ) && maxDoubleClickFrames > 0; @@ -21,7 +21,7 @@ index edc86e8be..4b79f8e37 100644 initLiveTriggers(); -@@ -23443,7 +23448,8 @@ void LivingLifePage::checkForPointerHit( PointerHitRecord *inRecord, +@@ -23556,7 +23561,8 @@ void LivingLifePage::checkForPointerHit( PointerHitRecord *inRecord, // all short objects are mouse-through-able if( oID > 0 && @@ -31,7 +31,7 @@ index edc86e8be..4b79f8e37 100644 ObjectRecord *obj = getObject( oID ); -@@ -23554,8 +23560,10 @@ void LivingLifePage::checkForPointerHit( PointerHitRecord *inRecord, +@@ -23667,8 +23673,10 @@ void LivingLifePage::checkForPointerHit( PointerHitRecord *inRecord, false ); if( dist < minDistThatHits ) { @@ -44,7 +44,7 @@ index edc86e8be..4b79f8e37 100644 // already hit a short object // AND this object is tall // (don't click through short behind short) -@@ -23566,7 +23574,12 @@ void LivingLifePage::checkForPointerHit( PointerHitRecord *inRecord, +@@ -23679,7 +23687,12 @@ void LivingLifePage::checkForPointerHit( PointerHitRecord *inRecord, p->hitOurPlacementBehind = true; } } diff --git a/click-to-move-lock-to-interact b/click-to-move-lock-to-interact index 9034be3..e0084aa 100644 --- a/click-to-move-lock-to-interact +++ b/click-to-move-lock-to-interact @@ -1,5 +1,5 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index 08b389578..18d2ed846 100644 +index e66fa295b..35d6b2cbf 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp @@ -162,6 +162,7 @@ static int preferObjectsOverPlayersWithScreenLock = 1; @@ -10,7 +10,7 @@ index 08b389578..18d2ed846 100644 static int screenCenterPlayerOffsetX, screenCenterPlayerOffsetY; -@@ -2804,6 +2805,8 @@ LivingLifePage::LivingLifePage() +@@ -2903,6 +2904,8 @@ LivingLifePage::LivingLifePage() openSayFieldOnTypingUpper = SettingsManager::getIntSetting( "openSayFieldOnTypingUpper", 1 ); tabNameCompletion = SettingsManager::getIntSetting( "tabNameCompletion", 1 ); @@ -19,7 +19,7 @@ index 08b389578..18d2ed846 100644 initLiveTriggers(); -@@ -25521,7 +25524,13 @@ void LivingLifePage::pointerDown( float inX, float inY ) { +@@ -25634,7 +25637,13 @@ void LivingLifePage::pointerDown( float inX, float inY ) { p.hitOtherPerson = false; @@ -34,7 +34,7 @@ index 08b389578..18d2ed846 100644 -@@ -25677,7 +25686,7 @@ void LivingLifePage::pointerDown( float inX, float inY ) { +@@ -25790,7 +25799,7 @@ void LivingLifePage::pointerDown( float inX, float inY ) { int mapY = clickDestY - mMapOffsetY + mMapD / 2; diff --git a/compat-disable-messages b/compat-disable-messages index 75c8629..7fd9aee 100644 --- a/compat-disable-messages +++ b/compat-disable-messages @@ -1,8 +1,8 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index 261f38fd7..0d3eb5cd5 100644 +index 677ee0e70..01e5bd54a 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp -@@ -22617,7 +22617,7 @@ void LivingLifePage::step() { +@@ -22728,7 +22728,7 @@ void LivingLifePage::step() { @@ -11,7 +11,7 @@ index 261f38fd7..0d3eb5cd5 100644 if( ourLiveObject->holdingFlip != ourLiveObject->lastFlipSent && currentTime - ourLiveObject->lastFlipSendTime > 2 ) { -@@ -25626,7 +25626,7 @@ void LivingLifePage::pointerDown( float inX, float inY ) { +@@ -25739,7 +25739,7 @@ void LivingLifePage::pointerDown( float inX, float inY ) { // on something delete [] extra; @@ -20,7 +20,7 @@ index 261f38fd7..0d3eb5cd5 100644 extra = autoSprintf( " %d %d", destID, useExtraIParam ); } else { -@@ -26505,6 +26505,7 @@ void LivingLifePage::keyDown( unsigned char inASCII ) { +@@ -26618,6 +26618,7 @@ void LivingLifePage::keyDown( unsigned char inASCII ) { showPlayerLabel( leadO, leaderLabel, eta ); } diff --git a/compat-missing-strings b/compat-missing-strings index c2e5196..6cddc42 100644 --- a/compat-missing-strings +++ b/compat-missing-strings @@ -1,8 +1,8 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index e43f729e3..8b73cb600 100644 +index 59a33bacf..0ed2607f9 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp -@@ -11573,6 +11573,7 @@ void LivingLifePage::draw( doublePair inViewCenter, +@@ -11674,6 +11674,7 @@ void LivingLifePage::draw( doublePair inViewCenter, char *pageNum = NULL; double pageNumExtra = 0; @@ -10,7 +10,7 @@ index e43f729e3..8b73cb600 100644 if( mNumTotalHints[i] > 1 ) { -@@ -11588,7 +11589,7 @@ void LivingLifePage::draw( doublePair inViewCenter, +@@ -11689,7 +11690,7 @@ void LivingLifePage::draw( doublePair inViewCenter, handwritingFont->measureString( translate( "tabHint" ) ); double extraC = @@ -19,7 +19,7 @@ index e43f729e3..8b73cb600 100644 if( extraB > extraA ) { extraA = extraB; -@@ -11675,7 +11676,7 @@ void LivingLifePage::draw( doublePair inViewCenter, +@@ -11776,7 +11777,7 @@ void LivingLifePage::draw( doublePair inViewCenter, delete [] pageNum; @@ -28,7 +28,7 @@ index e43f729e3..8b73cb600 100644 lineStart, alignCenter ); lineStart.y -= lineSpacing; -@@ -11683,6 +11684,8 @@ void LivingLifePage::draw( doublePair inViewCenter, +@@ -11784,6 +11785,8 @@ void LivingLifePage::draw( doublePair inViewCenter, handwritingFont->drawString( translate( "tabHint" ), lineStart, alignCenter ); } @@ -37,7 +37,7 @@ index e43f729e3..8b73cb600 100644 } } -@@ -14405,7 +14408,7 @@ char *LivingLifePage::getHintMessage( int inObjectID, int inIndex, +@@ -14506,7 +14509,7 @@ char *LivingLifePage::getHintMessage( int inObjectID, int inIndex, actorString = stringDuplicate( translate( "bareHandHint" ) ); } else if( actor == -1 ) { diff --git a/curse-assist b/curse-assist index 1e27b37..81bff63 100644 --- a/curse-assist +++ b/curse-assist @@ -1,8 +1,8 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index 914b36a5b..ec7e7d943 100644 +index 24a1359d9..ab7b917c3 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp -@@ -1919,6 +1919,9 @@ static LiveObject *getGameObject( int inID ) { +@@ -2018,6 +2018,9 @@ static LiveObject *getGameObject( int inID ) { } @@ -12,7 +12,7 @@ index 914b36a5b..ec7e7d943 100644 extern char autoAdjustFramerate; extern int baseFramesPerSecond; -@@ -2794,6 +2797,8 @@ LivingLifePage::LivingLifePage() +@@ -2893,6 +2896,8 @@ LivingLifePage::LivingLifePage() openSayFieldOnTypingLower = SettingsManager::getIntSetting( "openSayFieldOnTypingLower", 0 ); openSayFieldOnTypingUpper = SettingsManager::getIntSetting( "openSayFieldOnTypingUpper", 1 ); @@ -21,7 +21,7 @@ index 914b36a5b..ec7e7d943 100644 initLiveTriggers(); -@@ -3205,6 +3210,7 @@ void LivingLifePage::clearLiveObjects() { +@@ -3304,6 +3309,7 @@ void LivingLifePage::clearLiveObjects() { } gameObjects.deleteAll(); @@ -29,7 +29,7 @@ index 914b36a5b..ec7e7d943 100644 } -@@ -20988,6 +20994,7 @@ void LivingLifePage::step() { +@@ -21099,6 +21105,7 @@ void LivingLifePage::step() { char *nameStart = &( firstSpace[1] ); existing->name = stringDuplicate( nameStart ); @@ -37,7 +37,7 @@ index 914b36a5b..ec7e7d943 100644 } break; -@@ -26469,6 +26476,10 @@ void LivingLifePage::keyDown( unsigned char inASCII ) { +@@ -26582,6 +26589,10 @@ void LivingLifePage::keyDown( unsigned char inASCII ) { } break; case 9: // tab @@ -48,7 +48,7 @@ index 914b36a5b..ec7e7d943 100644 if( mCurrentHintObjectID != 0 ) { int num = getNumHints( mCurrentHintObjectID ); -@@ -27149,10 +27160,185 @@ void LivingLifePage::actionPerformed( GUIComponent *inTarget ) { +@@ -27278,10 +27289,185 @@ void LivingLifePage::actionPerformed( GUIComponent *inTarget ) { delete [] message; } } diff --git a/diegetic-temperature b/diegetic-temperature index 6a81114..5d9c84f 100644 --- a/diegetic-temperature +++ b/diegetic-temperature @@ -1,5 +1,5 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index 4b79f8e37..d63971ce9 100644 +index dff9d5ba2..ec63deaeb 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp @@ -155,6 +155,8 @@ static char followRoadsOnlyWhileRunning = 1; @@ -11,7 +11,7 @@ index 4b79f8e37..d63971ce9 100644 static int screenCenterPlayerOffsetX, screenCenterPlayerOffsetY; -@@ -2776,6 +2778,9 @@ LivingLifePage::LivingLifePage() +@@ -2875,6 +2877,9 @@ LivingLifePage::LivingLifePage() followRoadsOnlyWhileRunning = SettingsManager::getIntSetting( "followRoadsOnlyWhileRunning", 1 ) && maxDoubleClickFrames > 0; ignoreTallObjects = SettingsManager::getIntSetting( "ignoreTallObjects", 1 ); @@ -21,7 +21,7 @@ index 4b79f8e37..d63971ce9 100644 initLiveTriggers(); -@@ -4906,6 +4911,18 @@ ObjectAnimPack LivingLifePage::drawLiveObject( +@@ -5007,6 +5012,18 @@ ObjectAnimPack LivingLifePage::drawLiveObject( pos = add( pos, actionOffset ); } @@ -40,7 +40,7 @@ index 4b79f8e37..d63971ce9 100644 AnimType curType = inObj->curAnim; AnimType fadeTargetType = inObj->curAnim; -@@ -5040,6 +5057,13 @@ ObjectAnimPack LivingLifePage::drawLiveObject( +@@ -5141,6 +5158,13 @@ ObjectAnimPack LivingLifePage::drawLiveObject( setAnimationEmotion( inObj->currentEmot ); addExtraAnimationEmotions( &( inObj->permanentEmots ) ); @@ -54,7 +54,7 @@ index 4b79f8e37..d63971ce9 100644 // draw young baby lying flat double rot = 0; -@@ -5320,6 +5344,12 @@ ObjectAnimPack LivingLifePage::drawLiveObject( +@@ -5421,6 +5445,12 @@ ObjectAnimPack LivingLifePage::drawLiveObject( restoreSkipDrawing( heldObject ); } @@ -67,7 +67,7 @@ index 4b79f8e37..d63971ce9 100644 setAnimationBadge( badge ); if( badge != -1 ) { -@@ -5401,6 +5431,13 @@ ObjectAnimPack LivingLifePage::drawLiveObject( +@@ -5502,6 +5532,13 @@ ObjectAnimPack LivingLifePage::drawLiveObject( setAnimationEmotion( babyO->currentEmot ); addExtraAnimationEmotions( &( babyO->permanentEmots ) ); diff --git a/drag-drop-use b/drag-drop-use index db3deaf..6647718 100644 --- a/drag-drop-use +++ b/drag-drop-use @@ -1,5 +1,5 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index 5885c33b8..08b389578 100644 +index 3f59b5bf5..e66fa295b 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp @@ -160,6 +160,8 @@ static int showShiverSweat = 0; @@ -11,7 +11,7 @@ index 5885c33b8..08b389578 100644 static int screenCenterPlayerOffsetX, screenCenterPlayerOffsetY; -@@ -2796,6 +2798,8 @@ LivingLifePage::LivingLifePage() +@@ -2895,6 +2897,8 @@ LivingLifePage::LivingLifePage() preferObjectsOverPlayersWithScreenLock = SettingsManager::getIntSetting( "preferObjectsOverPlayersWithScreenLock", 1 ); @@ -20,7 +20,7 @@ index 5885c33b8..08b389578 100644 openSayFieldOnTypingLower = SettingsManager::getIntSetting( "openSayFieldOnTypingLower", 0 ); openSayFieldOnTypingUpper = SettingsManager::getIntSetting( "openSayFieldOnTypingUpper", 1 ); -@@ -11198,6 +11202,39 @@ void LivingLifePage::draw( doublePair inViewCenter, +@@ -11299,6 +11303,39 @@ void LivingLifePage::draw( doublePair inViewCenter, } @@ -60,7 +60,7 @@ index 5885c33b8..08b389578 100644 if( showBugMessage ) { -@@ -26523,6 +26560,39 @@ void LivingLifePage::pointerUp( float inX, float inY ) { +@@ -26636,6 +26673,39 @@ void LivingLifePage::pointerUp( float inX, float inY ) { // pointerDown( inX, inY ); } diff --git a/emotion-keys b/emotion-keys index 96d9ddb..82bb73d 100644 --- a/emotion-keys +++ b/emotion-keys @@ -1,8 +1,8 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index d94d9b620..b31932bd5 100644 +index ec5114519..4f3a9be86 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp -@@ -26299,6 +26299,26 @@ void LivingLifePage::keyDown( unsigned char inASCII ) { +@@ -26412,6 +26412,26 @@ void LivingLifePage::keyDown( unsigned char inASCII ) { return; } diff --git a/filter-matches-product b/filter-matches-product index 47439e0..3083afb 100644 --- a/filter-matches-product +++ b/filter-matches-product @@ -1,5 +1,5 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index 99fc6b429..620f90145 100644 +index 8d00bc808..980e1bc2a 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp @@ -176,6 +176,8 @@ static int clickToMoveLockToInteract = 0; @@ -11,7 +11,7 @@ index 99fc6b429..620f90145 100644 typedef enum interactionKeyType { IK_MOVE, -@@ -3156,6 +3158,8 @@ LivingLifePage::LivingLifePage() +@@ -3255,6 +3257,8 @@ LivingLifePage::LivingLifePage() showLearnedTools = SettingsManager::getIntSetting( "showLearnedTools", 0 ); @@ -20,7 +20,7 @@ index 99fc6b429..620f90145 100644 interactionKeysEnabled = SettingsManager::getIntSetting( "interactionKeysEnabled", 1 ); initKeybinds(); -@@ -12713,6 +12717,7 @@ int LivingLifePage::getNumHints( int inObjectID ) { +@@ -12814,6 +12818,7 @@ int LivingLifePage::getNumHints( int inObjectID ) { // new logic: // show all trans leading to this target object @@ -28,7 +28,7 @@ index 99fc6b429..620f90145 100644 if( mLastHintFilterString != NULL ) { SimpleVector hitIDs = findObjectsMatchingWords( -@@ -12847,6 +12852,101 @@ int LivingLifePage::getNumHints( int inObjectID ) { +@@ -12948,6 +12953,101 @@ int LivingLifePage::getNumHints( int inObjectID ) { } } diff --git a/fix-mushroom-death b/fix-mushroom-death index dbe6740..e931f6a 100644 --- a/fix-mushroom-death +++ b/fix-mushroom-death @@ -1,8 +1,8 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index 8a40386cf..d94d9b620 100644 +index 7cb2ef868..ec5114519 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp -@@ -19382,6 +19382,9 @@ void LivingLifePage::step() { +@@ -19485,6 +19485,9 @@ void LivingLifePage::step() { remapRandSource.reseed( ourID ); diff --git a/help-overlay b/help-overlay index 872f08c..66349cb 100644 --- a/help-overlay +++ b/help-overlay @@ -1,8 +1,8 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index 1b81b4c95..a36fbc07a 100644 +index c22ed0bd7..fd435f43b 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp -@@ -3874,6 +3874,59 @@ LiveObject *LivingLifePage::getLiveObject( int inID ) { +@@ -3975,6 +3975,59 @@ LiveObject *LivingLifePage::getLiveObject( int inID ) { } @@ -63,7 +63,7 @@ index 1b81b4c95..a36fbc07a 100644 SimpleVector *splitLines( const char *inString, double inMaxWidth ) { diff --git a/gameSource/game.cpp b/gameSource/game.cpp -index 23e46ebbc..17e880563 100644 +index 13514192a..d393d89b1 100644 --- a/gameSource/game.cpp +++ b/gameSource/game.cpp @@ -949,43 +949,86 @@ void freeFrameDrawer() { diff --git a/interaction-keys b/interaction-keys index 768c0b6..d485284 100644 --- a/interaction-keys +++ b/interaction-keys @@ -1,5 +1,5 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index 18d2ed846..4a55e435e 100644 +index 35d6b2cbf..1f86e900f 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp @@ -164,6 +164,82 @@ static int dragDropUse = 1; @@ -85,7 +85,7 @@ index 18d2ed846..4a55e435e 100644 static int screenCenterPlayerOffsetX, screenCenterPlayerOffsetY; -@@ -2807,6 +2883,10 @@ LivingLifePage::LivingLifePage() +@@ -2906,6 +2982,10 @@ LivingLifePage::LivingLifePage() tabNameCompletion = SettingsManager::getIntSetting( "tabNameCompletion", 1 ); clickToMoveLockToInteract = SettingsManager::getIntSetting( "clickToMoveLockToInteract", 0 ); @@ -96,7 +96,7 @@ index 18d2ed846..4a55e435e 100644 initLiveTriggers(); -@@ -25373,6 +25453,242 @@ static void freeSavedPath() { +@@ -25486,6 +25566,242 @@ static void freeSavedPath() { @@ -339,7 +339,7 @@ index 18d2ed846..4a55e435e 100644 void LivingLifePage::pointerDown( float inX, float inY ) { lastMouseX = inX; lastMouseY = inY; -@@ -27028,7 +27344,6 @@ void LivingLifePage::keyDown( unsigned char inASCII ) { +@@ -27141,7 +27457,6 @@ void LivingLifePage::keyDown( unsigned char inASCII ) { mZKeyDown = false; mXKeyDown = false; @@ -347,7 +347,7 @@ index 18d2ed846..4a55e435e 100644 mSayField.focus(); } else if( mSayField.isFocused() ) { -@@ -27421,23 +27736,44 @@ void LivingLifePage::keyDown( unsigned char inASCII ) { +@@ -27534,23 +27849,44 @@ void LivingLifePage::keyDown( unsigned char inASCII ) { TextField::unfocusAll(); } break; @@ -392,7 +392,7 @@ index 18d2ed846..4a55e435e 100644 && ! vogMode && (isalpha( inASCII ) || (inASCII == ' ' && keyDownGap < 30 && sayCapture != 0 ))) { -@@ -27615,6 +27951,9 @@ void LivingLifePage::specialKeyDown( int inKeyCode ) { +@@ -27744,6 +28080,9 @@ void LivingLifePage::specialKeyDown( int inKeyCode ) { } } } diff --git a/interaction-refactoring b/interaction-refactoring index 866a54a..20626b2 100644 --- a/interaction-refactoring +++ b/interaction-refactoring @@ -1,8 +1,8 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index b31932bd5..5885c33b8 100644 +index 4f3a9be86..3f59b5bf5 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp -@@ -24296,6 +24296,972 @@ char LivingLifePage::getCellBlocksWalking( int inMapX, int inMapY ) { +@@ -24409,6 +24409,972 @@ char LivingLifePage::getCellBlocksWalking( int inMapX, int inMapY ) { } } @@ -975,7 +975,7 @@ index b31932bd5..5885c33b8 100644 -@@ -24493,8 +25459,6 @@ void LivingLifePage::pointerDown( float inX, float inY ) { +@@ -24606,8 +25572,6 @@ void LivingLifePage::pointerDown( float inX, float inY ) { } @@ -984,7 +984,7 @@ index b31932bd5..5885c33b8 100644 -@@ -24856,7 +25820,6 @@ void LivingLifePage::pointerDown( float inX, float inY ) { +@@ -24969,7 +25933,6 @@ void LivingLifePage::pointerDown( float inX, float inY ) { int moveDestX = clickDestX; int moveDestY = clickDestY; @@ -992,7 +992,7 @@ index b31932bd5..5885c33b8 100644 -@@ -24864,61 +25827,7 @@ void LivingLifePage::pointerDown( float inX, float inY ) { +@@ -24977,61 +25940,7 @@ void LivingLifePage::pointerDown( float inX, float inY ) { if( destID > 0 && p.hitAnObject ) { @@ -1055,7 +1055,7 @@ index b31932bd5..5885c33b8 100644 } -@@ -25283,7 +26192,7 @@ void LivingLifePage::pointerDown( float inX, float inY ) { +@@ -25396,7 +26305,7 @@ void LivingLifePage::pointerDown( float inX, float inY ) { // a move to an empty spot where we're not already standing // can interrupt current move @@ -1064,7 +1064,7 @@ index b31932bd5..5885c33b8 100644 } else if( ( modClick && // we can right click on an empty tile or full tile if -@@ -25302,276 +26211,8 @@ void LivingLifePage::pointerDown( float inX, float inY ) { +@@ -25415,276 +26324,8 @@ void LivingLifePage::pointerDown( float inX, float inY ) { // use/drop modifier // OR pick up action @@ -1342,7 +1342,7 @@ index b31932bd5..5885c33b8 100644 -@@ -25627,47 +26268,9 @@ void LivingLifePage::pointerDown( float inX, float inY ) { +@@ -25740,47 +26381,9 @@ void LivingLifePage::pointerDown( float inX, float inY ) { // check for other special case // a use-on-ground transition or use-on-floor transition @@ -1393,7 +1393,7 @@ index b31932bd5..5885c33b8 100644 } } else if( destID != 0 && -@@ -25848,216 +26451,6 @@ void LivingLifePage::pointerDown( float inX, float inY ) { +@@ -25961,216 +26564,6 @@ void LivingLifePage::pointerDown( float inX, float inY ) { delete [] extra; } } diff --git a/location-slips b/location-slips index 57066a5..21f7b34 100644 --- a/location-slips +++ b/location-slips @@ -1,8 +1,8 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index ab9ecbe05..4ea87ff1d 100644 +index dc864583e..f8ca8b293 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp -@@ -506,6 +506,92 @@ static SimpleVector oldHomePosStack; +@@ -605,6 +605,92 @@ static SimpleVector oldHomePosStack; // used on reconnect to decide whether to delete old home positions static int lastPlayerID = -1; @@ -95,7 +95,7 @@ index ab9ecbe05..4ea87ff1d 100644 static void processHomePosStack() { -@@ -584,6 +670,32 @@ static void removeHomeLocation( int inX, int inY ) { +@@ -683,6 +769,32 @@ static void removeHomeLocation( int inX, int inY ) { } @@ -128,7 +128,7 @@ index ab9ecbe05..4ea87ff1d 100644 static void removeAllTempHomeLocations() { for( int i=0; icurrentMouseOverClothingIndex; if( cm != -1 ) { -@@ -14549,6 +15277,66 @@ void LivingLifePage::step() { +@@ -14650,6 +15378,66 @@ void LivingLifePage::step() { } } @@ -903,7 +903,7 @@ index ab9ecbe05..4ea87ff1d 100644 -@@ -15590,6 +16378,7 @@ void LivingLifePage::step() { +@@ -15691,6 +16479,7 @@ void LivingLifePage::step() { if( strcmp( famName, "0" ) != 0 ) { h->familyName = stringDuplicate( famName ); } @@ -911,7 +911,7 @@ index ab9ecbe05..4ea87ff1d 100644 } else { char *newFamName = NULL; -@@ -15598,6 +16387,7 @@ void LivingLifePage::step() { +@@ -15699,6 +16488,7 @@ void LivingLifePage::step() { } Homeland h = { x, y, newFamName }; homelands.push_back( h ); @@ -919,7 +919,7 @@ index ab9ecbe05..4ea87ff1d 100644 } } } -@@ -16049,6 +16839,7 @@ void LivingLifePage::step() { +@@ -16152,6 +16942,7 @@ void LivingLifePage::step() { apocalypseDisplayProgress = 0; apocalypseInProgress = false; homePosStack.deleteAll(); @@ -927,7 +927,7 @@ index ab9ecbe05..4ea87ff1d 100644 clearToolLearnedStatus(); -@@ -16076,7 +16867,7 @@ void LivingLifePage::step() { +@@ -16179,7 +16970,7 @@ void LivingLifePage::step() { double d = distance( pos, ourLiveObject->currentPos ); addAncientHomeLocation( posX, posY ); @@ -936,7 +936,7 @@ index ab9ecbe05..4ea87ff1d 100644 isAncientHomePosHell = false; isAncientHomePosRocket = false; -@@ -16443,11 +17234,16 @@ void LivingLifePage::step() { +@@ -16546,11 +17337,16 @@ void LivingLifePage::step() { } o->ownerList->deleteAll(); @@ -953,7 +953,7 @@ index ab9ecbe05..4ea87ff1d 100644 } } } -@@ -16590,6 +17386,7 @@ void LivingLifePage::step() { +@@ -16693,6 +17489,7 @@ void LivingLifePage::step() { // home markers invalid now homePosStack.deleteAll(); @@ -961,7 +961,7 @@ index ab9ecbe05..4ea87ff1d 100644 } } } -@@ -17161,6 +17958,7 @@ void LivingLifePage::step() { +@@ -17264,6 +18061,7 @@ void LivingLifePage::step() { printf( "Found starting home marker at %d,%d\n", closestX, closestY ); addHomeLocation( closestX, closestY ); @@ -969,7 +969,7 @@ index ab9ecbe05..4ea87ff1d 100644 } } -@@ -17774,11 +18572,13 @@ void LivingLifePage::step() { +@@ -17877,11 +18675,13 @@ void LivingLifePage::step() { getObject( newID )->homeMarker ) { addHomeLocation( x, y ); @@ -983,7 +983,7 @@ index ab9ecbe05..4ea87ff1d 100644 addedOrRemoved = true; } -@@ -17814,6 +18614,8 @@ void LivingLifePage::step() { +@@ -17917,6 +18717,8 @@ void LivingLifePage::step() { removeHomeLocation( rx, ry ); @@ -992,7 +992,7 @@ index ab9ecbe05..4ea87ff1d 100644 } } } -@@ -17822,6 +18624,18 @@ void LivingLifePage::step() { +@@ -17925,6 +18727,18 @@ void LivingLifePage::step() { } } @@ -1011,7 +1011,7 @@ index ab9ecbe05..4ea87ff1d 100644 if( old != newID && -@@ -18528,6 +19342,8 @@ void LivingLifePage::step() { +@@ -18631,6 +19445,8 @@ void LivingLifePage::step() { r->temporaryExpireETA = game_getCurrentTime() + 60; } @@ -1020,7 +1020,7 @@ index ab9ecbe05..4ea87ff1d 100644 } -@@ -19769,6 +20585,10 @@ void LivingLifePage::step() { +@@ -19872,6 +20688,10 @@ void LivingLifePage::step() { existing->id, lrint( existing->currentPos.x ), lrint( existing->currentPos.y ) ); @@ -1031,7 +1031,7 @@ index ab9ecbe05..4ea87ff1d 100644 } if( existing->holdingID < 0 ) { int babyID = - existing->holdingID; -@@ -19777,6 +20597,10 @@ void LivingLifePage::step() { +@@ -19880,6 +20700,10 @@ void LivingLifePage::step() { babyID, lrint( existing->currentPos.x ), lrint( existing->currentPos.y ) ); @@ -1042,7 +1042,7 @@ index ab9ecbe05..4ea87ff1d 100644 } -@@ -20474,6 +21298,17 @@ void LivingLifePage::step() { +@@ -20577,6 +21401,17 @@ void LivingLifePage::step() { oldHomePosStack.deleteAll(); } homePosStack.push_back_other( &oldHomePosStack ); @@ -1060,7 +1060,7 @@ index ab9ecbe05..4ea87ff1d 100644 lastPlayerID = ourID; -@@ -20622,6 +21457,10 @@ void LivingLifePage::step() { +@@ -20725,6 +21560,10 @@ void LivingLifePage::step() { existing->id, lrint( existing->currentPos.x ), lrint( existing->currentPos.y ) ); @@ -1071,7 +1071,7 @@ index ab9ecbe05..4ea87ff1d 100644 } if( existing->holdingID < 0 ) { int babyID = - existing->holdingID; -@@ -20630,6 +21469,10 @@ void LivingLifePage::step() { +@@ -20733,6 +21572,10 @@ void LivingLifePage::step() { babyID, lrint( existing->currentPos.x ), lrint( existing->currentPos.y ) ); @@ -1082,7 +1082,7 @@ index ab9ecbe05..4ea87ff1d 100644 } -@@ -21188,10 +22031,7 @@ void LivingLifePage::step() { +@@ -21291,10 +22134,7 @@ void LivingLifePage::step() { if( firstSpace != NULL ) { @@ -1094,7 +1094,7 @@ index ab9ecbe05..4ea87ff1d 100644 existing->currentSpeech = stringDuplicate( &( firstSpace[1] ) ); -@@ -21299,7 +22139,7 @@ void LivingLifePage::step() { +@@ -21402,7 +22242,7 @@ void LivingLifePage::step() { " *baby %d", &personID ); babyPos[0] = '\0'; @@ -1103,7 +1103,7 @@ index ab9ecbe05..4ea87ff1d 100644 } -@@ -21315,7 +22155,7 @@ void LivingLifePage::step() { +@@ -21418,7 +22258,7 @@ void LivingLifePage::step() { " *leader %d", &personID ); leaderPos[0] = '\0'; @@ -1112,7 +1112,7 @@ index ab9ecbe05..4ea87ff1d 100644 } } -@@ -21335,7 +22175,7 @@ void LivingLifePage::step() { +@@ -21438,7 +22278,7 @@ void LivingLifePage::step() { &personID ); follPos[0] = '\0'; @@ -1121,7 +1121,7 @@ index ab9ecbe05..4ea87ff1d 100644 } } -@@ -21354,7 +22194,7 @@ void LivingLifePage::step() { +@@ -21457,7 +22297,7 @@ void LivingLifePage::step() { &personID ); expertPos[0] = '\0'; @@ -1130,7 +1130,7 @@ index ab9ecbe05..4ea87ff1d 100644 } } -@@ -21371,7 +22211,7 @@ void LivingLifePage::step() { +@@ -21474,7 +22314,7 @@ void LivingLifePage::step() { &personID ); ownerPos[0] = '\0'; @@ -1139,7 +1139,7 @@ index ab9ecbe05..4ea87ff1d 100644 } } -@@ -21389,7 +22229,7 @@ void LivingLifePage::step() { +@@ -21492,7 +22332,7 @@ void LivingLifePage::step() { &personID ); visitorPos[0] = '\0'; @@ -1148,7 +1148,7 @@ index ab9ecbe05..4ea87ff1d 100644 } } -@@ -21425,7 +22265,7 @@ void LivingLifePage::step() { +@@ -21528,7 +22368,7 @@ void LivingLifePage::step() { personID = 0; propPos[0] = '\0'; @@ -1157,7 +1157,7 @@ index ab9ecbe05..4ea87ff1d 100644 } } -@@ -21442,6 +22282,20 @@ void LivingLifePage::step() { +@@ -21545,6 +22385,20 @@ void LivingLifePage::step() { personID, personO, personKey ); @@ -1178,7 +1178,7 @@ index ab9ecbe05..4ea87ff1d 100644 } if( personID != -1 && baby) { -@@ -21526,6 +22380,14 @@ void LivingLifePage::step() { +@@ -21629,6 +22483,14 @@ void LivingLifePage::step() { existing->currentSpeech = newSpeech; } @@ -1193,7 +1193,7 @@ index ab9ecbe05..4ea87ff1d 100644 } else { // no *map metadata in our speech -@@ -21585,6 +22447,11 @@ void LivingLifePage::step() { +@@ -21688,6 +22550,11 @@ void LivingLifePage::step() { existing->id, existing->currentSpeech ); } @@ -1204,8 +1204,8 @@ index ab9ecbe05..4ea87ff1d 100644 + } } - break; -@@ -23021,6 +23888,7 @@ void LivingLifePage::step() { + +@@ -23132,6 +23999,7 @@ void LivingLifePage::step() { } } @@ -1213,7 +1213,7 @@ index ab9ecbe05..4ea87ff1d 100644 if( o->currentSpeech == NULL ) { // check if we have an arrow to them -@@ -24483,6 +25351,9 @@ void LivingLifePage::makeActive( char inFresh ) { +@@ -24596,6 +25464,9 @@ void LivingLifePage::makeActive( char inFresh ) { } @@ -1223,7 +1223,7 @@ index ab9ecbe05..4ea87ff1d 100644 mLastKnownNoteLines.deallocateStringElements(); mErasedNoteChars.deleteAll(); mErasedNoteCharOffsets.deleteAll(); -@@ -28154,6 +29025,7 @@ static void showPlayerLabel( LiveObject *inPlayer, const char *inLabel, +@@ -28267,6 +29138,7 @@ static void showPlayerLabel( LiveObject *inPlayer, const char *inLabel, static char commandTyped( char *inTyped, const char *inCommandTransKey ) { const char *command = translate( inCommandTransKey ); @@ -1231,7 +1231,7 @@ index ab9ecbe05..4ea87ff1d 100644 if( strstr( inTyped, command ) == inTyped ) { -@@ -28582,8 +29454,18 @@ void LivingLifePage::keyDown( unsigned char inASCII ) { +@@ -28695,8 +29567,18 @@ void LivingLifePage::keyDown( unsigned char inASCII ) { gameObjects.getElement( f ); if( famO->isGeneticFamily ) { @@ -1252,7 +1252,7 @@ index ab9ecbe05..4ea87ff1d 100644 } } } -@@ -28601,6 +29483,7 @@ void LivingLifePage::keyDown( unsigned char inASCII ) { +@@ -28714,6 +29596,7 @@ void LivingLifePage::keyDown( unsigned char inASCII ) { SimpleVector ourLeadershipChain = getOurLeadershipChain(); diff --git a/name-assist b/name-assist index b0a790f..17d8cef 100644 --- a/name-assist +++ b/name-assist @@ -1,5 +1,5 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index ec7e7d943..8a40386cf 100644 +index ab7b917c3..7cb2ef868 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp @@ -27,6 +27,7 @@ @@ -10,7 +10,7 @@ index ec7e7d943..8a40386cf 100644 #include "rocketAnimation.h" -@@ -2802,6 +2803,8 @@ LivingLifePage::LivingLifePage() +@@ -2901,6 +2902,8 @@ LivingLifePage::LivingLifePage() initLiveTriggers(); @@ -19,7 +19,7 @@ index ec7e7d943..8a40386cf 100644 for( int i=0; i<4; i++ ) { char *name = autoSprintf( "ground_t%d.tga", i ); mGroundOverlaySprite[i] = loadSprite( name, false ); -@@ -3228,6 +3231,8 @@ LivingLifePage::~LivingLifePage() { +@@ -3329,6 +3332,8 @@ LivingLifePage::~LivingLifePage() { freeLiveTriggers(); @@ -28,7 +28,7 @@ index ec7e7d943..8a40386cf 100644 readyPendingReceivedMessages.deallocateStringElements(); serverFrameMessages.deallocateStringElements(); -@@ -27217,6 +27222,7 @@ void LivingLifePage::fadeErasedCharacters() { +@@ -27346,6 +27351,7 @@ void LivingLifePage::fadeErasedCharacters() { } @@ -36,7 +36,7 @@ index ec7e7d943..8a40386cf 100644 char originalCompletionText[256] = {0}; unsigned int originalCompletionLength = 0; -@@ -27228,6 +27234,12 @@ const char* nameDetection(const char * const inString ) { +@@ -27357,6 +27363,12 @@ const char* nameDetection(const char * const inString ) { if( textLength >= 6 && strncmp( inString, "CURSE ", 6 ) == 0 ) { return inString + 6; } @@ -49,7 +49,7 @@ index ec7e7d943..8a40386cf 100644 else { for( int i=textLength-1 ; i >= 0 ; i-- ) { if( inString[i] >= 'A' && inString[i] <= 'Z' ) { -@@ -27298,13 +27310,12 @@ void LivingLifePage::nameCompletion() { +@@ -27427,13 +27439,12 @@ void LivingLifePage::nameCompletion() { char *curText = mSayField.getText(); @@ -68,7 +68,7 @@ index ec7e7d943..8a40386cf 100644 delete [] curText; -@@ -27317,16 +27328,46 @@ void LivingLifePage::nameCompletion() { +@@ -27446,16 +27457,46 @@ void LivingLifePage::nameCompletion() { // some text to try and find partial name in, try next name const char* nameText = nameDetection( originalCompletionText ); @@ -119,7 +119,7 @@ index ec7e7d943..8a40386cf 100644 unsigned int prefixLength = nameText - originalCompletionText; if ( prefixLength > 255 ) return; strncpy( say, originalCompletionText, prefixLength ); -@@ -27337,6 +27378,7 @@ void LivingLifePage::nameCompletion() { +@@ -27466,6 +27507,7 @@ void LivingLifePage::nameCompletion() { if (maxLength < prefixLength) return; strncpy( say + prefixLength, name, maxLength-prefixLength ); say[maxLength] = 0; diff --git a/name-labels b/name-labels index 3b69a9e..d0ee8e0 100644 --- a/name-labels +++ b/name-labels @@ -1,5 +1,5 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index 823b2f6b3..54c600fef 100644 +index 8e73cd50b..17b05c2bc 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp @@ -295,6 +295,9 @@ static yumType isYummy( int inObjectID ) { @@ -12,7 +12,7 @@ index 823b2f6b3..54c600fef 100644 static int screenCenterPlayerOffsetX, screenCenterPlayerOffsetY; -@@ -3674,6 +3677,10 @@ LivingLifePage::LivingLifePage() +@@ -3773,6 +3776,10 @@ LivingLifePage::LivingLifePage() initLocationSlips(); @@ -23,7 +23,7 @@ index 823b2f6b3..54c600fef 100644 initLiveTriggers(); initNames(); -@@ -4925,6 +4932,218 @@ void LivingLifePage::drawChalkBackgroundString( doublePair inPos, +@@ -5026,6 +5033,218 @@ void LivingLifePage::drawChalkBackgroundString( doublePair inPos, @@ -242,7 +242,7 @@ index 823b2f6b3..54c600fef 100644 typedef struct OffScreenSound { doublePair pos; -@@ -5864,7 +6083,9 @@ int LivingLifePage::getBadgeObjectID( LiveObject *inPlayer ) { +@@ -5965,7 +6184,9 @@ int LivingLifePage::getBadgeObjectID( LiveObject *inPlayer ) { ObjectAnimPack LivingLifePage::drawLiveObject( LiveObject *inObj, SimpleVector *inSpeakers, @@ -253,7 +253,7 @@ index 823b2f6b3..54c600fef 100644 setExtraIndex( inObj->extraAnimIndex ); setExtraIndexB( inObj->extraAnimIndexB ); -@@ -6641,6 +6862,10 @@ ObjectAnimPack LivingLifePage::drawLiveObject( +@@ -6742,6 +6963,10 @@ ObjectAnimPack LivingLifePage::drawLiveObject( inSpeakers->push_back( babyO ); inSpeakersPos->push_back( holdPos ); } @@ -264,7 +264,7 @@ index 823b2f6b3..54c600fef 100644 } } else if( inObj->numContained == 0 ) { -@@ -6694,6 +6919,11 @@ ObjectAnimPack LivingLifePage::drawLiveObject( +@@ -6795,6 +7020,11 @@ ObjectAnimPack LivingLifePage::drawLiveObject( inSpeakersPos->push_back( pos ); } @@ -276,7 +276,7 @@ index 823b2f6b3..54c600fef 100644 if( inObj->id == ourID ) { setClothingHighlightFades( NULL ); } -@@ -9033,6 +9263,8 @@ void LivingLifePage::draw( doublePair inViewCenter, +@@ -9134,6 +9364,8 @@ void LivingLifePage::draw( doublePair inViewCenter, SimpleVector speakers; SimpleVector speakersPos; @@ -285,7 +285,7 @@ index 823b2f6b3..54c600fef 100644 // draw long path for our character -@@ -9626,7 +9858,7 @@ void LivingLifePage::draw( doublePair inViewCenter, +@@ -9727,7 +9959,7 @@ void LivingLifePage::draw( doublePair inViewCenter, } ObjectAnimPack heldPack = @@ -294,7 +294,7 @@ index 823b2f6b3..54c600fef 100644 if( ourLiveObject->isGhost ) { toggleInvertDrawBodyless( false ); -@@ -10104,6 +10336,49 @@ void LivingLifePage::draw( doublePair inViewCenter, +@@ -10205,6 +10437,49 @@ void LivingLifePage::draw( doublePair inViewCenter, @@ -344,7 +344,7 @@ index 823b2f6b3..54c600fef 100644 if( ! takingPhoto ) for( int i=0; icurrentPos.y ) ); } @@ -392,7 +392,7 @@ index 823b2f6b3..54c600fef 100644 if( existing->id == ourID ) { // look for map metadata char *starPos = -@@ -22627,6 +22922,14 @@ void LivingLifePage::step() { +@@ -22730,6 +23025,14 @@ void LivingLifePage::step() { personID ); } } @@ -407,7 +407,7 @@ index 823b2f6b3..54c600fef 100644 doublePair dest = { (double)mapX, (double)mapY }; -@@ -23084,6 +23387,17 @@ void LivingLifePage::step() { +@@ -23195,6 +23498,17 @@ void LivingLifePage::step() { if( id == ourID ) { // we just got our own lineage @@ -425,7 +425,7 @@ index 823b2f6b3..54c600fef 100644 for( int t=0; t < existing->lineage.size(); t++ ) { -@@ -23164,6 +23478,7 @@ void LivingLifePage::step() { +@@ -23275,6 +23589,7 @@ void LivingLifePage::step() { } if( other->relationDistance == 0 ) { other->relationDistance = 1; @@ -433,7 +433,7 @@ index 823b2f6b3..54c600fef 100644 } } } -@@ -23295,6 +23610,19 @@ void LivingLifePage::step() { +@@ -23406,6 +23721,19 @@ void LivingLifePage::step() { existing->name = stringDuplicate( nameStart ); knownNames.push_back(stringDuplicate( nameStart )); @@ -453,7 +453,7 @@ index 823b2f6b3..54c600fef 100644 } break; -@@ -25440,6 +25768,8 @@ void LivingLifePage::makeActive( char inFresh ) { +@@ -25551,6 +25879,8 @@ void LivingLifePage::makeActive( char inFresh ) { mLastMouseOverID = 0; mCurMouseOverID = 0; mCurMouseOverBiome = -1; @@ -462,7 +462,7 @@ index 823b2f6b3..54c600fef 100644 mCurMouseOverFade = 0; mCurMouseOverBehind = false; mCurMouseOverPerson = false; -@@ -26444,6 +26774,9 @@ void LivingLifePage::pointerMove( float inX, float inY ) { +@@ -26557,6 +26887,9 @@ void LivingLifePage::pointerMove( float inX, float inY ) { ourLiveObject->currentMouseOverClothingIndex = -1; @@ -472,7 +472,7 @@ index 823b2f6b3..54c600fef 100644 if( destID == 0 ) { if( p.hitSelf ) { mCurMouseOverSelf = true; -@@ -26477,6 +26810,7 @@ void LivingLifePage::pointerMove( float inX, float inY ) { +@@ -26590,6 +26923,7 @@ void LivingLifePage::pointerMove( float inX, float inY ) { // store negative in place so that we can show their relation // string mCurMouseOverID = - p.hitOtherPersonID; @@ -480,7 +480,7 @@ index 823b2f6b3..54c600fef 100644 mCurMouseOverBiome = -1; } } -@@ -26557,6 +26891,10 @@ void LivingLifePage::pointerMove( float inX, float inY ) { +@@ -26670,6 +27004,10 @@ void LivingLifePage::pointerMove( float inX, float inY ) { mCurMouseOverBehind = false; mLastMouseOverFade = 1.0f; } diff --git a/object-search b/object-search index c88812c..c289317 100644 --- a/object-search +++ b/object-search @@ -1,5 +1,5 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index 2f984c5b7..bbb2b32b2 100644 +index f578a2853..3c26966b3 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp @@ -180,6 +180,10 @@ static int showLearnedTools = 0; @@ -13,7 +13,7 @@ index 2f984c5b7..bbb2b32b2 100644 typedef enum interactionKeyType { IK_MOVE, -@@ -518,6 +522,7 @@ static FloatColor gold = { 255.0/255, 227.0/255, 50.0/255, 1 }; +@@ -617,6 +621,7 @@ static FloatColor gold = { 255.0/255, 227.0/255, 50.0/255, 1 }; static FloatColor pumpkin = { 255.0/255, 139.0/255, 0.0/255, 1 }; static FloatColor blood = { 244.0/255, 16.0/255, 8.0/255, 1 }; static FloatColor indigo = { 122.0/255, 126.0/255, 244.0/255, 1 }; @@ -21,7 +21,7 @@ index 2f984c5b7..bbb2b32b2 100644 static FloatColor pink = { 250.0/255, 144.0/255, 146.0/255, 1 }; static FloatColor stone = { 128.0/255, 125.0/255, 149.0/255, 1 }; static FloatColor wood = { 146.0/255, 65.0/255, 0.0/255, 1 }; -@@ -816,6 +821,7 @@ void LivingLifePage::addLocationSlip( int inX, int inY ) { +@@ -915,6 +920,7 @@ void LivingLifePage::addLocationSlip( int inX, int inY ) { p.labeled = true; p.showDistance = false; p.tempPerson = false; @@ -29,7 +29,7 @@ index 2f984c5b7..bbb2b32b2 100644 p.temporaryExpireETA = 0; p.distanceExpireETA = 0; p.creationTime = game_getCurrentTime(); -@@ -895,6 +901,7 @@ void LivingLifePage::addTempLocationSlip( int inX, int inY, +@@ -994,6 +1000,7 @@ void LivingLifePage::addTempLocationSlip( int inX, int inY, p.temporary = true; p.labeled = false; p.showDistance = false; @@ -37,7 +37,7 @@ index 2f984c5b7..bbb2b32b2 100644 // no expiration for now // until we drop the map p.temporaryExpireETA = 0; -@@ -954,6 +961,50 @@ void LivingLifePage::addTempLocationSlip( int inX, int inY, +@@ -1053,6 +1060,50 @@ void LivingLifePage::addTempLocationSlip( int inX, int inY, @@ -88,7 +88,7 @@ index 2f984c5b7..bbb2b32b2 100644 static void updatePersonHomeLocation( int inPersonID, int inX, int inY ) { for( int i=0; idescription ); -@@ -14478,6 +14615,62 @@ void LivingLifePage::setNewCraving( int inFoodID, int inYumBonus ) { +@@ -14579,6 +14716,62 @@ void LivingLifePage::setNewCraving( int inFoodID, int inYumBonus ) { double longestLine = getLongestLine( (char*)( mCravingMessage[ mLiveCravingSheetIndex ] ) ); @@ -302,7 +302,7 @@ index 2f984c5b7..bbb2b32b2 100644 mCravingExtraOffset[ mLiveCravingSheetIndex ].x = longestLine; } -@@ -17939,6 +18132,8 @@ void LivingLifePage::step() { +@@ -18042,6 +18235,8 @@ void LivingLifePage::step() { tokens->deallocateStringElements(); delete tokens; @@ -311,7 +311,7 @@ index 2f984c5b7..bbb2b32b2 100644 if( !( mFirstServerMessagesReceived & 1 ) ) { // first map chunk just recieved -@@ -18588,6 +18783,18 @@ void LivingLifePage::step() { +@@ -18691,6 +18886,18 @@ void LivingLifePage::step() { } @@ -330,7 +330,7 @@ index 2f984c5b7..bbb2b32b2 100644 // Check if a home marker has been set or removed if( responsiblePlayerID != -1 && ( old != 0 || -@@ -18987,6 +19194,7 @@ void LivingLifePage::step() { +@@ -19090,6 +19297,7 @@ void LivingLifePage::step() { } delete [] lines; @@ -338,7 +338,7 @@ index 2f984c5b7..bbb2b32b2 100644 } else if( type == PLAYER_UPDATE ) { -@@ -19366,6 +19574,8 @@ void LivingLifePage::step() { +@@ -19469,6 +19677,8 @@ void LivingLifePage::step() { existing->id == ourID ) { // got a PU for self @@ -347,7 +347,7 @@ index 2f984c5b7..bbb2b32b2 100644 if( existing->holdingID != o.holdingID ) { // holding change // if we have a temp home arrow -@@ -23604,7 +23814,7 @@ void LivingLifePage::step() { +@@ -23715,7 +23925,7 @@ void LivingLifePage::step() { char *currentText = mSayField.getText(); @@ -356,7 +356,7 @@ index 2f984c5b7..bbb2b32b2 100644 // typing a filter // hard cap at 25, regardless of age // don't want them typing long filters that overflow the display -@@ -25208,6 +25418,7 @@ void LivingLifePage::makeActive( char inFresh ) { +@@ -25321,6 +25531,7 @@ void LivingLifePage::makeActive( char inFresh ) { } mOldHintArrows.deleteAll(); @@ -364,7 +364,7 @@ index 2f984c5b7..bbb2b32b2 100644 mGlobalMessageShowing = false; mGlobalMessageStartTime = 0; -@@ -25281,7 +25492,7 @@ void LivingLifePage::makeActive( char inFresh ) { +@@ -25394,7 +25605,7 @@ void LivingLifePage::makeActive( char inFresh ) { mCurrentHintObjectID = 0; mCurrentHintIndex = 0; @@ -373,7 +373,7 @@ index 2f984c5b7..bbb2b32b2 100644 mNextHintIndex = 0; -@@ -25333,6 +25544,9 @@ void LivingLifePage::makeActive( char inFresh ) { +@@ -25446,6 +25657,9 @@ void LivingLifePage::makeActive( char inFresh ) { mCravingMessage[i] = NULL; } } @@ -383,7 +383,7 @@ index 2f984c5b7..bbb2b32b2 100644 for( int i=0; icheckSignal( "loginFailed" ) ) { diff --git a/player-search b/player-search index fba4840..7e92efe 100644 --- a/player-search +++ b/player-search @@ -1,5 +1,5 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index bbb2b32b2..823b2f6b3 100644 +index 3c26966b3..8e73cd50b 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp @@ -168,6 +168,8 @@ static double newPlayerMessageTime = 0; @@ -11,7 +11,7 @@ index bbb2b32b2..823b2f6b3 100644 static int categoryPile = 1600; static int preferObjectsOverPlayersWithScreenLock = 1; -@@ -538,6 +540,7 @@ static const char* textExpt = "expt"; +@@ -637,6 +639,7 @@ static const char* textExpt = "expt"; static const char* textOwner = "owner"; static const char* textVisitor = "visitor"; static const char* textProperty = "property"; @@ -19,7 +19,7 @@ index bbb2b32b2..823b2f6b3 100644 #define LOCATION_SLIP_HOME_X -41 #define LOCATION_SLIP_MAP_X (LOCATION_SLIP_HOME_X+LOCATION_SLIP_OFFSET) -@@ -2611,6 +2614,45 @@ SimpleVector knownNames; +@@ -2710,6 +2713,45 @@ SimpleVector knownNames; static int tabNameCompletion = 1; @@ -65,7 +65,7 @@ index bbb2b32b2..823b2f6b3 100644 extern char autoAdjustFramerate; extern int baseFramesPerSecond; -@@ -3575,6 +3617,15 @@ LivingLifePage::LivingLifePage() +@@ -3674,6 +3716,15 @@ LivingLifePage::LivingLifePage() delete [] markKeyString; } @@ -81,7 +81,7 @@ index bbb2b32b2..823b2f6b3 100644 categoryPile = SettingsManager::getIntSetting( "categoryPile", 1600 ); preferObjectsOverPlayersWithScreenLock = SettingsManager::getIntSetting( "preferObjectsOverPlayersWithScreenLock", 1 ); -@@ -7741,23 +7792,38 @@ void LivingLifePage::drawLocationSlip( int inIndex ) { +@@ -7842,23 +7893,38 @@ void LivingLifePage::drawLocationSlip( int inIndex ) { if ( labeled ) { arrowPos.y -= LOCATION_SLIP_BOTTOM_TEXT; } @@ -133,7 +133,7 @@ index bbb2b32b2..823b2f6b3 100644 } } -@@ -15305,10 +15371,14 @@ void LivingLifePage::step() { +@@ -15406,10 +15472,14 @@ void LivingLifePage::step() { char home = ! locationSlip->temporary && ! locationSlip->ancient; @@ -149,7 +149,7 @@ index bbb2b32b2..823b2f6b3 100644 locationSlip->labeled = home && homeSlips == 1; char expired = locationSlip->temporary && -@@ -27913,6 +27983,22 @@ void LivingLifePage::playerUnmark() { +@@ -28026,6 +28096,22 @@ void LivingLifePage::playerUnmark() { } @@ -172,7 +172,7 @@ index bbb2b32b2..823b2f6b3 100644 void LivingLifePage::pointerDown( float inX, float inY ) { lastMouseX = inX; lastMouseY = inY; -@@ -29883,7 +29969,7 @@ void LivingLifePage::keyDown( unsigned char inASCII ) { +@@ -29996,7 +30082,7 @@ void LivingLifePage::keyDown( unsigned char inASCII ) { if( filterStringLen > 0 ) { // not blank @@ -181,7 +181,7 @@ index bbb2b32b2..823b2f6b3 100644 stringDuplicate( trimmedFilterString ); } -@@ -29914,8 +30000,31 @@ void LivingLifePage::keyDown( unsigned char inASCII ) { +@@ -30027,8 +30113,31 @@ void LivingLifePage::keyDown( unsigned char inASCII ) { if( filterStringLen > 0 ) { // not blank @@ -215,7 +215,7 @@ index bbb2b32b2..823b2f6b3 100644 } delete [] trimmedFilterString; -@@ -30095,6 +30204,11 @@ void LivingLifePage::keyDown( unsigned char inASCII ) { +@@ -30208,6 +30317,11 @@ void LivingLifePage::keyDown( unsigned char inASCII ) { } diff --git a/series b/series index 522c1ba..b4f61c1 100644 --- a/series +++ b/series @@ -1,4 +1,4 @@ -# This series applies on GIT commit cb16005658d45c90f0fd4810b80fec51be3e32c3 +# This series applies on GIT commit c753e81b473d7c1789349b58cdc56c4e84be9d2b custom-gitignore show-modded-client optional-client-tag diff --git a/show-bad-biome-objects b/show-bad-biome-objects index 03ef261..0ced775 100644 --- a/show-bad-biome-objects +++ b/show-bad-biome-objects @@ -1,8 +1,8 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index 4ea87ff1d..adb821efb 100644 +index f8ca8b293..af3c02609 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp -@@ -11946,6 +11946,7 @@ void LivingLifePage::draw( doublePair inViewCenter, +@@ -12047,6 +12047,7 @@ void LivingLifePage::draw( doublePair inViewCenter, char badBiome = false; if( mCurMouseOverBiome != -1 && diff --git a/show-burn-rate b/show-burn-rate index e0b7cf6..88ea80e 100644 --- a/show-burn-rate +++ b/show-burn-rate @@ -1,8 +1,8 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index 07736c56d..97451ecbf 100644 +index 3287b2331..acb4b5b7d 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp -@@ -6164,6 +6164,48 @@ void LivingLifePage::drawHungerMaxFillLine( doublePair inAteWordsPos, +@@ -6265,6 +6265,48 @@ void LivingLifePage::drawHungerMaxFillLine( doublePair inAteWordsPos, @@ -51,7 +51,7 @@ index 07736c56d..97451ecbf 100644 static void drawLine( SpriteHandle inSegmentSprite, doublePair inStart, doublePair inEnd, -@@ -10932,7 +10974,7 @@ void LivingLifePage::draw( doublePair inViewCenter, +@@ -11033,7 +11075,7 @@ void LivingLifePage::draw( doublePair inViewCenter, for( int i=0; ifoodCapacity; i++ ) { doublePair pos = { lastScreenViewCenter.x - 590, @@ -60,7 +60,7 @@ index 07736c56d..97451ecbf 100644 pos.x += i * 30; drawSprite( -@@ -11141,6 +11183,19 @@ void LivingLifePage::draw( doublePair inViewCenter, +@@ -11242,6 +11284,19 @@ void LivingLifePage::draw( doublePair inViewCenter, toggleMultiplicativeBlend( false ); } diff --git a/show-close-family b/show-close-family index 604a381..4342bbe 100644 --- a/show-close-family +++ b/show-close-family @@ -1,5 +1,5 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index 7cf481f77..1b81b4c95 100644 +index f006cc4e9..c22ed0bd7 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp @@ -161,6 +161,13 @@ static int ignoreTallObjects = 1; @@ -16,7 +16,7 @@ index 7cf481f77..1b81b4c95 100644 static int preferObjectsOverPlayersWithScreenLock = 1; static int dragDropUse = 1; -@@ -1088,9 +1095,181 @@ char *getRelationName( LiveObject *inOurObject, LiveObject *inTheirObject ) { +@@ -1187,9 +1194,181 @@ char *getRelationName( LiveObject *inOurObject, LiveObject *inTheirObject ) { @@ -198,7 +198,7 @@ index 7cf481f77..1b81b4c95 100644 // base speed for animations that aren't speeded up or slowed down -@@ -2902,6 +3081,32 @@ LivingLifePage::LivingLifePage() +@@ -3001,6 +3180,32 @@ LivingLifePage::LivingLifePage() showShiverSweat = SettingsManager::getIntSetting( "showShiverSweat", 0 ); setAnimationSweatSprite( SettingsManager::getIntSetting( "sweatDropSprite", 88 ) ); @@ -231,7 +231,7 @@ index 7cf481f77..1b81b4c95 100644 preferObjectsOverPlayersWithScreenLock = SettingsManager::getIntSetting( "preferObjectsOverPlayersWithScreenLock", 1 ); dragDropUse = SettingsManager::getIntSetting( "dragDropUse", 1 ); -@@ -3273,6 +3478,8 @@ LivingLifePage::LivingLifePage() +@@ -3372,6 +3577,8 @@ LivingLifePage::LivingLifePage() if( ! tutorialDone ) { mTutorialNumber = 1; } @@ -240,7 +240,7 @@ index 7cf481f77..1b81b4c95 100644 } -@@ -4624,6 +4831,47 @@ void LivingLifePage::drawMapCell( int inMapI, +@@ -4725,6 +4932,47 @@ void LivingLifePage::drawMapCell( int inMapI, } @@ -288,7 +288,7 @@ index 7cf481f77..1b81b4c95 100644 if( mMapContainedStacks[ inMapI ].size() > 0 ) { int *stackArray = mMapContainedStacks[ inMapI ].getElementArray(); -@@ -5204,6 +5452,16 @@ ObjectAnimPack LivingLifePage::drawLiveObject( +@@ -5305,6 +5553,16 @@ ObjectAnimPack LivingLifePage::drawLiveObject( else { setAnimationHeat( 0.5 ); } @@ -305,7 +305,7 @@ index 7cf481f77..1b81b4c95 100644 // draw young baby lying flat double rot = 0; -@@ -5496,6 +5754,17 @@ ObjectAnimPack LivingLifePage::drawLiveObject( +@@ -5597,6 +5855,17 @@ ObjectAnimPack LivingLifePage::drawLiveObject( setAnimationBadgeColor( inObj->badgeColor ); } @@ -323,7 +323,7 @@ index 7cf481f77..1b81b4c95 100644 // rideable object if( ! heldObject->hideRider ) holdingPos = -@@ -5578,6 +5847,16 @@ ObjectAnimPack LivingLifePage::drawLiveObject( +@@ -5679,6 +5948,16 @@ ObjectAnimPack LivingLifePage::drawLiveObject( setAnimationHeat( 0.5 ); } @@ -340,7 +340,7 @@ index 7cf481f77..1b81b4c95 100644 doublePair babyHeldPos = holdPos; if( babyO->babyWiggle ) { -@@ -12946,6 +13225,11 @@ void LivingLifePage::displayGlobalMessage( char *inMessage ) { +@@ -13047,6 +13326,11 @@ void LivingLifePage::displayGlobalMessage( char *inMessage ) { char *spaces = replaceAll( lines, "_", " ", &found ); delete [] lines; @@ -352,7 +352,7 @@ index 7cf481f77..1b81b4c95 100644 mGlobalMessageShowing = true; -@@ -15246,6 +15530,9 @@ void LivingLifePage::step() { +@@ -15349,6 +15633,9 @@ void LivingLifePage::step() { gravePerson->name != NULL ) ) { GraveInfo g; @@ -362,7 +362,7 @@ index 7cf481f77..1b81b4c95 100644 g.worldPos.x = posX; g.worldPos.y = posY; g.creationTime = game_getCurrentTime(); -@@ -15455,6 +15742,16 @@ void LivingLifePage::step() { +@@ -15558,6 +15845,16 @@ void LivingLifePage::step() { GraveInfo g; g.worldPos.x = posX; g.worldPos.y = posY; @@ -379,7 +379,7 @@ index 7cf481f77..1b81b4c95 100644 char *des = relationName; char *desToDelete = NULL; -@@ -17290,6 +17587,8 @@ void LivingLifePage::step() { +@@ -17393,6 +17690,8 @@ void LivingLifePage::step() { o.name = NULL; o.relationName = NULL; @@ -388,7 +388,7 @@ index 7cf481f77..1b81b4c95 100644 o.warPeaceStatus = 0; o.curseLevel = 0; -@@ -19363,6 +19662,16 @@ void LivingLifePage::step() { +@@ -19466,6 +19765,16 @@ void LivingLifePage::step() { &( o.id ), &( o.holdingID ) ); @@ -405,7 +405,7 @@ index 7cf481f77..1b81b4c95 100644 for( int i=0; iisGeneticFamily = true; famSpeech = true; @@ -414,7 +414,7 @@ index 7cf481f77..1b81b4c95 100644 // we learned their family status // but don't make them say +FAMILY+ // because they have a current speech -@@ -21059,6 +21368,14 @@ void LivingLifePage::step() { +@@ -21170,6 +21479,14 @@ void LivingLifePage::step() { */ other->relationName = getRelationName( ourObject, other ); @@ -429,7 +429,7 @@ index 7cf481f77..1b81b4c95 100644 } } } -@@ -25814,6 +26131,39 @@ bool LivingLifePage::tryInteractionKeys( char inASCII ) { +@@ -25927,6 +26244,39 @@ bool LivingLifePage::tryInteractionKeys( char inASCII ) { } @@ -469,7 +469,7 @@ index 7cf481f77..1b81b4c95 100644 void LivingLifePage::pointerDown( float inX, float inY ) { lastMouseX = inX; lastMouseY = inY; -@@ -27898,6 +28248,15 @@ void LivingLifePage::keyDown( unsigned char inASCII ) { +@@ -28011,6 +28361,15 @@ void LivingLifePage::keyDown( unsigned char inASCII ) { keyHandledByKeybind = true; } diff --git a/show-learned-tools b/show-learned-tools index bffa102..16573da 100644 --- a/show-learned-tools +++ b/show-learned-tools @@ -1,5 +1,5 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index 97451ecbf..99fc6b429 100644 +index acb4b5b7d..8d00bc808 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp @@ -174,6 +174,8 @@ static int dragDropUse = 1; @@ -11,7 +11,7 @@ index 97451ecbf..99fc6b429 100644 typedef enum interactionKeyType { IK_MOVE, -@@ -3152,6 +3154,8 @@ LivingLifePage::LivingLifePage() +@@ -3251,6 +3253,8 @@ LivingLifePage::LivingLifePage() clickToMoveLockToInteract = SettingsManager::getIntSetting( "clickToMoveLockToInteract", 0 ); @@ -20,7 +20,7 @@ index 97451ecbf..99fc6b429 100644 interactionKeysEnabled = SettingsManager::getIntSetting( "interactionKeysEnabled", 1 ); initKeybinds(); -@@ -3240,6 +3244,18 @@ LivingLifePage::LivingLifePage() +@@ -3339,6 +3343,18 @@ LivingLifePage::LivingLifePage() mYumSlipPosTargetOffset[i] = mYumSlipHideOffset[i]; } @@ -39,7 +39,7 @@ index 97451ecbf..99fc6b429 100644 for( int i=0; i<3; i++ ) { mHungerSlipShowOffsets[i].x = -558; -@@ -3966,6 +3982,77 @@ void drawHelpMarkKeys( doublePair messagePos ) { +@@ -4067,6 +4083,77 @@ void drawHelpMarkKeys( doublePair messagePos ) { } @@ -117,7 +117,7 @@ index 97451ecbf..99fc6b429 100644 SimpleVector *splitLines( const char *inString, double inMaxWidth ) { -@@ -10486,6 +10573,21 @@ void LivingLifePage::draw( doublePair inViewCenter, +@@ -10587,6 +10674,21 @@ void LivingLifePage::draw( doublePair inViewCenter, } @@ -139,7 +139,7 @@ index 97451ecbf..99fc6b429 100644 // now draw tutorial sheets if( mTutorialNumber > 0 || mGlobalMessageShowing ) -@@ -13521,6 +13623,19 @@ void LivingLifePage::displayGlobalMessage( char *inMessage ) { +@@ -13622,6 +13724,19 @@ void LivingLifePage::displayGlobalMessage( char *inMessage ) { mGlobalMessageShowing = true; @@ -159,7 +159,7 @@ index 97451ecbf..99fc6b429 100644 mGlobalMessageStartTime = game_getCurrentTime(); if( mLiveTutorialSheetIndex >= 0 ) { -@@ -13548,6 +13663,7 @@ void LivingLifePage::displayGlobalMessage( char *inMessage ) { +@@ -13649,6 +13764,7 @@ void LivingLifePage::displayGlobalMessage( char *inMessage ) { (char*)( mTutorialMessage[ mLiveTutorialSheetIndex ] ) ); mTutorialExtraOffset[ mLiveTutorialSheetIndex ].x = longestLine; @@ -167,7 +167,7 @@ index 97451ecbf..99fc6b429 100644 delete [] spaces; -@@ -14390,6 +14506,42 @@ void LivingLifePage::step() { +@@ -14491,6 +14607,42 @@ void LivingLifePage::step() { } @@ -210,7 +210,7 @@ index 97451ecbf..99fc6b429 100644 if( ( isHintFilterStringInvalid() && mCurrentHintObjectID != mNextHintObjectID ) || -@@ -14608,6 +14760,49 @@ void LivingLifePage::step() { +@@ -14709,6 +14861,49 @@ void LivingLifePage::step() { } @@ -260,7 +260,7 @@ index 97451ecbf..99fc6b429 100644 // should new tutorial sheet be shown? if( ( mTutorialNumber > 0 || mGlobalMessageShowing ) && ourObject != NULL ) { -@@ -15200,13 +15395,20 @@ void LivingLifePage::step() { +@@ -15301,13 +15496,20 @@ void LivingLifePage::step() { for( int i=1; i < tokens->size(); i++ ) { char *tok = tokens->getElementDirect( i ); @@ -282,7 +282,7 @@ index 97451ecbf..99fc6b429 100644 } } } -@@ -15259,6 +15461,7 @@ void LivingLifePage::step() { +@@ -15360,6 +15562,7 @@ void LivingLifePage::step() { if( numRead == 2 ) { usedToolSlots = numSlotsUsed; totalToolSlots = numTotalSlots; @@ -290,7 +290,7 @@ index 97451ecbf..99fc6b429 100644 } } else if( type == HOMELAND ) { -@@ -18592,6 +18795,15 @@ void LivingLifePage::step() { +@@ -18695,6 +18898,15 @@ void LivingLifePage::step() { mNextHintIndex = mHintBookmarks[ mNextHintObjectID ]; } @@ -306,7 +306,7 @@ index 97451ecbf..99fc6b429 100644 } -@@ -24113,6 +24325,15 @@ void LivingLifePage::makeActive( char inFresh ) { +@@ -24226,6 +24438,15 @@ void LivingLifePage::makeActive( char inFresh ) { } @@ -353,10 +353,10 @@ index 566dcd3d0..e7024a47f 100644 doublePair mCravingHideOffset[NUM_HINT_SHEETS]; doublePair mCravingPosOffset[NUM_HINT_SHEETS]; diff --git a/gameSource/objectBank.cpp b/gameSource/objectBank.cpp -index 46408a5eb..dbe181e0e 100644 +index 464eea4ce..936962d89 100644 --- a/gameSource/objectBank.cpp +++ b/gameSource/objectBank.cpp -@@ -5548,6 +5548,43 @@ int getMaxDiameter( ObjectRecord *inObject ) { +@@ -5550,6 +5550,43 @@ int getMaxDiameter( ObjectRecord *inObject ) { @@ -401,7 +401,7 @@ index 46408a5eb..dbe181e0e 100644 ObjectRecord *o = getObject( inObjectID ); diff --git a/gameSource/objectBank.h b/gameSource/objectBank.h -index a1e12fd40..c2324fe1a 100644 +index ce4c431f4..2d88ed888 100644 --- a/gameSource/objectBank.h +++ b/gameSource/objectBank.h @@ -831,6 +831,11 @@ char checkSpriteAncestor( ObjectRecord *inRecord, int inChildIndex, diff --git a/show-modded-client b/show-modded-client index 410b079..530a656 100644 --- a/show-modded-client +++ b/show-modded-client @@ -1,8 +1,8 @@ diff --git a/gameSource/ExistingAccountPage.cpp b/gameSource/ExistingAccountPage.cpp -index d6f331c38..66afdb04a 100644 +index 0c0f36b74..d1a2ba41f 100644 --- a/gameSource/ExistingAccountPage.cpp +++ b/gameSource/ExistingAccountPage.cpp -@@ -773,6 +773,10 @@ void ExistingAccountPage::draw( doublePair inViewCenter, +@@ -788,6 +788,10 @@ void ExistingAccountPage::draw( doublePair inViewCenter, delete [] key; delete [] s; } @@ -199,11 +199,11 @@ index 000000000..a0d2d2fa5 + }; + diff --git a/gameSource/game.cpp b/gameSource/game.cpp -index f59c8c2e1..3dca3bfb0 100644 +index ebadfb84d..868d252c2 100644 --- a/gameSource/game.cpp +++ b/gameSource/game.cpp @@ -1,5 +1,7 @@ - int versionNumber = 418; + int versionNumber = 425; int dataVersionNumber = 0; +int clientVersionNumber = versionNumber; +int expectedVersionNumber = 0; @@ -297,7 +297,7 @@ index f59c8c2e1..3dca3bfb0 100644 delete loadingPage; delete autoUpdatePage; delete autoAHAPUpdatePage; -@@ -1987,8 +2010,24 @@ void drawFrame( char inUpdate ) { +@@ -2010,8 +2033,24 @@ void drawFrame( char inUpdate ) { autoLogIn = false; } @@ -324,7 +324,7 @@ index f59c8c2e1..3dca3bfb0 100644 } } else if( currentGamePage == settingsPage ) { -@@ -2510,6 +2549,15 @@ void drawFrame( char inUpdate ) { +@@ -2554,6 +2593,15 @@ void drawFrame( char inUpdate ) { quitGame(); } } diff --git a/show-name-on-death-screen b/show-name-on-death-screen index 18efc8d..6092aef 100644 --- a/show-name-on-death-screen +++ b/show-name-on-death-screen @@ -1,8 +1,8 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index dc00fb820..07736c56d 100644 +index f17647243..3287b2331 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp -@@ -11987,6 +11987,15 @@ char *LivingLifePage::getDeathReason() { +@@ -12088,6 +12088,15 @@ char *LivingLifePage::getDeathReason() { } @@ -31,7 +31,7 @@ index 8493aa732..566dcd3d0 100644 // prevent a jitter when frameRateFactor changes due to fps lag void adjustAllFrameCounts( double inOldFrameRateFactor, diff --git a/gameSource/game.cpp b/gameSource/game.cpp -index 17e880563..c606a63ec 100644 +index d393d89b1..afdb3dc38 100644 --- a/gameSource/game.cpp +++ b/gameSource/game.cpp @@ -1403,6 +1403,8 @@ static void startConnecting() { diff --git a/show-use-count b/show-use-count index 2387118..b4f0e1f 100644 --- a/show-use-count +++ b/show-use-count @@ -1,5 +1,5 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index adb821efb..2f984c5b7 100644 +index af3c02609..f578a2853 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp @@ -168,6 +168,8 @@ static double newPlayerMessageTime = 0; @@ -11,7 +11,7 @@ index adb821efb..2f984c5b7 100644 static int preferObjectsOverPlayersWithScreenLock = 1; static int dragDropUse = 1; -@@ -3468,6 +3470,7 @@ LivingLifePage::LivingLifePage() +@@ -3567,6 +3569,7 @@ LivingLifePage::LivingLifePage() delete [] markKeyString; } @@ -19,7 +19,7 @@ index adb821efb..2f984c5b7 100644 preferObjectsOverPlayersWithScreenLock = SettingsManager::getIntSetting( "preferObjectsOverPlayersWithScreenLock", 1 ); -@@ -12445,6 +12448,38 @@ void LivingLifePage::draw( doublePair inViewCenter, +@@ -12546,6 +12549,38 @@ void LivingLifePage::draw( doublePair inViewCenter, desToDelete = des; } diff --git a/text-macros b/text-macros index c701586..109712c 100644 --- a/text-macros +++ b/text-macros @@ -1,5 +1,5 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index 8b73cb600..b3ffbaf3b 100644 +index 0ed2607f9..264127ce0 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp @@ -262,6 +262,55 @@ void initKeybinds() { @@ -58,7 +58,7 @@ index 8b73cb600..b3ffbaf3b 100644 typedef enum yumType { YT_INEDIBLE, YT_MEH, -@@ -3673,6 +3722,10 @@ LivingLifePage::LivingLifePage() +@@ -3772,6 +3821,10 @@ LivingLifePage::LivingLifePage() interactionKeysEnabled = SettingsManager::getIntSetting( "interactionKeysEnabled", 1 ); initKeybinds(); @@ -69,7 +69,7 @@ index 8b73cb600..b3ffbaf3b 100644 showYumHover = SettingsManager::getIntSetting( "showYumHover", 1 ); -@@ -30811,6 +30864,25 @@ void LivingLifePage::specialKeyDown( int inKeyCode ) { +@@ -30940,6 +30993,25 @@ void LivingLifePage::specialKeyDown( int inKeyCode ) { else if( inKeyCode == MG_KEY_F1 ) { mSayField.unfocus(); } diff --git a/time-based-hunger-dings b/time-based-hunger-dings index b5045f0..c9979ae 100644 --- a/time-based-hunger-dings +++ b/time-based-hunger-dings @@ -1,5 +1,5 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index 54c600fef..e43f729e3 100644 +index 17b05c2bc..59a33bacf 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp @@ -299,6 +299,9 @@ static char* lastNamed = NULL; @@ -12,7 +12,7 @@ index 54c600fef..e43f729e3 100644 static int screenCenterPlayerOffsetX, screenCenterPlayerOffsetY; -@@ -3679,6 +3682,8 @@ LivingLifePage::LivingLifePage() +@@ -3778,6 +3781,8 @@ LivingLifePage::LivingLifePage() showNameLabels = SettingsManager::getIntSetting( "showNameLabels", 1 ); @@ -21,7 +21,7 @@ index 54c600fef..e43f729e3 100644 initDrawUtils(); initLiveTriggers(); -@@ -24072,7 +24077,10 @@ void LivingLifePage::step() { +@@ -24183,7 +24188,10 @@ void LivingLifePage::step() { double curAge = computeCurrentAge( ourLiveObject ); @@ -33,7 +33,7 @@ index 54c600fef..e43f729e3 100644 if( curAge < 3 ) { mHungerSlipVisible = 0; // special case for babies -@@ -24157,6 +24165,9 @@ void LivingLifePage::step() { +@@ -24268,6 +24276,9 @@ void LivingLifePage::step() { &( ourLiveObject->foodDrainTime ), &( ourLiveObject->indoorBonusTime ) ); @@ -43,7 +43,7 @@ index 54c600fef..e43f729e3 100644 } } -@@ -25725,6 +25736,70 @@ static void dummyFunctionA() { +@@ -25836,6 +25847,70 @@ static void dummyFunctionA() { diff --git a/time-transition-hints b/time-transition-hints index bf5de7b..c36c915 100644 --- a/time-transition-hints +++ b/time-transition-hints @@ -1,8 +1,8 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index 620f90145..4292f4ded 100644 +index 980e1bc2a..27c6b2633 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp -@@ -12287,9 +12287,9 @@ static char getTransHintable( TransRecord *inTrans ) { +@@ -12388,9 +12388,9 @@ static char getTransHintable( TransRecord *inTrans ) { return false; } @@ -14,7 +14,7 @@ index 620f90145..4292f4ded 100644 if( isCategory( inTrans->actor ) ) { -@@ -13037,7 +13037,10 @@ int LivingLifePage::getNumHints( int inObjectID ) { +@@ -13138,7 +13138,10 @@ int LivingLifePage::getNumHints( int inObjectID ) { int depth = 0; diff --git a/tolerate-missing-graphic b/tolerate-missing-graphic index 5806905..72d04e2 100644 --- a/tolerate-missing-graphic +++ b/tolerate-missing-graphic @@ -1,8 +1,8 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index 4292f4ded..4742e4206 100644 +index 27c6b2633..7806437e4 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp -@@ -3061,7 +3061,7 @@ LivingLifePage::LivingLifePage() +@@ -3160,7 +3160,7 @@ LivingLifePage::LivingLifePage() mHomeSlipSprites[0] = mHomeSlipSprite; @@ -11,7 +11,7 @@ index 4292f4ded..4742e4206 100644 mForceGroundClick = false; -@@ -9164,6 +9164,7 @@ void LivingLifePage::draw( doublePair inViewCenter, +@@ -9265,6 +9265,7 @@ void LivingLifePage::draw( doublePair inViewCenter, char pointerDrawn[2] = { false, false }; @@ -19,7 +19,7 @@ index 4292f4ded..4742e4206 100644 for( int i=0; i<2; i++ ) { if( ! takingPhoto && mCurrentHintTargetObject[i] > 0 ) { -@@ -9240,6 +9241,7 @@ void LivingLifePage::draw( doublePair inViewCenter, +@@ -9341,6 +9342,7 @@ void LivingLifePage::draw( doublePair inViewCenter, } } diff --git a/yum-hover b/yum-hover index fed8b85..1054189 100644 --- a/yum-hover +++ b/yum-hover @@ -1,5 +1,5 @@ diff --git a/gameSource/LivingLifePage.cpp b/gameSource/LivingLifePage.cpp -index a36fbc07a..dc00fb820 100644 +index fd435f43b..f17647243 100644 --- a/gameSource/LivingLifePage.cpp +++ b/gameSource/LivingLifePage.cpp @@ -250,6 +250,40 @@ void initKeybinds() { @@ -43,7 +43,7 @@ index a36fbc07a..dc00fb820 100644 static int screenCenterPlayerOffsetX, screenCenterPlayerOffsetY; -@@ -3122,6 +3156,10 @@ LivingLifePage::LivingLifePage() +@@ -3221,6 +3255,10 @@ LivingLifePage::LivingLifePage() initKeybinds(); @@ -54,7 +54,7 @@ index a36fbc07a..dc00fb820 100644 initLiveTriggers(); initNames(); -@@ -4848,6 +4886,11 @@ void LivingLifePage::drawMapCell( int inMapI, +@@ -4949,6 +4987,11 @@ void LivingLifePage::drawMapCell( int inMapI, for( int i=startPass; i 0 static char shouldCreationSoundPlay( int inOldID, int inNewID ) { if( inOldID == inNewID ) { -@@ -21822,6 +21993,9 @@ void LivingLifePage::step() { +@@ -21933,6 +22104,9 @@ void LivingLifePage::step() { } if( mYumMultiplier != oldYumMultiplier ) { @@ -255,7 +255,7 @@ index a36fbc07a..dc00fb820 100644 int oldSlipIndex = -1; int newSlipIndex = 0; -@@ -21943,6 +22117,15 @@ void LivingLifePage::step() { +@@ -22054,6 +22228,15 @@ void LivingLifePage::step() { if( lastAteID != 0 ) { ObjectRecord *lastAteObj = getObject( lastAteID ); @@ -271,7 +271,7 @@ index a36fbc07a..dc00fb820 100644 char *strUpper = stringToUpperCase( lastAteObj->description ); -@@ -23949,6 +24132,7 @@ void LivingLifePage::makeActive( char inFresh ) { +@@ -24062,6 +24245,7 @@ void LivingLifePage::makeActive( char inFresh ) { mYumSlipNumberToShow[i] = 0; }