Prepare LCDPet 1.1 update
This commit is contained in:
@@ -15,8 +15,8 @@ android {
|
||||
applicationId = "today.notfeelingit.lcdpet"
|
||||
minSdk = 26
|
||||
targetSdk = 36
|
||||
versionCode = 1
|
||||
versionName = "1.0"
|
||||
versionCode = 2
|
||||
versionName = "1.1"
|
||||
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
||||
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
||||
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
|
||||
@@ -1,4 +1,17 @@
|
||||
LCDPet Audio Credits
|
||||
LCDPet Credits / Licenses
|
||||
|
||||
LCDPet Software License
|
||||
|
||||
LCDPet is free software licensed under the GNU General Public License v3.0.
|
||||
|
||||
You may run, study, share, and modify LCDPet under the terms of that license.
|
||||
|
||||
Source code:
|
||||
https://codeberg.org/KrisKS/LCDPet
|
||||
|
||||
The complete license text is included in the source repository's LICENSE file.
|
||||
|
||||
AUDIO CREDITS
|
||||
|
||||
Weather Channel music:
|
||||
“Calm Piano Jazz Loop” by ispeakwaves
|
||||
|
||||
@@ -0,0 +1,223 @@
|
||||
LCDPET HOW TO
|
||||
|
||||
THE GOAL
|
||||
|
||||
LCDPet is a virtual pet that changes over time while you care for it.
|
||||
|
||||
Your goal is to build the strongest bond possible while keeping your pet healthy, happy, rested, clean, and cared for.
|
||||
|
||||
Pay attention to your pet's needs, respond at the right time, and avoid relying on the same action again and again.
|
||||
|
||||
Regular care matters. Your relationship with the pet grows through the choices you make over time.
|
||||
|
||||
CARING FOR YOUR PET
|
||||
|
||||
Watch the status bars and messages to see how your pet is doing.
|
||||
|
||||
When your pet needs something, choose the action that fits the situation.
|
||||
|
||||
Good care improves the Care record and helps Bond grow.
|
||||
|
||||
Missed needs, indoor accidents, overfeeding, sickness, and other harmful situations can increase Neglect and leave your pet in worse condition.
|
||||
|
||||
INSIDE AND OUTSIDE
|
||||
|
||||
Tap the Inside / Outside line near the top of the screen to change locations.
|
||||
|
||||
Inside is where most care and social actions happen.
|
||||
|
||||
Outside is where your pet can walk and safely use the bathroom.
|
||||
|
||||
Some situations are safe outside but can cause trouble indoors, so location matters.
|
||||
|
||||
CARE
|
||||
|
||||
BATHE
|
||||
|
||||
Bathing reduces Dirtiness and removes stains left by indoor accidents.
|
||||
|
||||
A pet with a stronger Bond accepts bathing more easily and may become fully clean.
|
||||
|
||||
Bathing also helps with recovery when extreme Dirtiness caused sickness.
|
||||
|
||||
FEED
|
||||
|
||||
Feeding lowers the Hunger value.
|
||||
|
||||
A high Hunger value means your pet needs food.
|
||||
|
||||
A very low Hunger value means your pet is already full.
|
||||
|
||||
Feeding an already full pet too many times can cause sickness from overfeeding, so pay attention to Hunger before feeding.
|
||||
|
||||
NAP
|
||||
|
||||
Napping restores Energy and helps your pet recover.
|
||||
|
||||
If Energy reaches zero, your pet may eventually fall asleep on its own.
|
||||
|
||||
Choosing an indoor nap is safer and calmer than letting your pet collapse from exhaustion.
|
||||
|
||||
SOCIALIZE
|
||||
|
||||
PET
|
||||
|
||||
Petting improves Happiness and can help Bond grow.
|
||||
|
||||
PLAY
|
||||
|
||||
Playing improves Happiness.
|
||||
|
||||
It can also use Energy and increase Hunger, so check the status bars afterward.
|
||||
|
||||
Using Play repeatedly can eventually increase Boredom instead of helping.
|
||||
|
||||
TALK
|
||||
|
||||
Press and hold TALK while speaking or making sounds.
|
||||
|
||||
The microphone reacts only to how loud the sound is.
|
||||
|
||||
LCDPet does not recognize words, create transcripts, save recordings, or upload audio.
|
||||
|
||||
Release TALK to finish.
|
||||
|
||||
OUTSIDE
|
||||
|
||||
WALK
|
||||
|
||||
Walking restores Health.
|
||||
|
||||
It also uses Energy and can increase Hunger and Dirtiness.
|
||||
|
||||
A pet that is exhausted, Weak, or Sick may not be able to walk.
|
||||
|
||||
POTTY
|
||||
|
||||
The Potty value increases over time and after meals.
|
||||
|
||||
Use Potty while outside to safely reset it.
|
||||
|
||||
If the value reaches its limit indoors, your pet can have an accident.
|
||||
|
||||
An indoor accident leaves a stain, increases Dirtiness, and adds Neglect.
|
||||
|
||||
Take your pet outside before the Potty value reaches its limit.
|
||||
|
||||
WANTS
|
||||
|
||||
Your pet may occasionally ask for something specific.
|
||||
|
||||
A Want can ask for Play, Pet, Talk, a Snack, a Bath, or a trip Outside.
|
||||
|
||||
Completing the request before it disappears gives extra Bond.
|
||||
|
||||
An ignored Want eventually expires, but it does not immediately harm your pet.
|
||||
|
||||
A Snack is a small treat and does not affect Hunger like a full meal.
|
||||
|
||||
BOND
|
||||
|
||||
Bond shows the strength of your relationship with your pet.
|
||||
|
||||
It grows through steady care, meeting Wants, and responding to needs.
|
||||
|
||||
Some Wants give more Bond than ordinary actions.
|
||||
|
||||
Using one action too many times can slow or reverse your progress.
|
||||
|
||||
The strongest Bond comes from understanding your pet and giving it balanced care.
|
||||
|
||||
STATUS BARS
|
||||
|
||||
HAPPINESS
|
||||
|
||||
Shows your pet's current mood.
|
||||
|
||||
ENERGY
|
||||
|
||||
Used by active actions such as Play and Walk.
|
||||
|
||||
Low Energy means your pet needs rest.
|
||||
|
||||
HUNGER
|
||||
|
||||
A high value means your pet needs food.
|
||||
|
||||
A low value means your pet is full.
|
||||
|
||||
DIRTINESS
|
||||
|
||||
Can increase through walking, outdoor time, rain, and accidents.
|
||||
|
||||
High Dirtiness creates a need for a bath and can eventually cause sickness.
|
||||
|
||||
POTTY
|
||||
|
||||
Increases over time and after meals.
|
||||
|
||||
Use Potty outdoors before an indoor accident happens.
|
||||
|
||||
BOREDOM
|
||||
|
||||
Can increase when the same action is used too many times.
|
||||
|
||||
Change activities and pay attention to what your pet needs.
|
||||
|
||||
HEALTH, SICKNESS, AND RECOVERY
|
||||
|
||||
Ignoring serious needs can make your pet Sick or Weak.
|
||||
|
||||
Possible causes include starvation, overfeeding, and extreme Dirtiness.
|
||||
|
||||
Messages near the pet tell you what is wrong.
|
||||
|
||||
Correct the cause before expecting the pet to recover.
|
||||
|
||||
Feed a starving pet.
|
||||
|
||||
Do not continue feeding an overfed pet.
|
||||
|
||||
Bathe a pet that became sick from Dirtiness.
|
||||
|
||||
Keep a Weak or recovering pet indoors.
|
||||
|
||||
Recovery takes time and may also require rest, food, and safe indoor conditions.
|
||||
|
||||
PET RECORD
|
||||
|
||||
The Pet Record shows:
|
||||
|
||||
Bond
|
||||
The strength of your relationship.
|
||||
|
||||
Age
|
||||
How long you have cared for your pet.
|
||||
|
||||
Care
|
||||
The positive care you have provided.
|
||||
|
||||
Neglect
|
||||
Missed needs and harmful situations.
|
||||
|
||||
Age means time together. It is not a countdown to death.
|
||||
|
||||
CARE JOURNAL
|
||||
|
||||
The Care Journal records important events in your pet's life.
|
||||
|
||||
It can show completed needs, missed needs, Wants, and other major care moments.
|
||||
|
||||
Read it to see how your pet has been treated over time.
|
||||
|
||||
CREDITS AND LICENSES
|
||||
|
||||
Tap Credits / Licenses near the top of the screen to view acknowledgements, sound credits, and license information.
|
||||
|
||||
HOW TO AND CREDITS CONTROLS
|
||||
|
||||
CLOSE returns to your pet.
|
||||
|
||||
MOVE places the MOVE and CLOSE buttons in another corner.
|
||||
|
||||
When you move the buttons in How To, they also move in Credits / Licenses, and vice versa.
|
||||
File diff suppressed because it is too large
Load Diff
@@ -33,6 +33,7 @@ data class LCDPetRecordSave(
|
||||
val isTradingInPet: Boolean = false,
|
||||
val isFindingNewPet: Boolean = false,
|
||||
val tradeInProgress: Int = 0,
|
||||
val tradeInStartedAtMs: Long = 0L,
|
||||
val currentWant: String = "",
|
||||
val petName: String = "",
|
||||
val petTemplateId: String = "classic",
|
||||
@@ -65,6 +66,7 @@ private object LCDPetSaveKeys {
|
||||
val IS_TRADING_IN_PET = booleanPreferencesKey("is_trading_in_pet")
|
||||
val IS_FINDING_NEW_PET = booleanPreferencesKey("is_finding_new_pet")
|
||||
val TRADE_IN_PROGRESS = intPreferencesKey("trade_in_progress")
|
||||
val TRADE_IN_STARTED_AT_MS = longPreferencesKey("trade_in_started_at_ms")
|
||||
val CURRENT_WANT = stringPreferencesKey("current_want")
|
||||
val PET_NAME = stringPreferencesKey("pet_name")
|
||||
val PET_TEMPLATE_ID = stringPreferencesKey("pet_template_id")
|
||||
@@ -99,6 +101,7 @@ val Context.lcdPetRecordSaveFlow: Flow<LCDPetRecordSave>
|
||||
isTradingInPet = preferences[LCDPetSaveKeys.IS_TRADING_IN_PET] ?: false,
|
||||
isFindingNewPet = preferences[LCDPetSaveKeys.IS_FINDING_NEW_PET] ?: false,
|
||||
tradeInProgress = preferences[LCDPetSaveKeys.TRADE_IN_PROGRESS] ?: 0,
|
||||
tradeInStartedAtMs = preferences[LCDPetSaveKeys.TRADE_IN_STARTED_AT_MS] ?: 0L,
|
||||
currentWant = preferences[LCDPetSaveKeys.CURRENT_WANT] ?: "",
|
||||
petName = preferences[LCDPetSaveKeys.PET_NAME] ?: "",
|
||||
petTemplateId = preferences[LCDPetSaveKeys.PET_TEMPLATE_ID] ?: "classic",
|
||||
@@ -132,6 +135,7 @@ suspend fun Context.saveLCDPetStats(
|
||||
isTradingInPet: Boolean,
|
||||
isFindingNewPet: Boolean,
|
||||
tradeInProgress: Int,
|
||||
tradeInStartedAtMs: Long = 0L,
|
||||
currentWant: String,
|
||||
petName: String,
|
||||
petTemplateId: String = "classic",
|
||||
@@ -162,6 +166,7 @@ suspend fun Context.saveLCDPetStats(
|
||||
preferences[LCDPetSaveKeys.IS_TRADING_IN_PET] = isTradingInPet
|
||||
preferences[LCDPetSaveKeys.IS_FINDING_NEW_PET] = isFindingNewPet
|
||||
preferences[LCDPetSaveKeys.TRADE_IN_PROGRESS] = tradeInProgress
|
||||
preferences[LCDPetSaveKeys.TRADE_IN_STARTED_AT_MS] = tradeInStartedAtMs
|
||||
preferences[LCDPetSaveKeys.CURRENT_WANT] = currentWant
|
||||
preferences[LCDPetSaveKeys.PET_NAME] = petName
|
||||
preferences[LCDPetSaveKeys.PET_TEMPLATE_ID] = petTemplateId
|
||||
|
||||
@@ -1,21 +1,8 @@
|
||||
package today.notfeelingit.lcdpet.ui.theme
|
||||
|
||||
import android.app.Activity
|
||||
import android.os.Build
|
||||
import androidx.compose.foundation.isSystemInDarkTheme
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.darkColorScheme
|
||||
import androidx.compose.material3.dynamicDarkColorScheme
|
||||
import androidx.compose.material3.dynamicLightColorScheme
|
||||
import androidx.compose.material3.lightColorScheme
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
|
||||
private val DarkColorScheme = darkColorScheme(
|
||||
primary = Purple80,
|
||||
secondary = PurpleGrey80,
|
||||
tertiary = Pink80
|
||||
)
|
||||
|
||||
private val LightColorScheme = lightColorScheme(
|
||||
primary = Purple40,
|
||||
@@ -35,23 +22,10 @@ private val LightColorScheme = lightColorScheme(
|
||||
|
||||
@Composable
|
||||
fun LCDPetTheme(
|
||||
darkTheme: Boolean = isSystemInDarkTheme(),
|
||||
// Dynamic color is available on Android 12+
|
||||
dynamicColor: Boolean = true,
|
||||
content: @Composable () -> Unit
|
||||
) {
|
||||
val colorScheme = when {
|
||||
dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> {
|
||||
val context = LocalContext.current
|
||||
if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context)
|
||||
}
|
||||
|
||||
darkTheme -> DarkColorScheme
|
||||
else -> LightColorScheme
|
||||
}
|
||||
|
||||
MaterialTheme(
|
||||
colorScheme = colorScheme,
|
||||
colorScheme = LightColorScheme,
|
||||
typography = Typography,
|
||||
content = content
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user