Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics

Teatime for Cabbages

A member registered Mar 07, 2016 · View creator page →

Creator of

Recent community posts

A sweet little story. I like how the AI elements were integrated thematically; very interesting! The English translation is a bit stiff, but the meaning comes across. Thanks for sharing =)

You could always use xdelta.

More romance games need this feature omg

Cute =3

Been meaning to play Yanderella before I start this one and haven't had a chance yet, so haven't tested it extensively, but just so I don't forget to leave a comment at all: I did try running the DLsite version with the patch and it works. There's a font issue where the spaces between words are extra wide; most likely because I'm running the game in Wine on Linux, not because of the patch, but thought I'd mention it just in case someone else encounters that issue.

Cool, I'll try it out and let you know!

Will this patch work with the DLsite version?

(1 edit)

Glad it worked for the newer games, at least.

Also for anyone who might find it helpful, here's another way to extract the game files: when you run the EXE, the resources are unpacked into your Temp directory into the folder "nw8_16875". (EDIT: to clarify, "nw8_16875" is the temp folder for this specific game, but other Tyrano games follow the same pattern of nw[number]_[bunch of numbers].) Make a copy of that somewhere else and then overwrite the patched files.

You can then run the game in a web browser on various platforms, as I outline in this comment. That's how I used to run Tyranobuilder games in Linux until I learned that the easier way to get them to run properly in Wine is just to delete libGLESv2.dll for some reason.

Thanks for your translations! Always love to see short freeware VNs getting patches. I hadn't played anything by cream△ before but really enjoyed this, obviously it wasn't going to end well but the happy endings still surprised me.

Any chance you'll translate one of cream△'s BL VNs? =3

FYI, you should be able to use this guide to pack the translated files into a patch so extracting the executable isn't necessary. 

Ran into a crash towards the end of the game.

I'm sorry, but an uncaught exception occurred.
While running game code:
  File "game/rpy_engine/engine_variables_process.rpy", line 763, in script
    pause 1.25
  File "renpy/common/000statements.rpy", line 453, in execute_pause
  File "game/rpy_engine/engine_room_2.rpy", line 5, in execute
    screen sc_room_2():
  File "game/rpy_engine/engine_room_2.rpy", line 5, in execute
    screen sc_room_2():
  File "game/rpy_engine/engine_room_2.rpy", line 9, in execute
    use sc_room_frame():
  File "game/rpy_engine/engine_screens_ui.rpy", line 95, in execute
    screen sc_room_frame():
  File "game/rpy_engine/engine_screens_ui.rpy", line 95, in execute
    screen sc_room_frame():
  File "game/rpy_engine/engine_screens_ui.rpy", line 99, in execute
  File "game/rpy_engine/engine_screens_ui.rpy", line 105, in execute
  File "game/rpy_engine/engine_room_2.rpy", line 9, in execute
    use sc_room_frame():
  File "game/rpy_engine/engine_room_2.rpy", line 213, in execute
    if l_gul == 2 and s_gull != 0:
  File "game/rpy_engine/engine_room_2.rpy", line 214, in execute
Exception: Imagebutton does not have a idle image. (auto=u'button_gull_table_4_2_%s').
-- Full Traceback ------------------------------------------------------------
Full traceback:
  File "game/rpy_engine/engine_variables_process.rpy", line 763, in script
    pause 1.25
  File "/home/amy2/.config/itch/apps/four-before-midnight/FourBeforeMidnight-1.1-pc/renpy/", line 1969, in execute"execute")
  File "/home/amy2/.config/itch/apps/four-before-midnight/FourBeforeMidnight-1.1-pc/renpy/", line 1957, in call
    return, parsed, *args, **kwargs)
  File "/home/amy2/.config/itch/apps/four-before-midnight/FourBeforeMidnight-1.1-pc/renpy/", line 278, in call
    return method(parsed, *args, **kwargs)
  File "renpy/common/000statements.rpy", line 453, in execute_pause
  File "/home/amy2/.config/itch/apps/four-before-midnight/FourBeforeMidnight-1.1-pc/renpy/", line 1525, in pause
    rv = renpy.ui.interact(mouse='pause', type='pause', roll_forward=roll_forward, pause=delay)
  File "/home/amy2/.config/itch/apps/four-before-midnight/FourBeforeMidnight-1.1-pc/renpy/", line 298, in interact
    rv =, **kwargs)
  File "/home/amy2/.config/itch/apps/four-before-midnight/FourBeforeMidnight-1.1-pc/renpy/display/", line 3101, in interact
    repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, pause=pause, pause_start=pause_start, **kwargs)
  File "/home/amy2/.config/itch/apps/four-before-midnight/FourBeforeMidnight-1.1-pc/renpy/display/", line 3512, in interact_core
    root_widget.visit_all(lambda i : i.per_interact())
  File "/home/amy2/.config/itch/apps/four-before-midnight/FourBeforeMidnight-1.1-pc/renpy/display/", line 567, in visit_all
    d.visit_all(callback, seen)
  File "/home/amy2/.config/itch/apps/four-before-midnight/FourBeforeMidnight-1.1-pc/renpy/display/", line 567, in visit_all
    d.visit_all(callback, seen)
  File "/home/amy2/.config/itch/apps/four-before-midnight/FourBeforeMidnight-1.1-pc/renpy/display/", line 567, in visit_all
    d.visit_all(callback, seen)
  File "/home/amy2/.config/itch/apps/four-before-midnight/FourBeforeMidnight-1.1-pc/renpy/display/", line 432, in visit_all
  File "/home/amy2/.config/itch/apps/four-before-midnight/FourBeforeMidnight-1.1-pc/renpy/display/", line 3512, in <lambda>
    root_widget.visit_all(lambda i : i.per_interact())
  File "/home/amy2/.config/itch/apps/four-before-midnight/FourBeforeMidnight-1.1-pc/renpy/display/", line 443, in per_interact
  File "/home/amy2/.config/itch/apps/four-before-midnight/FourBeforeMidnight-1.1-pc/renpy/display/", line 631, in update
  File "game/rpy_engine/engine_room_2.rpy", line 5, in execute
    screen sc_room_2():
  File "game/rpy_engine/engine_room_2.rpy", line 5, in execute
    screen sc_room_2():
  File "game/rpy_engine/engine_room_2.rpy", line 9, in execute
    use sc_room_frame():
  File "game/rpy_engine/engine_screens_ui.rpy", line 95, in execute
    screen sc_room_frame():
  File "game/rpy_engine/engine_screens_ui.rpy", line 95, in execute
    screen sc_room_frame():
  File "game/rpy_engine/engine_screens_ui.rpy", line 99, in execute
  File "game/rpy_engine/engine_screens_ui.rpy", line 105, in execute
  File "game/rpy_engine/engine_room_2.rpy", line 9, in execute
    use sc_room_frame():
  File "game/rpy_engine/engine_room_2.rpy", line 213, in execute
    if l_gul == 2 and s_gull != 0:
  File "game/rpy_engine/engine_room_2.rpy", line 214, in execute
  File "/home/amy2/.config/itch/apps/four-before-midnight/FourBeforeMidnight-1.1-pc/renpy/", line 952, in _imagebutton
    idle = choice(idle, idle_image, "idle", required=True)
  File "/home/amy2/.config/itch/apps/four-before-midnight/FourBeforeMidnight-1.1-pc/renpy/", line 946, in choice
    raise Exception("Imagebutton does not have a %s image. (auto=%r)." % (name, auto))
Exception: Imagebutton does not have a idle image. (auto=u'button_gull_table_4_2_%s').
Four Before Midnight 1.1
Sat Mar 11 13:21:12 2023

Yes, it's without mosaics. (I bought it & checked.)

I've had the same issue (disabling local file restrictions in the developer menu wasn't sufficient, starting the browser in a terminal with the flag set was needed). Curious why that is. Thanks for the confirmation!

This is how I run games made with TyranoBuilder on Linux. It should also work on Mac but I'm not sure about how to open a browser with allow-file-access-from-files on Mac (found some tutorials but they might be out of date), so you'll have to search around.

Open the file resources/app/data/system/Config.tjs in a text editor and edit the line ;configSave=file to ;configSave=webstorage

Open a browser with the "allow-file-access-from-files" flag set. (This allows the game to properly load the local files it needs to run.) In Ubuntu, you can run google-chrome --allow-file-access-from-files in a terminal.

Open (drag & drop) resources/app/index.html in the web browser.

Hope this is helpful!

(1 edit)

Yes, thank you so much! Apparently the solution is just to resize gui/window_icon.png to 1000x1000 and now it runs fine! (credit to mttk here.) I have no idea why that's a problem on Linux and not Windows (or why there couldn't be a more descriptive error message) but there you go.

It's definitely not the second issue; I've had permissions problems before and the game just won't launch, but it's an easy fix. I'm not sure about the missing dependencies. Sorry I forgot to copy the error text before. Here's what I get running the game in a terminal:

X Error of failed request:  BadLength (poly request too large or internal Xlib length error)
  Major opcode of failed request:  18 (X_ChangeProperty)
  Serial number of failed request:  371
  Current serial number in output stream:  371

And here's the log.txt after force quitting:

Mon Jan 10 18:29:54 2022
Bootstrap to the start of init.init took 0.09s
Early init took 0.00s
Loader init took 0.02s
Loading error handling took 0.02s
Loading script took 0.35s
Loading save slot metadata. took 0.00s
Loading persistent took 0.00s
Importing _renpysteam: ImportError('No module named _renpysteam',)
Set script version to: (7, 5, 0)
Running init code took 0.08s
Loading analysis data took 0.04s
Analyze and compile ATL took 0.01s
Index archives took 0.00s
Dump and make backups. took 0.00s
Cleaning cache took 0.00s
Making clean stores took 0.00s
Initial gc. took 0.05s
DPI scale factor: 1.000000
Creating interface object took 0.00s
Cleaning stores took 0.00s
Init translation took 0.08s
Build styles took 0.01s
Load screen analysis took 0.00s
Analyze screens took 0.02s
Save screen analysis took 0.05s
Prepare screens took 0.11s
Save pyanalysis. took 0.00s
Save bytecode. took 0.00s
Running _start took 0.00s
Performance test:
Interface start took 0.43s
Initializing gl2 renderer:
primary display bounds: (0, 0, 1920, 1080)
swap interval: 1 frames
Windowed mode.

I'm having trouble starting the game on Linux; it just hangs with a black screen until it's force quit. Same issue with the demo (I should have checked before I bought it but I haven't had problems running Ren'Py games before...) Tried the Windows version on my Win7 laptop and it seems to be running with no problems. Not sure what the issue is.

Here's my system specs in case it's helpful:

OS: Ubuntu 18.04.6
LTS KERNEL: 5.4.0-92-generic
CPU: AMD Ryzen 7 1700 Eight-Core
GPU: NVIDIA GeForce RTX 2070
RAM: 16 GB

I can also mess around in the script files and test some things out if you let me know what to look for.

All the projects I checked are properly marked NSFW. Neither NSFW games nor profiles with NSFW games on them show up in search, but if you click a direct link to a NSFW game, you have to click through a warning to actually view it, so your settings are still respected even if you didn't discover the game within Profiles and collections with NSFW content don't get that click-through warning.

Also, the particular issue I had was with a collection displayed on my profile that contained a game with a NSFW thumbnail image, and I'm not sure if having collections on your profile that contain NSFW games would delist your profile from search if you haven't actually released NSFW games yourself.

(1 edit)

I recently realized that the thumbnail of a NSFW game isn't hidden or blurred for users who haven't enabled viewing NSFW content. Since you don't get an adult content warning for collections or profiles with NSFW games on them, only when clicking on the game itself, users don't have any prior warning if the thumbnails themselves are NSFW.

Are NSFW thumbnails allowed in the first place? (I found this from before an adult filter was implemented, but didn't see anything in the current rules.) If so, is it possible to implement blurring/hiding NSFW thumbnails where a user hasn't agreed to see them? Thanks.

It's unfortunate that they haven't fixed the game description or included any screenshots with text here, because it gives a very inaccurate impression of the translation quality.

Oh my gosh, so cool to see more people translating Gracias games! Looking forward to this!

Any chance you could add a Linux build? (Export in Ren'Py as PC rather than Windows.)

Any chance that you'll put the previous games in the series up on

I think something might be configured wrong with your sale. I see the standalone Windows download if I click "No thanks, just take me to the downloads," but if I claim it and then click the download link from the top of the game page, I see "Nothing is available for download yet."

For Linux users, I've made an installer to run the Windows version through Lutris; works on my system (Ubuntu 18.04) and will hopefully be helpful to others. In general I've found Tyranobuilder games run in Wine 3.0 with the ddr=gdi setting (you can change it in Winetricks).

There are no downloads; did everything upload correctly?

I looked at a bunch and didn't see the option on any of them. A few examples (screenshots):

In contrast, buying this game from its sale page (which only has 1 game) shows the gift link (screenshot):

Is it possible to buy a bundle as a gift? I don't see a check box like when you try to buy an individual game.

Just a heads up, looks like you forgot to set a price on the PC version of the game when you updated it.

Cute game! You did some really cool things with the interface in Ren'Py, which is always interesting to see. I also love how you included gendered terms & pronouns as two separate settings, which I don't think I've seen before.

Glad you enjoyed them =) I have the same issue with Gracias's newer VNs. One of these days I'll figure out how to hack Tyranobuilder, haha. But I'm a big fan of their work, such a unique style and themes, and the fact that they're short, self-contained stories makes them more accessible. I'm really grateful to the translators I've worked with, and to the developer of pylivemaker for making patching possible.

I tried to give fair warning in the description, haha. But I do wish there was an option for a happy threesome end. Hope you enjoyed it regardless!

The release status is still listed as In Development, FYI.

Something vague like "scenes that could possibly be upsetting/uncomfortable" isn't a very useful content warning. That could mean anything! If you're just trying to avoid spoilers, maybe add a text document with details to the downloads or something like that, so people don't see it by default but can check it if they're concerned. Just a thought.

Any chance of an English version? =3

If anyone needs an editor, I'd like to help out. I can do a quick proofread for spelling/grammar issues or a more in-depth edit for style and flow. My experience is primarily working with non-native English speakers on English translations.

That's really cool, thank you so much!

Yes, exactly. The ? button here

Very abrupt but amusing little game. Nora/Teacher OTP =P I'm looking forward to the revised English translation.

The sprite viewer in the extras with the expression randomizer is really neat. Did you find that code framework somewhere or write it from scratch? And would you be able to share it?