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

#181
Quote from: Crimson Wizard on Wed 20/06/2012 09:46:17Before anything else I want to state following:
1. Everything that was in the 3.2.2 dev branch of the SVN was merged. It was all editor changes and I am not aware of official engine changes.
2. I don't think merging is hard since large code changes are mostly in the platform specific code which is untouched by the refactoring. The engine changes are usually very small.
3. If by merging you mean that the main branch switches to the refactored code: Not sure if this is beneficial at this stage. But I will also test the changes on the other platforms.
What we could do is creating a refactoring branch directly in https://github.com/adventuregamestudio if that helps.


Organizational:
Github has a bug tracker. It would be the best choice imho since it is closest to the source code.


Code-wise:
1. YES. The various platform defines really make the code error prone. For example I was hunting some drawing error that stemmed from an innocent #ifdef MAC_VERSION hidden somewhere. I think #ifdefs should be rewritten so that they focus on a specific task/property instead of a platform. E.g. having a define for RGB vs. BGR color order.
Existing platform specific methods should also be used, e.g. for delaying the execution there is a method in the platform class but still Sleep() is used in various places and has to be separately redefined for non-Windows platforms.
#182
Engine Development / Re: Portability questions
Wed 20/06/2012 08:09:36
If you use standard BSD socket functions the code is as platform independent as it gets, no special library required.

Plugin sources can be found here: https://github.com/adventuregamestudio/ags/tree/e40b4095604b0e06f6c5004ff87a8541976ad864/Plugins
The AGSBlend plugin is fully available on the engine and editor side while the other two are engine-only at the moment.
#183
Is there a planned release date for 3.2.2? Or is there some sort of "to do" list for it so that other people could help getting it finished?

Quote from: monkey_05_06 on Wed 20/06/2012 04:25:43JJS' code has undergone a fair amount of peer review (at least in terms of the compiled engine), but as he is developing it as a separate fork, it wouldn't make much sense to just commit every change he makes into the development branch.
Fact is that nothing from my fork has made it into the official repo and nobody with access to it has ever contacted me about merging code. Just wanted to clarify on this.
#184
The download is live on GOG now! I could still sneak in a last-minute preorder this morning :-D
#185
Engine Development / Re: Portability questions
Mon 18/06/2012 14:39:04
About the use of the STL:

I see no problem in using standard library classes like std::vector instead of doing malloc/realloc for dynamic arrays. At the top of my head I could also not think of a platform that has g++ but no usable libstdc++ (Android had a poor STL support at first but now it is fully featured).

As for boost the situation might be different since it surely make use of more advanced features. I don't think it is usable on PSP for example (not that big of a deal but still).
#186
It is strange that (12 || 27) even compiles because I have a hard time figuring out what it could mean to the compiler.

In C (12 | 27) would be a bitwise OR which makes sense, but (12 || 27) would be a boolean OR. I guess the compiler sees both values as TRUE (i.e. not 0) and generates a TRUE by OR-ing the two TRUE values together. Then it casts the boolean to an int (1) for the comparison with the View. I suppose the if-branch always runs unless View is 1.
#187
Engine Development / Re: Portability questions
Mon 18/06/2012 09:42:39
About the plugins:

They can be loaded from disk on all platforms. There is code that deals with loading dynamic plugin libraries for Linux (+Android), OSX (+jailbroken iOS), Windows of course and PSP. The only tested code is for Windows, Android and PSP though because I haven't gotten around to write Makefiles for the plugins on the other systems. In theory the plugin system is fully platform independent though so there is really nothing to fix there.

The reason why I implemented the builtin plugin support is that iOS application that are in the market are not allowed to load dynamic libraries but everything has to be compiled into one binary. So without builtin plugins, no plugins could be used on iOS.

Edit: Of course plugins have to be recompiled for each platform. What I would really like to see are more open source plugins that could be put into the AGS repository so that they are available everywhere. This is the time to be as cool as Mr. Leafshade whose AGSBlend plugin is in the repo and thus available on all platforms. 8-)
#188
Engine Development / Re: AGS engine iOS port
Sat 16/06/2012 15:08:59
Thanks for the offer! Don't mind if I take you up on it. I send you a PM.

It would mean that bigendian platforms will be actively maintained again, so this riddle would get solved. :=
#189
The longclick issue should be fixed in the newest daily build. Special thanks to Haggis for testing and also thanks to Frito Master for the testing offer.
#190
I have another report from AGD2 about non-functional longclicking here: http://jjs.at/tracker/view.php?id=66

A common point I see between your issues is that you both use Samsung Galaxy devices. Up to now I have no real lead and it works on my HTC Desire so I cannot reproduce the issue. I could imagine that it is either related to me enabling the longlicking after setting the handler or that the amount of movement I allow while the finger is down is too low for those devices (< 4 pixel in x and y direction). I will have to do some test versions to narrow that down.
#191
I am of course fine with people basing the official repo on my repository. I think merging the changes from the 3.2.2 branch in the SVN would be no big deal since they are solely to the editor side afaik.

A problem I would see with people implementing new features and myself working on the same repository is that retaining backward compatibility will be a big hindrance. But I don't want to give it up because it is the biggest selling point of my fork besides the multiplatform aspect. Either everything that changes the runtime behaviour has to be wrapped in if(loaded_game_file_version > xx) calls or we have to make a clean cut. Such a cut was obviously already present in the 3.2.1 engine since it didn't support the old audio system anymore and I had to hack it in again :)

If people prefer Github over gitorious I see no problem in switching. Gitorious is a bit lacking in some departments, especially the web interface to the repository is hardly usable. E.g. you cannot view diffs for large files, this includes any changes to ac.cpp for example.
#192
I guess it is because the Windows version includes a configuration file that selects the D3D graphic driver. If you delete it or change it to use the non-accelerated Direct Draw driver it works.

Stuff like that is the reason why I don't evaluate the standard config file on the mobile platform ports and instead rolled platform specific configurations. In the long run it would of course be better to unify it again.
#193
Engine Development / Re: AGS engine PSP port
Thu 07/06/2012 10:30:48
It does build for me, but I guess nobody else has ever tried it on his system. I looked at the header and I had commented out the offending lines in <gl/glext.h>, oops. Up until now I only used the Windows OpenGL driver to ease the development of the iOS/Android OpenGL implementation, so it is all around hacky.
#194
It's not certain that the crash is audio related because the engine doesn't print to console after initializing audio.

What game are you trying to run?
#195
Some years ago I figured I could make a game, but I never did anything except what you see here. I don't even had a story and I fail to come up with something non-cliché and compelling. The game was supposed to be horror-themed with the biggest inspiration being Shadow of the Comet.




As you can see, the graphical "gimmick" of the game was the letterboxing with some overhanging elements.
#196
Engine Development / Re: AGS engine iOS port
Tue 05/06/2012 19:16:19
The app now has native iPad support. Please let me know if there are issues with it.
#197
Quote from: JJS on Mon 04/06/2012 21:40:27I will make it so that you can just give the game exe as parameter instead of renaming it to ac2game.dat. Also I thought about incorporating the PE reading code from the PSP launcher so that the game data is automatically found if you pass the game directory as parameter to the engine.

Furthermore plugin support for all platforms and also builtin plugins for all should be just around the corner.
These two things are now implemented.
#198
Engine Development / Re: AGS engine PSP port
Tue 05/06/2012 19:14:07
May I point you here?
#199
Thanks!

I will make it so that you can just give the game exe as parameter instead of renaming it to ac2game.dat. Also I thought about incorporating the PE reading code from the PSP launcher so that the game data is automatically found if you pass the game directory as parameter to the engine.

Furthermore plugin support for all platforms and also builtin plugins for all should be just around the corner.

Then the next thing is making the OpenGL driver more general (at the moment it is tuned to the needs of the mobile platforms) so that it works on Linux/Mac too.
#200
Engine Development / Re: AGS engine iOS port
Mon 04/06/2012 21:33:41
I will make it a universal app. Up to now I wasn't sure if this had any benefit, but I guess it has.

The engine supports the same configuration file as the Android port. You have to create a file "ios.cfg" in the Documents/ags/ folder like this:
Code: ini

[misc]
config_enabled = 1
rotation = 0
translation = default
[controls]
mouse_method = 0
[compatibility]
clear_cache_on_room_change = 0
[sound]
enabled = 1
threaded = 1
cache_size = 10
[midi]
enabled = 1
preload_patches = 0
[video]
framedrop = 0
[graphics]
renderer = 0
smoothing = 1
scaling = 1
super_sampling = 0
smooth_sprites = 0
[debug]
show_fps = 0


Set "mouse_method = 1" for relative mouse movement.
SMF spam blocked by CleanTalk