Oni Central Forum

A forum for the Oni community

You are not logged in.

#1 Anniversary Edition » out of memory error on launch of AE Oni » 09/08/20 10:09

Dirk Gently
Replies: 1

Hi there, I recently reinstalled Oni on my windows 10 surface tablet and found that with daodan installed i can run the vanilla version of the game just fine, my modded version will not run and presents a very basic error modal which reads "out of memory". I've exclusively played Oni on one of my macs in the past, so wasn't aware of any memory limitations. I saw another thread where it was mentioned that if the number of mods installed goes above ~30 then there may be problems, is this still the case?

#2 Re: Modifications » BSL Validator » 12/30/14 07:12

Dirk Gently

Yep, from what I can see through RE of the binary it just gets tokenized then executed. My code is parsing it and generating an IR state then performing execution/evaluation. Once I can get the execution part handled then I could probably refactor the raw->IR process a bit.

#3 Re: Modifications » BSL Validator » 12/29/14 10:12

Dirk Gently

Posting an update to this:

After some consideration of how to solve some of the issues with parsing the scripts accurately to the way Oni does I decided to rewrite this in C. It is in the same repo as before, so see the original post for the link.

I've got the evaluation part working and the code generates IR for the scripting language, I am still working on hooking that up to an execution engine to parse and evaluate the logic. If you are working with scripts for Oni then this will only be useful to evaluating if script logic is syntactically correct. Since the scripting command evaluation happens internally (within Oni's code) I don't think it is feasible to make it also try to replay logic that depends on commands defined within the game.

However, I would like to use this to explore the possibility of creating a library for running commands with it and trying to flesh out some of the lesser documented parts of the scripting engine and language behavior.

#4 Re: Anniversary Edition » Shaders Mod » 12/14/14 18:12

Dirk Gently

As mentioned, the game uses a pre-shader version of OpenGL, to add shader support you would need to redo a non-trivla portion of the graphics engine.

#6 Re: Modifications » BSL Validator » 11/19/14 16:11

Dirk Gently

nice! ok, i'll see about getting better support for python 3 then, until then it requires python 2.7.x.

#7 Re: Modifications » BSL Validator » 11/19/14 12:11

Dirk Gently

you are going to need all 3 files and either checked out from a git clone or from the zip. As far as i can tell this should run fine on a newer version of python, it does for me and a friend of mine, so I am not sure why it wouldn't work for you.

#8 Re: Modifications » BSL Validator » 11/18/14 19:11

Dirk Gently

Also how did you download the code? I double checked it and there shouldn't be any problems with running this with Python 3.x. Did you download a zip or clone the repo? Whitespace is important so if any of that breaks the code won't run.

#9 Re: Modifications » BSL Validator » 11/18/14 17:11

Dirk Gently

That is actually a really good questions because as far as I am aware this *should* work. I am using Python 2.7.5, so maybe try using a 2.7.x installer instead because there might be a difference in how the syntax works.

#10 Modifications » BSL Validator » 11/18/14 15:11

Dirk Gently
Replies: 10

Over the past few days i've been playing around with BSL and decided to write a validator tool for it. The tool is still in the works and can currently parse .bsl files, the syntax validation isn't complete yet.

bad things:
* BSL has no formal grammar, and as far as i can tell it wouldn't be possible to write a syntactical grammar for the language as it is without imposing some "standards"
* even with a formalized grammar, the language can do a lot less than it claims to be able to do, while code can be validated, it may not execute safely inside of Oni's parsing engine
* as of right now I am NOT supporting multi-line function declarations, e.g.:

// NOT SUPPORTED
func void foo(
    string n,
    int a)

// SUPPORTED
func void foo(string n, int a)


good things:
* full list of globally defined functions and variables that are initialized and validating the syntax of using them is in the works
* I am reverse engineering how Oni parses the script files, to try to recreate process as closely as possible

As mentioned i am writing this in python; it is just a script to run, nothing to compile. I have got most if not all of the parsing bugs dealt with by now, so I just have to write the rest of the validation code now. I'm only using stock scripts for testing right now, but wanted to see if there was anything i missed in the parser so i am posting about it so you can play with it.

usage:

$ python bsl.py /path/to/some/file.bsl

Note: I don't know about running python on windows, i know it is possible but I don't think it ships with windows natively? This has no specific modules or requirements so you should be able to run it on anything given python is installed.

github repo

#11 Re: Modifications » The Mod Depot is open for business » 11/02/14 10:11

Dirk Gently

You might want to re-check the server. I was going through my own web server logs this morning and found a bunch of attempts to shellshock it and install what seems to be a perl-based DDOS bot. Might be unrelated but wouldn't hurt to double check to make sure nothing is running that shouldn't be.

#12 Re: Anything but Oni » Other games .. » 10/29/14 17:10

Dirk Gently

I've been playing a lot of KOTOR recently.

#13 Re: Modifications » Flatline Alpha » 09/26/14 16:09

Dirk Gently

Progress will be posted as it is significant to report. I know it is hard to wait for something like this, but nobody works on it full-time. I can promise you posts will be made when there is news to share about it. Thanks smile

#14 Re: Anniversary Edition » Shaders Mod » 09/15/14 16:09

Dirk Gently

Unlikely given the game's age, the OpenGL engine is pre-shaders.

#15 Re: General Discussion » New engine ? » 08/14/14 09:08

Dirk Gently

Because recreating the same behavior out of another engine is non-trivial. This is something we have discussed before and I believe we ended up deciding it wasn't worth the effort to try to port everything over. While we have the game assets recreating much of the game behavior isn't going to be an easy task. Also I think many of us mod and play this game 14 years later because we like the game, not the concept. As Paradox pointed out, there are very few engines that could directly support the features without recoding a good chunk.

#16 Re: Modifications » MacOS: vsync, sparkle, bink videos. » 07/30/14 07:07

Dirk Gently

Feral is the one responsible for that, due to legal reasons they cannot allow anyone outside of their company to write code for it. Since it isn't one of their primary titles, being employed by them would only mean you are allowed to work on it in your spare time. I'm pretty sure Feral would be ok with me saying that BINK is no longer supported at all for this. That code will not run on modern systems, it would be a waste of time to try to get that working again. The videos have been fixed in a more recent build to use MOV instead as that is what Feral has a license for.

#18 Re: Anything but Oni » Christmas wish » 12/28/13 09:12

Dirk Gently

happy christmas everyone

#20 Re: Help and Troubleshooting » Oni and OS X Mavericks » 10/23/13 17:10

Dirk Gently

I downloaded a fresh copy of it off the downloads site we have and it was able to open for me. try nuking your existing and launching it, it should ask once then ask you where the AE directory is. If not, then I guess we can talk in more detail and I can help you chase this down.

#21 Re: Help and Troubleshooting » Oni and OS X Mavericks » 10/23/13 11:10

Dirk Gently

Check that under system preferences in Security and under "General" that you enable "Anywhere" or open Vago via "rightclick>open"

Vago also seems to permanently break if you open it for the first time and don't select the AE folder.

as for AETools, there might be a problem with your SNDD playback code and mavericks.

#22 Re: Modifications » bsl questions and problems » 10/22/13 11:10

Dirk Gently

I'm no expert when working with this, but could it be possible to force it to not path find? my understanding is that you want the AI to stay in one spot regardless of where a player moves. Couldn't this be done by nuking the patrol and path finding elements or forcing them to remain in one spot.

One way is to get them stuck in an area with no pathfinding grind associated with it, much harder and requires a level rebuild, but some small elements can prevent them from pathfinding out of an area that wouldn't impose problems for a player controller character. For example, in airport checkpoint 2, AI will never be able to get onto the luggage belt that is in that room you start in. Animations are rooted to the floor of the level, only way they could escape a small lip is by jumping, which AI doesn't like to do. It might be possible to create such a lip to enclose where you want them to stand without needing them in invisible walls. This also has the added benefit of making them time out instantly from trying to path find their way-out and fall back on other attack methods, being ranged attacking with weapons.

(this airport example is an inverse example, they will attempt to path find around to get to you, but if the rolls were reversed then you would be seeing them trying to just attack you when they exhaust their ability to path find.

#23 Re: General Discussion » Movies » 10/20/13 06:10

Dirk Gently

stop being a pedant.

#24 Re: Modifications » OniLevelTool » 10/20/13 06:10

Dirk Gently

I have spoken with Alloc and it looks like we will be working together to integrate this into AEI in the near future, and move forward with mod patching from there.

#25 Re: Modifications » OniLevelTool » 10/17/13 09:10

Dirk Gently

Yes, I have a little thing I use to test with, i could compile it for mac, someone else would have to compile for windows, all cross platform code so it shouldn't be a problem for someone to compile.

Board footer

Powered by FluxBB