Sunday, April 27, 2014

Patch 0.97a.p6

- Fix for potential freezing (deadlock) in the game engine.
- Fix for the fraternal twins pregnancy - at the time of the twin created by splitting ova twin not have correct gestation time set - this caused premature labour. Founded and fixed with the bug reports from Kotona14. Thank you very much for this help.
- Uterus implant filling menu fix in the script.

http://www.mediafire.com/download/nkgam40sjbh26di/patch_0_97a_p6.zip

Saturday, April 26, 2014

Patch 0.97.p5

- Fix for the appearance description in the "helping with implant" interaction scene.

http://www.mediafire.com/download/ljpaw497z5bgell/patch_0_97_p5.zip

Friday, April 25, 2014

Patch 0.97.p4

- Fix for of the script for the interactions between workers (caused corrupted appearance output for selected partner).

http://www.mediafire.com/download/jjdhs6eurbpfdaw/patch_0_97_p4.zip

Thursday, April 24, 2014

Patch 0.97.p3

Fixes in various scripts. New version of MVEL seems also not like "(int)" construction used for the converting double to integer values. So all "(int)" in the scripts changed to the "(Integer)". From using primitive type "int" to the class type "Integer". This should prevent errors like "Error: argument type mismatch" in the last report.

http://www.mediafire.com/download/xzpzf03s53uhu64/patch_0_97_p3.zip

Wednesday, April 23, 2014

Patch 0.97.p2

 - Fix for the scripts errors in the fetish cafe related to futa milking.

http://www.mediafire.com/download/bnkg0d5ajfbazz3/patch_0_97_p2.zip

Patch 0.97.p1

 First patch already. Thanks to the Anonymous in the comments:

- Fixed error in script with used if proxy give birth offscreen. (With player not overseeing it).
- Fixed script error in tentacle beast impregnation scene.

http://www.mediafire.com/download/wrxb91anddewf3e/patch_0_97_p1.zip

Tuesday, April 22, 2014

Release 0.97



Version 0.97 is ready. What new:

In game engine:
- Changed version of MVEL2 library and managed to get it working on the Java 8 JRE. But this is done by switching off some optimization so on Java 6 or 7 it probably will work faster then on Java 8 (java version will be detected by game engine and selected suitable mode for MVEL lib automatically.)

- Basic version control for patching (save loaded form the previous versions can be detected much more easy now)

- Reports about error in script processing is more detailed now, and they also written in the file "session_errors.log". This file is cleared automatically at the game start, so if you need this error report - copy this file elsewhere before you restart game. File is plain text, can be opened with notepad.

- Support for the List and Map native java collections. To use them in the script you need to create objects of this type first. Use construction like this:
mylist =  NewList();
mymap = NewMap();
After it you can work with created object by the native java methods. Documentation:

Take note, in the MVEL2 you not need strict type following, but all variables still have type. So, for example, if you get from list or map object of Creature type (game characters) but try to use it as something other there can be errors in the executing scripts.  

- Global universal storage for objects. Technically it's Map-like object saved in the game save with other data. Access to it can be done through this functions in any scripts:
Object AddObject(String key, Object obj) - added object obj with key, if matching key already exists - replacing object and returns previous object with this key. If matching key not present returns null.
boolean IsObjectExists(String key) - return true if matching key present in storage.
Object GetObject(String key) - returns object with matching key or null if key not present.
Object RemoveObject(String key) - removing object with matched key, return removed object or null if key not found.
As you see - it's quite like normal native Map, but with restriction - keys for it can be only Strings. But you are free to store in the storage you own normal Map's created by NewMap(); functions - they not have this limitation. Storage will be saved and loaded (in the game saves) normally with all hierarchy of nested objects.

- Scripted effects that loaded from a file by the .loadEffect("effect_name") method will be updating  scripts automatically after loading a saved game now (if scripts in these effects files is changed). Values of these effects will be not affected - only scripts.


In game content:

- Adaptation for the new version of the MVEL2 lib. If some custom content show errors now, it will mainly about this issue:
<% ctv=proxy; Include("cview/full_description");%> - construction like these, with using Include right after setting variables to use in them is illegal now. You need to split this script in two:
<% ctv=proxy; "";%><%Include("cview/full_description");%> - "" in first part here used to suppress unwanted output ("last variable/value shown" rule).

- Some minor fixes and additions.


Saved games should be fully compatible.

pass: fmaster

Sunday, April 20, 2014

Current status

Well, Java 8 issue is seems to be solved, and updated version of MVEL library is integrated. But with last reports about strange bugs in the comments - it's another thing. I just can't replicate them. And current level of information in the errors messages is not enough to do a something more than a guess.

So, this need to be fixed. Next version will be release 0.97. It's mainly a game engine upgrade and many fixes in the scripts to fix incompatibility with new MVEL behavior. This version will show more detailed information on the errors in the scripts, and even more - it will also write them into text log file that can be posted somewhere with minor efforts. So, giving me good feedback will be much more easy. :)

You will be do NOT need to start a new game, saves will be compatible.

Also new version will have new engine feature: global universal storage for the objects of any type and support for native Java ArrayList and HashMap classes. They can be used free in the scripts, and saved in the universal storage as other objects. This give as almost limitless ability to manipulate with game content now. For example, we can create a custom array and store all characters that can be at specific location in it. We can store group of characters for some usage later. We can store even temporary characters (that's is not exists in game world permanently) directly in the storage an have access to them as needed, not only through one event and it's possible included templates. All objects (and nested objects hierarchy) stored in the universal storage will be saved and loaded with game world automaticaly.

This functional will need form scripter more understanding of object style programming than older more simple functions, but it fully optional. This functional will not replace old scripting methods, just add new features to use.

Thursday, April 17, 2014

Maybe it's not so bad...

.. as I thought. It's seems that Java 8 can be compatible with newer MVEL version if some optimization specific functions is disabled. But this newer version have some specific behavior itself. If in the game exist script with code like this:
<%
someVar = "value";
Include("some_template_with_using_someVar_inside");
%>
it will cause error. To avoid it scripts should be changed by splitting single script to the two independed ("Include" is used inside another <%%> tag, ""; at the end of first cript used to suppress output from it):

<% someVar = "value"; ""; %>
<%Include("some_template_with_using_someVar_inside"); %>
This will work normally.

So: I will be upgrading MVEL to this new version, and do a check through all scripts in the game. After it's done there will be 0.97 release.

Also it will have new functional - from scripts will be possible to check: who is mother or father of the specific character. His genetic will have four special genes with names and UUID's of the parents. But if character is generated from the template these genes will be empty.

Friday, April 11, 2014

Critical problem found!

I found out, that game is INCOMPATIBLE with Java 8. And I can't do anything about it. Source of the problem in the MVEL2 library. Game used it to processing scripts, and it's not working under Java 8 JRE.

What to do? Possible variants:

1. Using Java 7 (or even Java 6) as system JRE - they work fine.
2. If you must have Java 8 as a system JRE, there is possibility to place "portable" Java 7 version in the folder of the game and use it only for the game. How to do so:

- Download file jre-7u51-windows-i586.tar.gz from here:
http://www.oracle.com/technetwork/java/javase/downloads/jre7-downloads-1880261.html
- Extract it (free 7-Zip from http://www.7-zip.org/ can do it).
- Rename folder "jre1.7.0_51" to the "java".
- Move it into the FetishMaster folder.
- Start game with startup.exe launcher for normal game or startup_dev.exe for the developer mode.

In the console window of developer mode you should see that java version is 1.7.0 and java path is inside fetishmaster folder.

Also you can download older standalone version 0.70 of the game and just copy "java" subfolder form it.

Monday, April 7, 2014

Patch 0.96.p1

First patch already.

- Fix for the human futanari having male type of breasts genetic. (Flat chests.) Now they grow normal breasts.
- Lowered human women's breasts size in the agency template for women. Now, most common breasts sizes should be in the B to D cups range, and not C+ as it's been.

http://www.mediafire.com/download/8fc3eniyk671s89/patch_0_96_p1.zip
pass: fmaster

Sunday, April 6, 2014

Release ver. 0.96!



Now, version 0.96 is ready. Testing get more time than usual, as I done fll playtest from the generic start to the end of the new content without cheating with debug tools. I done this to test how game balance now feels to the player, and I even corrected some aspects. Also many bugs fixed, as always. :)


What new.

In game engine:
- Long awaited official character.loadOrgan("organ_name"); method, for adding new organs from the templates to the already existing characters (Genes needed for new organ still needed to be set manually or default zero values will be used).
- Tweaks in the background tasks manager. A little more quick processing.
- Added special templates system/on_game_load and system/on_game_save. They can be used for patching or checking something.
- calculator class - fix for the calc.BMI - it now know about pregnancy and milk in the breasts and they not cause wrong responses. Also added calc.WHR(character) function - it's show waist to hips ratio.
- In the dev tab, if you print all global flags, you also will see text flags, not numeric ones only.
- In the dev tab you can remove character from the world, or switch his/her state: worker or not. Use these buttons carefully - it can cause all sort of weird behavior if used carelessly.
- Added Notepad tab - it can be freely used anytime to write notes about something (like sticky notes on you monitor :)) Text from notepad saved in the game save file.

In game content:

- New race - Kau Tangata. And their village to find. Sorry about lacks of content inside the village - it will be expanded slightly later, I have some plans for them. This race have some cow-like features and not available through agency. (Method to get workers of this race will be added in the patches soon) Right now in game exists method to transform one proxy from human to kau.
- New storyline - expansion of  Belanika story. Now you can find out what happened to her exactly. Replies from interactive will be answered through talking with her, based on the relations and lewdness of the proxy. (Relation independent for every proxy - Belanika do not know about player, and seen them as independent persons.)
- Three new characters. They are for the new storyline but will have more interactions options in the future (already planned). 
- Males can work at Fetish Restaurant now, but it's just generic waiter work, for the early game alternative income source (if starting proxy too weak to fight at all).


VERY IMPORTANT: You are need to do a clean install and start a new game. This time old saves will be incompatible (and definitely not working right even if managed to load at all). I'm sorry about it.

pass: fmaster