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.


Topics - redhound

Pages: [1]
1
Development Deliberation / PlaneShift.Translation project
« on: April 03, 2016, 12:49:55 pm »
Dear fellow players!

Allow me to announce that PlaneShift client UI translation files are available to translation online on Transifex.com platform!

Transifex.com platform provides translators with many nice features, such as glossary, translation history, automatic translation from translation memory and more. You really do not need to know anything about underlying technology - just ability to translate from english to your native language. If you will try it, you will love it!

If you want to contribute your translation for one of the existing languages (or request new one), you will need to:

1. Get free Transifex.com account.
2. Send me (roman.yagodin) a message with language(s) you want to translate to. I could also invite you by your email address.

Then I will assign you to the right roles and you'd be able to start translating.

I would also gladly add someone from dev. team to the project administators role with full management rights, just ask.

Now some additional details for developers.

The project on Transifex.com is backed up by PlaneShift.Translation project on GitLab.com. The project currently contains shell scripts which can be used to convert translations from 'stringtable.xml' format to 'strings.xml' format and back, and also original and converted translation files to follow changes.

Translations in 'strings.xml' format are effectively Android String Resource files. Yes, I know this is sounds strange, but nethertheless they can be directly uploaded to Transifex.com as resource files. So I've converted all translations available in the PlaneShift source code tree 'lang' folder to 'strings.xml' format and uploaded them to the Transifex.com project.

You can get updated files (with new translated strings) from Transifex.com in 'strings.xml' format, and then apply conversion script to get translations in 'stringtable.xml' format, which can be used by the PlaneShift client.

The project currently lacks of scripts to easily invoke Transifex.com client utility to manage resources from command line. I hope I could solve it in nearest future.

Note that I'm doing this primary to support and organize my work on the russian translation, but think that the instrumentation created in the process could also be useful to translate PlaneShift client to any language.

I would love to hear any questions, suggestions and critics.

2
I have the question about PS translation resources. There are strings.xml in the lang folder, and stringtable.xml for each language in the lang/{language} folder. The string.xml are in format of "Android String Resources" - at least, then I've added XML header and fixed duplicate name attributes, and it was uploaded on Transifex.com as "Android String Resources" file successfully. The stringtable.xml have different format and looks very buggy - even no root XML element!

Now to the question - if I translate strings.xml and place it into the lang/{language} folder, would it provide UI translation for PlaneShift client, or do I have no other option than to create stringtable.xml with translated strings?
Though it's not too diffucult to generate stringtable.xml from strings.xml...

And also - the stringtable.xml in the 'english' folder - does it relate to american english (en-US) or something else?



3
Wish list / Bring gods in the game
« on: June 20, 2015, 06:24:25 am »
From game chat:

> /tell Laanx Hi, Laanx!
> Laanx is not found online.

Current /pray command is a shortcut for /emote pray, but it could be interesting to have separate command to pray gods (or specific god) for miracles or even ask them about something.

"Miracles" should be protective / healing spells, casted on character or group, or offensive spells, casted on enemies.
Spell set could vary by god. Rate of success of appeal & spell power could be determined by character race, faction points, number of previous appeals (in the game day), sacrifices and also (maybe) current location, weather and time of the day.

If god name not specified, any god in the mood could answer to the prayer.
Also, appeling to the more ancient gods (Laanx, Talad) should have lesser rate of success, but greater miracles or revelations.

Any character (even have no magical abilities and choose to be atheist) could use this command.

Gods could be implemented as (invisible) NPCs.

Example command formats:

Pray: /pray [godname]
Ask: /tell [godname] [question]
Sacrifice: /give [godname] [itemname]

4
PlaneShift Mods / Widget frame border
« on: January 11, 2015, 05:44:20 am »
I have a questions about widget frame border values.

According to the PAWS specification, border attribute in frame tag could have 3 values: "yes", "no" and "line".  I've done some experiments, and don't see any visible changes between border="yes" and border="no" for non-root widgets. For root widgets (that define a window itself), setting border="yes"  / "no" toggle window title row display.

So, does frame border value matters for non-root widgets? And what is that "line" value?

5
Development Deliberation / More agile development process
« on: January 06, 2015, 04:17:40 pm »
Exploring PlaneShift project pages on the SourceForge, I've personally missed some basic things (after some experience with GitHub), like ability to fill an issue and propose a code change for it - and start thinking...
 
I understand PS have it's own long history, development infrastructure, and there is much more than just client / server code that makes The Game, but... Is there any plans to make the contributing process more simple and development process more open -  make things more "agile"?

To be more specific, I name some things (most are CI-flawored):

1. Switch to SVN to git.
2. Separate repositories for client / server applications, libraries (like Cal3D), game content (restricted?), website, related projects (dev tools, default skins, etc.) - the smaller, the better.
3. Issue tracker, integrated with code repositories.
4. Unit tests, at least for some code parts.
5. Automatic build system for main development platforms (simplifies testing).

It's just outsider's look and I've probably missed The Main Thing, but I'm almost sure what any item from this list, if adopted or implemented, could greatly influence project future.

6
PlaneShift Mods / PAWS Preview in a Browser
« on: December 29, 2014, 08:59:34 am »
I was thinking long about some kind of pawseditor alternative to preview skin parts before testing them in psclient, and recently experimented with XSLT support for PAWS. The idea is to transform PAWS XML file by XSLT script into the HTML with inline CSS styles for PAWS presentation markup, starting at least with widget placement.

By example:

Code: [Select]
<widget name="MyWidget">
   <frame x="10" y="20" width="35" height="15" />
   ...
</widget>

Should transform to:

Code: [Select]
<div class="widget" name="MyWidget" style="left:10px;top:20px;width:35px;height:15px">
   MyWidget
   ...
</div>

Inventory window layout in Firefox:



The first results of that experiment are on GitHub: https://github.com/roman-yagodin/PlaneShift.SkinTools.

7
Development Deliberation / PlaneShift client build scripts Debian
« on: June 02, 2014, 04:41:28 am »
Recently I've worked on compiling PlaneShift client on Debian (Linux Mint Debian Edition 201403, to be more specific). With some help from the devs and forum members, it was successful - so I've decided to summarize this work in a build scripts pack, which may help others to build PlaneShift client from source.

You can get it from here: https://github.com/roman-yagodin/PlaneShift.BuildScripts/releases. See README.md for use instructions.

I hope with very small adjustments these scripts should work on other Linux distributions. Most distro-specific things is located in ps-prereq-lmde.sh - so make a copy, name it e.g. ps-prereq-fedora.sh and modify. And send me, if you are succeeded :)

Testing feedback, critics and (of course) commits are greatly welcome!

8
Development Deliberation / CrystalSpace build problem: xwindow
« on: May 27, 2014, 05:23:56 am »
I'm trying to build PS client on Linux Mint Debian x84_64 and stuck at nasty CrystalSpace build error:

Code: [Select]
LinkPlugin xwin.so
MkDir1 ./out/linux/optimize/plugins/video/loader/dds
C++ ./out/linux/optimize/plugins/video/loader/dds/ddsloader.o
LinkPlugin csbmpimg.so
ObjTagMetaData csbmpimg.so
DoSplitDebugInfo csbmpimg.so
C++ ./out/linux/optimize/plugins/video/loader/dds/dds.o
./out/linux/optimize/plugins/video/canvas/xwindow/libgobject-2.0.so.0.stub.o:(.data.__bss_start+0x0): multiple definition of `__bss_start'
./out/linux/optimize/plugins/video/canvas/xwindow/libXaw.so.7.stub.o:(.data.__bss_start+0x0): first defined here
./out/linux/optimize/plugins/video/canvas/xwindow/libgobject-2.0.so.0.stub.o:(.data._edata+0x0): multiple definition of `_edata'
./out/linux/optimize/plugins/video/canvas/xwindow/libXaw.so.7.stub.o:(.data._edata+0x0): first defined here
./out/linux/optimize/plugins/video/canvas/xwindow/libgobject-2.0.so.0.stub.o:(.data._end+0x0): multiple definition of `_end'
./out/linux/optimize/plugins/video/canvas/xwindow/libXaw.so.7.stub.o:(.data._end+0x0): first defined here
collect2: ld returned 1 exit status
 
g++ -Wl,--as-needed -o xwin.so ./out/linux/optimize/plugins/video/canvas/xwindow/xwindow.o ./out/linux/optimize/plugins/video/canvas/xwindow/xalert_xaw/makeform.o ./out/linux/optimize/plugins/video/canvas/xwindow/xalert_xaw/alert.o ./out/linux/optimize/plugins/video/canvas/xwindow/xalert_gtk/gtk_alert.o ./out/linux/optimize/plugins/video/canvas/xwindow/plugin_impl.o -lc -lm -ldl -lnsl -L/usr/local/lib -Wl,-z,defs -Wl,--warn-unresolved-symbols -g2 -shared -Wl,--gc-sections -fPIC ./out/linux/optimize/libs/libcrystalspace-2.1.so -lz -lpthread -lXxf86vm `CC="gcc" CFLAGS="-pipe -Wall -Wno-unknown-pragmas -fvisibility=hidden -mtune=generic -mfpmath=sse -I/usr/local/include -DNVALGRIND -ffunction-sections -fdata-sections -O3 -fomit-frame-pointer -ffast-math -g2" /bin/bash ./bin/relaytool --out-dir ./out/linux/optimize/plugins/video/canvas/xwindow --relay Xaw7 --relay Xaw -lc -lm -ldl -lnsl -L/usr/local/lib -lX11 -lXaw7 -lXt -lX11 -lXext -lX11 -lXt -lX11` `CC="gcc" CFLAGS="-pipe -Wall -Wno-unknown-pragmas -fvisibility=hidden -mtune=generic -mfpmath=sse -I/usr/local/include -DNVALGRIND -ffunction-sections -fdata-sections -O3 -fomit-frame-pointer -ffast-math -g2" /bin/bash ./bin/relaytool --out-dir ./out/linux/optimize/plugins/video/canvas/xwindow --relay gtk-x11-2.0 --relay gobject-2.0 -lc -lm -ldl -lnsl -L/usr/local/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfontconfig -lgobject-2.0 -lglib-2.0 -lfreetype` -lXcursor -lXrender -lX11 -lXext -lc -lm -ldl -lnsl -L/usr/local/lib -Wl,-z,defs -Wl,--warn-unresolved-symbols -g2 \
-Wl,-soname,xwin.so
...failed LinkPlugin xwin.so ...
LinkPlugin csddsimg.so
g++: error: ./out/linux/optimize/plugins/video/loader/dds/dxtdecompress.o: No such file or directory
g++: error: ./out/linux/optimize/plugins/video/loader/dds/ddssaver.o: No such file or directory
g++: error: ./out/linux/optimize/plugins/video/loader/dds/ImageLib/Cclist.o: No such file or directory
g++: error: ./out/linux/optimize/plugins/video/loader/dds/ImageLib/ccHeap.o: No such file or directory
g++: error: ./out/linux/optimize/plugins/video/loader/dds/ImageLib/ccDoubleHeap.o: No such file or directory
g++: error: ./out/linux/optimize/plugins/video/loader/dds/ImageLib/ImageDXTC.o: No such file or directory
g++: error: ./out/linux/optimize/plugins/video/loader/dds/ImageLib/CodeBook.o: No such file or directory
g++: error: ./out/linux/optimize/plugins/video/loader/dds/ImageLib/DXTCGen.o: No such file or directory
g++: error: ./out/linux/optimize/plugins/video/loader/dds/ImageLib/Lloyd.o: No such file or directory
g++: error: ./out/linux/optimize/plugins/video/loader/dds/ImageLib/Image.o: No such file or directory
g++: error: ./out/linux/optimize/plugins/video/loader/dds/ImageLib/cfVector.o: No such file or directory
g++: error: ./out/linux/optimize/plugins/video/loader/dds/ImageLib/MedianCut.o: No such file or directory
g++: error: ./out/linux/optimize/plugins/video/loader/dds/ImageLib/fCodeBook.o: No such file or directory
g++: error: ./out/linux/optimize/plugins/video/loader/dds/ImageLib/Table.o: No such file or directory
g++: error: ./out/linux/optimize/plugins/video/loader/dds/plugin_impl.o: No such file or directory
 
g++ -Wl,--as-needed -o csddsimg.so ./out/linux/optimize/plugins/video/loader/dds/ddsloader.o ./out/linux/optimize/plugins/video/loader/dds/dds.o ./out/linux/optimize/plugins/video/loader/dds/dxtdecompress.o ./out/linux/optimize/plugins/video/loader/dds/ddssaver.o ./out/linux/optimize/plugins/video/loader/dds/ImageLib/Cclist.o ./out/linux/optimize/plugins/video/loader/dds/ImageLib/ccHeap.o ./out/linux/optimize/plugins/video/loader/dds/ImageLib/ccDoubleHeap.o ./out/linux/optimize/plugins/video/loader/dds/ImageLib/ImageDXTC.o ./out/linux/optimize/plugins/video/loader/dds/ImageLib/CodeBook.o ./out/linux/optimize/plugins/video/loader/dds/ImageLib/DXTCGen.o ./out/linux/optimize/plugins/video/loader/dds/ImageLib/Lloyd.o ./out/linux/optimize/plugins/video/loader/dds/ImageLib/Image.o ./out/linux/optimize/plugins/video/loader/dds/ImageLib/cfVector.o ./out/linux/optimize/plugins/video/loader/dds/ImageLib/MedianCut.o ./out/linux/optimize/plugins/video/loader/dds/ImageLib/fCodeBook.o ./out/linux/optimize/plugins/video/loader/dds/ImageLib/Table.o ./out/linux/optimize/plugins/video/loader/dds/plugin_impl.o -lc -lm -ldl -lnsl -L/usr/local/lib -Wl,-z,defs -Wl,--warn-unresolved-symbols -g2 -shared -Wl,--gc-sections -fPIC ./out/linux/optimize/libs/libcrystalspace-2.1.so -lz -lpthread -lc -lm -ldl -lnsl -L/usr/local/lib -Wl,-z,defs -Wl,--warn-unresolved-symbols -g2 \
-Wl,-soname,csddsimg.so
...failed LinkPlugin csddsimg.so ...
...failed updating 2 target(s)...
...updated 760 target(s)...
Copy cs-config
...updated 1 target(s)..

CS rev. 38934, Cal3D rev. 507, bullet 2.80 rev. 2531, gcc 4.6
uname -a: Linux simargl 3.11-2-amd64 #1 SMP Debian 3.11.8-1 (2013-11-13) x86_64 GNU/Linux

Does anyone have any clue?

9
PlaneShift Mods / Using pawsScrollBar to display time
« on: May 12, 2014, 07:50:53 am »
I'm trying to make analog time indicator in the Info window using pawsScrollBar by subscribing it to "TimeOfDay" value. Thing is, that then UI is loaded, scrollbar thumb is always set to min value before time of day (hour) will change - in most bad case it's about one game hour.

infowindow.xml:
Code: [Select]
<widget name="TimeScroll" factory="pawsScrollBar" direction="horizontal" tooltip="Time" minValue="1" maxValue="24" tick="1" style="Standard Scrollbar Horizontal" ignore="true">
<up gray="Clear" pressed="Clear" unpressed="Clear" />
        <down gray="Clear" pressed="Clear" unpressed="Clear" />
<thumb stopped="MiniUp" moving="MiniUp" />
        <frame x="0" y="57" width="180" height="16" border="no" />
            <attachpoints>
                <attach point="PROPORTIONAL_RIGHT" />
                <attach point="PROPORTIONAL_BOTTOM" />
                <attach point="ATTACH_TOP" />
                <attach point="ATTACH_LEFT" />
            </attachpoints>
    <subscriptions>
        <subscribe data="TimeOfDay" />
    </subscriptions>
</widget>

imagelist.xml:
Code: [Select]
<image file="/paws/real_skin/components01.png" resource="Clear">
    <texturerect x="511" y="255" width="1" height="1" />
</image>

Does the scrollbar is reacting only to change of TimeOfDay value?.. But then I subscribe it to HP with "fVitalValue0:Self", thumb position updated properly...

So anyone know something about it?



10
Development Deliberation / CrystalSpace and Bullet
« on: May 07, 2014, 06:11:23 am »
Hello! I have problem with building CS rev. 38934 from sources in Linux Mint Debian Edition (LMDE) x86_64, based on Debian Testing (Jessie).

Compiler shows many error messages about bullet physics library:
Code: [Select]
C++ ./out/linux/optimize/plugins/physics/bullet/bullet.o
/home/redhound-game/build/planeshift/cs/plugins/physics/bullet/bullet.cpp: In member function ‘void CS::Plugin::Bullet::csBulletDynamicsSystem::CheckCollisions()’:
/home/redhound-game/build/planeshift/cs/plugins/physics/bullet/bullet.cpp:309:63: error: static_cast from type ‘const btCollisionObject*’ to type ‘btCollisionObject*’ casts away qualifiers
/home/redhound-game/build/planeshift/cs/plugins/physics/bullet/bullet.cpp:311:63: error: static_cast from type ‘const btCollisionObject*’ to type ‘btCollisionObject*’ casts away qualifiers
/home/redhound-game/build/planeshift/cs/plugins/physics/bullet/bullet.cpp: In member function ‘virtual CS::Physics::Bullet::HitBeamResult CS::Plugin::Bullet::csBulletDynamicsSystem::HitBeam(const csVector3&, const csVector3&)’:
/home/redhound-game/build/planeshift/cs/plugins/physics/bullet/bullet.cpp:739:70: error: invalid conversion from ‘const btSoftBody*’ to ‘btSoftBody*’ [-fpermissive]

    g++ -c -o ./out/linux/optimize/plugins/physics/bullet/bullet.o -I/home/redhound-game/build/planeshift/cs/. -I./include -I/home/redhound-game/build/planeshift/cs/./include -pipe -Wall -Wno-unknown-pragmas -fvisibility=hidden -mtune=generic -mfpmath=sse -I/usr/local/include -DNVALGRIND -fno-exceptions -fvisibility-inlines-hidden -DNVALGRIND -ffunction-sections -fdata-sections -O3 -fomit-frame-pointer -ffast-math -g2 -fPIC -I/usr/include/bullet  /home/redhound-game/build/planeshift/cs/plugins/physics/bullet/bullet.cpp

...failed C++ ./out/linux/optimize/plugins/physics/bullet/bullet.o ...
...skipped bullet.so for lack of <plugins!physics!bullet!>bullet.o...
...failed updating 1 target(s)...
...skipped 1 target(s)...
...updated 499 target(s)...
Copy cs-config
...updated 1 target(s)...

I have libbullet-dev 2.81-rev2613+dfsg2-1 installed from testing repository. Compiling CS with gcc 4.6.

So the question: which bullet version is needed to build CS rev. 38934?

11
PlaneShift Mods / Enchanted Elves skin
« on: April 09, 2014, 02:45:36 am »
"Enchanted Elves" skin is updated to use with PS client 0.6.1 0.6.3.
You can always download new release here: https://github.com/roman-yagodin/PlaneShift.EnchantedElves/releases.

Here are some "Enchanted Elves" screenshots to compare with original "Elves".

HUD (compare with the original version):



Inventory & Study (compare with the original version):



Books (compare with the original version):




See changelog for more details.

If you experience some problems with "Enchanted Elves" or have some ideas about how to make it better, don't hesitate to fill an issue (you need GitHub account to do this).

12
Hello, fellow planeshifters!

The default Elves v2 skin are not ideal, you know... But I like it's style, and now gathering some modifications in a derivate skin "Enchanted Elves" (formerly "Red Elves"). Some features are experimental and a subject of a personal taste. So, any suggestions, critics, ideas and some advice is highy welcomed! Fell free to reuse modified skin parts in your work also.

Updated 25 dec 2014: New version available! This new version contains fixes to use Enchanted Elves with PlaneShift 0.6.3 release.

Installation is trivial: place skin package enchanted_elves.zip to /art/skins in PlaneShift folder and select a new skin in a launcher.

Screenshots (done with older versions of PS client / skin, but most things are fine):







Edit book. View non-editable book

View editable book

Pages: [1]