Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - JJS

#101
Engine Development / Re: AGS engine Linux port
Sat 22/09/2012 19:56:00
They are vastly different (several kilo byte) on all platforms, yes. You would assume that all 32 bit platforms at least Windows have the same size but they don't. For all I can tell saving/loading does work on all platforms and also cross-platform regardless of that. It is a mystery to me.

e: I am speaking of the refactory branch.
#102
Engine Development / Re: AGS engine Linux port
Sat 22/09/2012 07:28:31
You can start using the refactory branch. But savegames on 64 bit are not compatible between main and refactory. Bigendian code is still broken in the script interpreter.

Still the whole savegame issue is a bit of a mess. What I mean is that savegames have a different size on all platforms, which is something that I do not at all understand.

E: What I am saying is that savegame related stuff is hard to debug because even if the game loads what guarantee do I have that the WHOLE game state was restored? Everything might blow up in specific situations where a value matters that usually doesn't :/
#103
About static-linking plugins: the refactored engine can do this. Plugins still communicate over their normal interface but they are linked into the engine. This is simply done by putting them into their own namespace and binding the function calls in the plugin loading code of the engine.

This is necessary for platforms that don't support shared libraries, e.g. non-jailbroken iOS.


E: There is already an event system in place. The plugins can register a notifier for different events. All that is needed is generalizing this so that events can be fired to in-engine functions.
#104
Editor Development / Re: Transition to .net 4?
Wed 19/09/2012 12:04:35
To produce a standalone title for iOS you obviously need the iOS SDK which is only available for OSX. So if you want any kind of integration of the SDK into the AGS Editor you need a Mono port of the editor.
#105
8-bit: Trilby's Notes

AGSBlend: Blades of Passion (the only game that uses the plugin afaik)

Flashlight: Maniac Mansion Deluxe, La Croix Pan
#106
I still think this is needed to create standalone AGS games for Android: http://www.adventuregamestudio.co.uk/forums/index.php?issue=319.0

So a slight change to the engine and a somewhat larger change to the editor. You still must have the Android SDK, understand how to customize the launcher name/icon/id and a paid Google Play account (25 $) if you want to upload to the store.


E: The keyboard should work but of course playing a text based game on an onscreen keyboard would be a pain. Also the keyboard does not have all the buttons of a PC keyboard, e.g. no F1-F12, Ctrl, arrow-keys...

While we are at it there is also a bug on the Kindle Fire that prevents opening of the keyboard: http://jjs.at/tracker/view.php?id=74 I have no lead on why this happens.
#107
Basically yes. You can view a readme here: https://github.com/adventuregamestudio/ags/blob/97d128d7851293e37d6f9d2e0a307418c6bfe827/Android/README.md

You also have to enable the installation of non-market apps (apps from unknown sources) in the system settings.
#108
The "mismatched color depth" error can only be thrown from the Direct3D driver (which does not support 8 bit). Have you tried switching to the software renderer?
#109
The Kindle Fire is an Android tablet. So check here: http://www.adventuregamestudio.co.uk/forums/index.php?topic=44768.0
#110
I deleted the branch. :kiss:
#111
Well, I have no problem with deleting the branch again. The formatting changes are automatic anyway and the other change I mentioned is easy to recreate.

E: Or would it merge more easily if you applied the formatting to your branch too?

Code: bash

#!/bin/bash

astyle \
--recursive \
--exclude=Windows/include --exclude=iOS --exclude=scintilla --exclude=Manual --exclude=nativelibs --exclude=buildlibs --exclude=libsrc --exclude=libinclude \
--lineend=linux \
--preserve-date --suffix=none \
--style=allman --add-brackets \
--indent=spaces=2 --convert-tabs --indent-col1-comments --indent-preprocessor \
--align-reference=name \
--pad-oper --pad-header --align-pointer=name --unpad-paren \
--formatted \
*.cpp *.h *.c *.java
#112
I created the master branch based on the current refactory branch. But is also has automatically formatted code and I removed the print_welcome_text() copy protection.

Also in my personal branch here: https://github.com/jjsat/ags/tree/master I added classes for mutex and threads. They are implemented by having a central header that includes the platform specific implementations. Those implementations are descendants of a common base class and are made available to the engine with a typedef. I looked a bit into how to implement this in an efficient way and this seems to be a common approach. Comments are very welcome.
#113
Site & Forum Reports / Re: Forum upgrade
Tue 04/09/2012 18:48:54
Something is going wrong with user titles, but it doesn't happen in all threads. Look here: http://www.adventuregamestudio.co.uk/forums/index.php?topic=46040.msg628828#msg628828 for an example. There are additional titles compared to this post that don't belong there.
#114
Engine Development / Re: AGS engine iOS port
Tue 04/09/2012 18:43:42
The modified engine for iOS (and the other ports) cannot usually load savegames from other AGS versions. If you want a Windows engine that is compatible with the iOS savegames, use one from the daily builds: http://jjs.at/daily/. It works like on the ports, just put it into the game folder with Resonance.exe renamed to ac2game.dat. This still doesn't allow you to play the old savegames but you can at least share the new saves between the iPad and the PC.
#115
The keyboard does not automatically open. You always have to longpress the MENU hardware button.
#116
For an instant fix you can turn off multithreading in the sound preferences. This will cause sound stuttering e.g. when changing rooms though.
#117
Engine Development / Re: AGS engine PSP port
Mon 27/08/2012 11:49:21
Please try this daily build: http://jjs.at/daily/AGS_for_PSP_2012-08-27_12-41-46.zip

It should fix the save related problem. But that specific bug in MMD should still exist, I haven't implemented any fix for that.


Also thanks for trying Resonance. It's nice to hear that it runs because that proves the effectiveness of the changes. A shame that it is so slow though. The PSP is always clocked at 333 Mhz in AGS, so that it doesn't make a difference is expected.
#118
The multithreaded sound system is not perfectly stable yet. This especially applies to multiprocessor systems. So this is certainly something that has to be fixed.
#119
The more you know... although I have an excuse for not knowing: On German keyboards the normal quake key (next to 1) is "^". Because this is a composite key so that you can do stuff like â and î it is not recognized by AGS at all. And to enter "`" you have to press SHIFT+"´". So I suppose this feature is broken on German keyboard layouts.

Still, for true encapsulation of the whole debug output method an event system is necessary.
#120
I am checking out the debug system right now. What I can tell is that there is an exception in the destructor of OUTPUT_TARGET. It is caused by previously deleting the delegate_objects but not setting their pointer to NULL. I would propose changing the SAFE_DELETE macro to

Code: c++

#define SAFE_DELETE(p)          if (p) { delete p; p = NULL; }
#define SAFE_DELETE_ARR(p)      if (p) { delete [] p; p = NULL; }


which fixes the problem and gets rid of dangling pointers.

(I guess you have that already fixed in a private version, but o well...)


Edit: I wanted to try out writing a new debug output class that prints to the screen quake console style. But I realised that this is not possible without either hacking into the engine or inventing some sort of event callback system. But wait! There is already one present for the Plugins. If it was generalized a bit it could be used for in-engine purposes like that...
SMF spam blocked by CleanTalk