Compare commits
13 Commits
0.0.31
...
e033fd1488
| Author | SHA1 | Date | |
|---|---|---|---|
| e033fd1488 | |||
| bde4926c5f | |||
| c69e1e7a29 | |||
| 41d47fd6bd | |||
| 3c30af0099 | |||
| 24b536857b | |||
| 682e0d660d | |||
| 5ba5cefd23 | |||
| 5496b76370 | |||
| c2348fa700 | |||
| 35c7ef0cb6 | |||
| 8f545fb137 | |||
| 061f9d23c1 |
3
.vs/ProjectSettings.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"CurrentProjectSetting": null
|
||||
}
|
||||
8
.vs/VSWorkspaceState.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"ExpandedNodes": [
|
||||
"",
|
||||
"\\game"
|
||||
],
|
||||
"SelectedNode": "\\game\\shiro_route.rpy",
|
||||
"PreviewInSolutionExplorer": false
|
||||
}
|
||||
BIN
.vs/otomai/v16/.suo
Normal file
BIN
.vs/slnx.sqlite
Normal file
12
Jenkinsfile
vendored
@@ -57,7 +57,7 @@ pipeline {
|
||||
}
|
||||
stage('Clean Old Container') {
|
||||
steps {
|
||||
catchError(buildResult: 'SUCCESS',message: 'Container doesn\'t exist on host, skipping...', stageResult: 'ABORTED') {
|
||||
catchError(buildResult: 'SUCCESS', message: 'Container doesn\'t exist on host, skipping...', stageResult: 'ABORTED') {
|
||||
sh 'docker stop otomai'
|
||||
sh 'docker rm otomai'
|
||||
}
|
||||
@@ -80,4 +80,14 @@ pipeline {
|
||||
}
|
||||
}
|
||||
}
|
||||
post {
|
||||
success {
|
||||
// Trigger the deploy-prod-job on success of the build
|
||||
build job: 'otomai-prod', wait: false
|
||||
}
|
||||
failure {
|
||||
// Optionally, you can handle failure scenarios (e.g., notify team, etc.)
|
||||
echo "Build failed, deployment not triggered."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
31
Jenkinsfile-prod
Normal file
@@ -0,0 +1,31 @@
|
||||
pipeline {
|
||||
agent {
|
||||
label 'prod' // Runs on a node labeled 'prod'
|
||||
}
|
||||
stages {
|
||||
stage('Clean Old Container') {
|
||||
steps {
|
||||
script {
|
||||
catchError(buildResult: 'SUCCESS', message: 'Container doesn\'t exist on host, skipping...', stageResult: 'ABORTED') {
|
||||
sh 'docker stop game-pod1'
|
||||
sh 'docker rm game-pod1'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Run new container in Production') {
|
||||
steps {
|
||||
script {
|
||||
// Define registry credentials and image name
|
||||
def registryCredentialsId = '7e506860-ca64-47bd-92a8-1a591dd12cba'
|
||||
def imageName = 'git.ruff.co.il/amai.ig/otomai:latest'
|
||||
|
||||
// Login to registry and run container in prod environment
|
||||
docker.withRegistry('https://git.ruff.co.il', registryCredentialsId) {
|
||||
docker.image(imageName).run('-p 22443:80 --name game-pod1')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
12
errors.txt
@@ -2,13 +2,9 @@
|
||||
errors listed below, and try again.
|
||||
|
||||
|
||||
File "game/script.rpy", line 44: choice menuitem expects a non-empty block.
|
||||
"אני גם אוהב פפסי":
|
||||
^
|
||||
|
||||
File "game/script.rpy", line 47: Line is indented, but the preceding jump statement statement does not expect a block. Please check this line's indentation. You may have forgotten a colon (:).
|
||||
"אני לא אוהב פפסי":
|
||||
^
|
||||
File "game/screens.rpy", line 1184: 'gui' is not a keyword argument or valid child of the screen statement.
|
||||
gui.ARE_YOU_SURE:
|
||||
^
|
||||
|
||||
Ren'Py Version: Ren'Py 8.3.2.24090902
|
||||
Sat Sep 28 09:59:45 2024
|
||||
Thu Jan 23 15:49:22 2025
|
||||
|
||||
135
game/.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,135 @@
|
||||
{
|
||||
"files.exclude": {
|
||||
"**/*.rpyc": true,
|
||||
"**/*.rpa": true,
|
||||
"**/*.rpymc": true,
|
||||
"**/cache/": true
|
||||
},
|
||||
"editor.tokenColorCustomizations": {
|
||||
"textMateRules": [
|
||||
{
|
||||
"scope": "renpy.meta.plain",
|
||||
"settings": {
|
||||
"fontStyle": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"scope": "renpy.meta.i",
|
||||
"settings": {
|
||||
"fontStyle": "italic"
|
||||
}
|
||||
},
|
||||
{
|
||||
"scope": "renpy.meta.b",
|
||||
"settings": {
|
||||
"fontStyle": "bold"
|
||||
}
|
||||
},
|
||||
{
|
||||
"scope": [
|
||||
"renpy.meta.u",
|
||||
"renpy.meta.a"
|
||||
],
|
||||
"settings": {
|
||||
"fontStyle": "underline"
|
||||
}
|
||||
},
|
||||
{
|
||||
"scope": "renpy.meta.s",
|
||||
"settings": {
|
||||
"fontStyle": "strikethrough"
|
||||
}
|
||||
},
|
||||
{
|
||||
"scope": "renpy.meta.i renpy.meta.b",
|
||||
"settings": {
|
||||
"fontStyle": "italic bold"
|
||||
}
|
||||
},
|
||||
{
|
||||
"scope": "renpy.meta.i renpy.meta.u",
|
||||
"settings": {
|
||||
"fontStyle": "italic underline"
|
||||
}
|
||||
},
|
||||
{
|
||||
"scope": "renpy.meta.i renpy.meta.s",
|
||||
"settings": {
|
||||
"fontStyle": "italic strikethrough"
|
||||
}
|
||||
},
|
||||
{
|
||||
"scope": "renpy.meta.b renpy.meta.u",
|
||||
"settings": {
|
||||
"fontStyle": "bold underline"
|
||||
}
|
||||
},
|
||||
{
|
||||
"scope": "renpy.meta.b renpy.meta.s",
|
||||
"settings": {
|
||||
"fontStyle": "bold strikethrough"
|
||||
}
|
||||
},
|
||||
{
|
||||
"scope": "renpy.meta.u renpy.meta.s",
|
||||
"settings": {
|
||||
"fontStyle": "underline strikethrough"
|
||||
}
|
||||
},
|
||||
{
|
||||
"scope": "renpy.meta.i renpy.meta.b renpy.meta.u",
|
||||
"settings": {
|
||||
"fontStyle": "italic bold underline"
|
||||
}
|
||||
},
|
||||
{
|
||||
"scope": "renpy.meta.i renpy.meta.b renpy.meta.s",
|
||||
"settings": {
|
||||
"fontStyle": "italic bold strikethrough"
|
||||
}
|
||||
},
|
||||
{
|
||||
"scope": "renpy.meta.i renpy.meta.u renpy.meta.s",
|
||||
"settings": {
|
||||
"fontStyle": "italic underline strikethrough"
|
||||
}
|
||||
},
|
||||
{
|
||||
"scope": "renpy.meta.b renpy.meta.u renpy.meta.s",
|
||||
"settings": {
|
||||
"fontStyle": "bold underline strikethrough"
|
||||
}
|
||||
},
|
||||
{
|
||||
"scope": "renpy.meta.i renpy.meta.b renpy.meta.u renpy.meta.s",
|
||||
"settings": {
|
||||
"fontStyle": "italic bold underline strikethrough"
|
||||
}
|
||||
},
|
||||
{
|
||||
"scope": "renpy.meta.color.text",
|
||||
"settings": {
|
||||
"foreground": "#ffffff"
|
||||
}
|
||||
},
|
||||
{
|
||||
"scope": "renpy.meta.color.#fff",
|
||||
"settings": {
|
||||
"foreground": "#fff"
|
||||
}
|
||||
},
|
||||
{
|
||||
"scope": "renpy.meta.color.#ff0000",
|
||||
"settings": {
|
||||
"foreground": "#ff0000"
|
||||
}
|
||||
},
|
||||
{
|
||||
"scope": "renpy.meta.color.#5e9cff",
|
||||
"settings": {
|
||||
"foreground": "#5e9cff"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
BIN
game/ARIAL.TTF
Normal file
BIN
game/Assistant-Bold.ttf
Normal file
BIN
game/Assistant-Light.ttf
Normal file
BIN
game/Assistant-Medium.ttf
Normal file
BIN
game/Assistant-Regular.ttf
Normal file
BIN
game/FreeMono.otf
Normal file
BIN
game/FreeSans.ttf
Normal file
BIN
game/MPLUSRounded1c-Regular.ttf
Normal file
BIN
game/Monospace.ttf
Normal file
BIN
game/NotoSans-Regular.ttf
Normal file
BIN
game/NotoSansJP-Regular.ttf
Normal file
BIN
game/Rubik-Black.ttf
Normal file
BIN
game/Rubik-Bold.ttf
Normal file
BIN
game/Rubik-ExtraBold.ttf
Normal file
1349
game/akai_route.rpy
Normal file
BIN
game/akai_route.rpyc
Normal file
1074
game/aoi_route.rpy
Normal file
BIN
game/aoi_route.rpyc
Normal file
BIN
game/audio/bgm_amaidol.mp3
Normal file
BIN
game/audio/bgm_bad_ending.mp3
Normal file
BIN
game/audio/bgm_convention.mp3
Normal file
BIN
game/audio/bgm_cosplay_contest.mp3
Normal file
BIN
game/audio/bgm_crisis.mp3
Normal file
BIN
game/audio/bgm_good_ending.mp3
Normal file
BIN
game/audio/bgm_magical.flac
Normal file
BIN
game/audio/bgm_song_bad.mp3
Normal file
BIN
game/audio/bgm_song_good.mp3
Normal file
BIN
game/audio/bgm_weird.mp3
Normal file
BIN
game/audio/sfx_awkward_clap.mp3
Normal file
BIN
game/audio/sfx_bump.mp3
Normal file
BIN
game/audio/sfx_crowd_cheer.mp3
Normal file
BIN
game/audio/sfx_crowd_murmur.mp3
Normal file
BIN
game/audio/sfx_drumroll.mp3
Normal file
BIN
game/audio/sfx_fixing.mp3
Normal file
BIN
game/audio/sfx_gasp.mp3
Normal file
BIN
game/audio/sfx_mic_drop.mp3
Normal file
BIN
game/audio/sfx_phone.mp3
Normal file
BIN
game/audio/sfx_train_arrive.wav
Normal file
BIN
game/audio/sfx_train_door_open.wav
Normal file
BIN
game/cache/bytecode-39.rpyb
vendored
BIN
game/cache/py3analysis.rpyb
vendored
BIN
game/cache/screens.rpyb
vendored
11
game/cache/shaders.txt
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
renpy.dissolve renpy.dissolve
|
||||
|
||||
renpy.solid
|
||||
|
||||
renpy.ftl
|
||||
|
||||
renpy.alpha renpy.geometry renpy.texture
|
||||
|
||||
renpy.dissolve renpy.geometry
|
||||
|
||||
renpy.matrixcolor renpy.texture
|
||||
38
game/gui.rpy
@@ -30,11 +30,11 @@ define config.check_conflicting_properties = True
|
||||
define gui.accent_color = '#990000'
|
||||
|
||||
## The color used for a text button when it is neither selected nor hovered.
|
||||
define gui.idle_color = '#707070'
|
||||
define gui.idle_color = '#ffffff'
|
||||
|
||||
## The small color is used for small text, which needs to be brighter/darker to
|
||||
## achieve the same effect.
|
||||
define gui.idle_small_color = '#606060'
|
||||
define gui.idle_small_color = '#e2e2e2'
|
||||
|
||||
## The color that is used for buttons and bars that are hovered.
|
||||
define gui.hover_color = '#990000'
|
||||
@@ -52,20 +52,20 @@ define gui.muted_color = '#c16666'
|
||||
define gui.hover_muted_color = '#d69999'
|
||||
|
||||
## The colors used for dialogue and menu choice text.
|
||||
define gui.text_color = '#404040'
|
||||
define gui.interface_text_color = '#404040'
|
||||
define gui.text_color = '#ffffff'
|
||||
define gui.interface_text_color = '#858585'
|
||||
|
||||
|
||||
## Fonts and Font Sizes ########################################################
|
||||
|
||||
## The font used for in-game text.
|
||||
define gui.text_font = "DejaVuSans.ttf"
|
||||
define gui.text_font = "Assistant-Regular.ttf"
|
||||
|
||||
## The font used for character names.
|
||||
define gui.name_text_font = "DejaVuSans.ttf"
|
||||
define gui.name_text_font = "Rubik-ExtraBold.ttf"
|
||||
|
||||
## The font used for out-of-game text.
|
||||
define gui.interface_text_font = "DejaVuSans.ttf"
|
||||
define gui.interface_text_font = "Assistant-Bold.ttf"
|
||||
|
||||
## The size of normal dialogue text.
|
||||
define gui.text_size = 33
|
||||
@@ -108,12 +108,12 @@ define gui.textbox_yalign = 1.0
|
||||
|
||||
## The placement of the speaking character's name, relative to the textbox.
|
||||
## These can be a whole number of pixels from the left or top, or 0.5 to center.
|
||||
define gui.name_xpos = 360
|
||||
define gui.name_xpos = 0.82
|
||||
define gui.name_ypos = 0
|
||||
|
||||
## The horizontal alignment of the character's name. This can be 0.0 for left-
|
||||
## aligned, 0.5 for centered, and 1.0 for right-aligned.
|
||||
define gui.name_xalign = 0.0
|
||||
define gui.name_xalign = 1.0
|
||||
|
||||
## The width, height, and borders of the box containing the character's name, or
|
||||
## None to automatically size it.
|
||||
@@ -132,7 +132,7 @@ define gui.namebox_tile = False
|
||||
## The placement of dialogue relative to the textbox. These can be a whole
|
||||
## number of pixels relative to the left or top side of the textbox, or 0.5 to
|
||||
## center.
|
||||
define gui.dialogue_xpos = 402
|
||||
define gui.dialogue_xpos = 0.75
|
||||
define gui.dialogue_ypos = 75
|
||||
|
||||
## The maximum width of dialogue text, in pixels.
|
||||
@@ -140,7 +140,7 @@ define gui.dialogue_width = 1116
|
||||
|
||||
## The horizontal alignment of the dialogue text. This can be 0.0 for left-
|
||||
## aligned, 0.5 for centered, and 1.0 for right-aligned.
|
||||
define gui.dialogue_text_xalign = 0.0
|
||||
define gui.dialogue_text_xalign = 1.0
|
||||
|
||||
|
||||
## Buttons #####################################################################
|
||||
@@ -173,7 +173,7 @@ define gui.button_text_insensitive_color = gui.insensitive_color
|
||||
|
||||
## The horizontal alignment of the button text. (0.0 is left, 0.5 is center, 1.0
|
||||
## is right).
|
||||
define gui.button_text_xalign = 0.0
|
||||
define gui.button_text_xalign = 1.0
|
||||
|
||||
|
||||
## These variables override settings for different kinds of buttons. Please see
|
||||
@@ -190,7 +190,7 @@ define gui.confirm_button_text_xalign = 0.5
|
||||
|
||||
define gui.page_button_borders = Borders(15, 6, 15, 6)
|
||||
|
||||
define gui.quick_button_borders = Borders(15, 6, 15, 0)
|
||||
define gui.quick_button_borders = Borders(15, 6, 15, 5)
|
||||
define gui.quick_button_text_size = 21
|
||||
define gui.quick_button_text_idle_color = gui.idle_small_color
|
||||
define gui.quick_button_text_selected_color = gui.accent_color
|
||||
@@ -250,7 +250,7 @@ define gui.file_slot_rows = 2
|
||||
|
||||
## The position of the left side of the navigation buttons, relative to the left
|
||||
## side of the screen.
|
||||
define gui.navigation_xpos = 60
|
||||
define gui.navigation_xpos = 200
|
||||
|
||||
## The vertical position of the skip indicator.
|
||||
define gui.skip_ypos = 15
|
||||
@@ -389,17 +389,17 @@ define gui.nvl_name_width = 225
|
||||
define gui.nvl_name_xalign = 1.0
|
||||
|
||||
## The position, width, and alignment of the dialogue text.
|
||||
define gui.nvl_text_xpos = 675
|
||||
define gui.nvl_text_ypos = 12
|
||||
define gui.nvl_text_width = 885
|
||||
define gui.nvl_text_xalign = 0.0
|
||||
define gui.nvl_text_xpos = 1400
|
||||
define gui.nvl_text_ypos = 40
|
||||
define gui.nvl_text_width = 1000
|
||||
define gui.nvl_text_xalign = 1.0
|
||||
|
||||
## The position, width, and alignment of nvl_thought text (the text said by the
|
||||
## nvl_narrator character.)
|
||||
define gui.nvl_thought_xpos = 360
|
||||
define gui.nvl_thought_ypos = 0
|
||||
define gui.nvl_thought_width = 1170
|
||||
define gui.nvl_thought_xalign = 0.0
|
||||
define gui.nvl_thought_xalign = 1.0
|
||||
|
||||
## The position of nvl menu_buttons.
|
||||
define gui.nvl_button_xpos = 675
|
||||
|
||||
BIN
game/gui.rpyc
|
Before Width: | Height: | Size: 7.1 KiB After Width: | Height: | Size: 81 KiB |
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 904 KiB |
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 1.0 MiB |
BIN
game/gui/nvl.png
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 63 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 50 KiB |
BIN
game/images/akai_base.png
Normal file
|
After Width: | Height: | Size: 77 KiB |
BIN
game/images/akai_body_gesture_excited.png
Normal file
|
After Width: | Height: | Size: 199 KiB |
BIN
game/images/akai_body_gesture_none.png
Normal file
|
After Width: | Height: | Size: 199 KiB |
BIN
game/images/akai_face_embarrassed.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
game/images/akai_face_excited.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
game/images/akai_face_eyesclosed.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
game/images/akai_face_none.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
game/images/akai_face_smile.png
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
game/images/akai_face_worry.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
game/images/aoi2024.png
Normal file
|
After Width: | Height: | Size: 668 KiB |
BIN
game/images/aoi_body_angry.png
Normal file
|
After Width: | Height: | Size: 502 KiB |
BIN
game/images/aoi_body_none.png
Normal file
|
After Width: | Height: | Size: 506 KiB |
BIN
game/images/aoi_body_smug.png
Normal file
|
After Width: | Height: | Size: 550 KiB |
BIN
game/images/aoi_face_angry.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
game/images/aoi_face_embarrased.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
game/images/aoi_face_excited.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
game/images/aoi_face_none.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
game/images/aoi_face_sad.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
game/images/aoi_face_sangry.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
game/images/aoi_face_smug.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
game/images/aoi_face_surprised.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
game/images/aoi_face_worry.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
game/images/bg_amaidol_crowd.png
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
BIN
game/images/bg_amaidol_stage.png
Normal file
|
After Width: | Height: | Size: 620 KiB |
BIN
game/images/bg_cafeteria.png
Normal file
|
After Width: | Height: | Size: 1.0 MiB |
BIN
game/images/bg_con_booth_1.png
Normal file
|
After Width: | Height: | Size: 1.4 MiB |
BIN
game/images/bg_con_booths.png
Normal file
|
After Width: | Height: | Size: 1.5 MiB |
BIN
game/images/bg_con_entrance.png
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
BIN
game/images/bg_con_info.png
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
BIN
game/images/bg_con_stairs.png
Normal file
|
After Width: | Height: | Size: 1.4 MiB |
BIN
game/images/bg_contest_crowd.png
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
BIN
game/images/bg_contest_outside.png
Normal file
|
After Width: | Height: | Size: 1.5 MiB |
BIN
game/images/bg_contest_stage.png
Normal file
|
After Width: | Height: | Size: 780 KiB |
BIN
game/images/bg_contest_stage_front.png
Normal file
|
After Width: | Height: | Size: 322 KiB |
BIN
game/images/bg_cosplay_fix.png
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
|
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 834 KiB |
BIN
game/images/bg_inside_train_2.png
Normal file
|
After Width: | Height: | Size: 1.0 MiB |
BIN
game/images/bg_lecture.png
Normal file
|
After Width: | Height: | Size: 1.0 MiB |
BIN
game/images/bg_staff_hallway.png
Normal file
|
After Width: | Height: | Size: 884 KiB |