Author Topic: Current state.  (Read 107253 times)

Akari

  • Moderator
  • *
  • Posts: 766
    • View Profile
Re: Current state.
« Reply #50 on: 2011-07-11 10:06:09 »
Maybe a new youtube video to demonstrate what you've got so far on the next release? :P

Or is compiling it in windows not to difficult? (i've never compiled a thing haha)

I planning video demonstration togather with release of v0.20. But some things need to be finished first. Our own fonts for examle. I don't like fonts in Ogre. They lacks a lot of things that fonts are needed (kerning for example).

After fonts i plan to create prototypes for UI.
Next will be material assigment to be allowed assign you own material with shaders and so on.
That mostly it. =)

=========UPDATE =========
Basic font implementation done. Now time for different aligment and text manamer for different language.


Font implementation includes FFVII font exporter for english and japanese characters for now. )
« Last Edit: 2011-07-14 19:40:13 by Akari »

Hellbringer616

  • *
  • Posts: 1913
    • View Profile
Re: Current state.
« Reply #51 on: 2011-07-19 21:10:05 »
That brought a tear to my eye.  ;D

Cloudef

  • *
  • Posts: 83
    • View Profile
Re: Current state.
« Reply #52 on: 2011-07-29 16:26:35 »
\(^o^)オハヨウ!!!

I just ported OGRE && Irrlicht to OpenPandora, both GLES 1.1 and GLES 2.0 renderer works, tho GLES 1.1 is slightly faster since fixed pipeline is more optimized on driver. I had to alter irrlicht a lot however, since it uses lots of 64bit variables for calculations which are performance killer on many ARM mobile platforms. OGRE port was straight port since it happenned to have floating point precision on compiling settings and seems to work good apart from some texture issues, which I will solve soon.

Whenever I get Pandora(if ever) for myself. I might consider taking contact at you again, since I've been got much more experienced under C (and C++ too)

Also, Akari do you use IRC? I dint really like the IM last time :)
IRC would be great place to lurk and actual contribute something when interesting discussion gets caught.
« Last Edit: 2011-07-29 16:28:23 by Cloudef »

Akari

  • Moderator
  • *
  • Posts: 766
    • View Profile
Re: Current state.
« Reply #53 on: 2011-07-29 19:38:01 »
First is a bit of progress. After looking at the sound for a bit I return to plans for 0.20 release.
Main things is xml support for UI texts that allows nested color changing tags. And moving console to debug draw that allow use colors in console texts.

2011-08-30
----------
* [Console] paint error messages to red and warning to yellow. [Akari]
* [Application] Add setting Z to debug draw to enable depth sorting. [Akari]

2011-08-29
----------
* [UI] Ui drawn under debug draw. [Akari]
* [Console] Make green colour for autocompletition. [Akari]
* [Console] Console moved to debug draw. [Akari]

2011-07-28
----------
* [UI] Add xml support for Ui Texts. Add colour tag to change colour of Ui text. [Akari]




Now two main things left for UI: prototypes and text alignment.

\(^o^)オハヨウ!!!

I just ported OGRE && Irrlicht to OpenPandora, both GLES 1.1 and GLES 2.0 renderer works, tho GLES 1.1 is slightly faster since fixed pipeline is more optimized on driver. I had to alter irrlicht a lot however, since it uses lots of 64bit variables for calculations which are performance killer on many ARM mobile platforms. OGRE port was straight port since it happenned to have floating point precision on compiling settings and seems to work good apart from some texture issues, which I will solve soon.

Whenever I get Pandora(if ever) for myself. I might consider taking contact at you again, since I've been got much more experienced under C (and C++ too)

Also, Akari do you use IRC? I dint really like the IM last time :)
IRC would be great place to lurk and actual contribute something when interesting discussion gets caught.

Ohayo for you too =)
I use gtalk, iCQ and skype. You can set up channel in IRC and post it here - I join )

Covarr

  • Covarr-Let
  • Administrator
  • *
  • Posts: 3941
  • Just Covarr. No "n".
    • View Profile
Re: Current state.
« Reply #54 on: 2011-07-29 20:10:33 »
2011-08-30
----------
* [Console] paint error messages to red and warning to yellow. [Akari]
* [Application] Add setting Z to debug draw to enable depth sorting. [Akari]

2011-08-29
----------
* [UI] Ui drawn under debug draw. [Akari]
* [Console] Make green colour for autocompletition. [Akari]
* [Console] Console moved to debug draw. [Akari]
Oooh, updates from the future. August 29th isn't for nearly a month!

Akari

  • Moderator
  • *
  • Posts: 766
    • View Profile
Re: Current state.
« Reply #55 on: 2011-07-29 20:22:30 »
Oooh, updates from the future. August 29th isn't for nearly a month!

My mistake, I just live in future a bit =D

Cloudef

  • *
  • Posts: 83
    • View Profile
Re: Current state.
« Reply #56 on: 2011-07-29 22:28:54 »
Quote
Ohayo for you too =)
I use gtalk, iCQ and skype. You can set up channel in IRC and post it here - I join )

Sure, I'll do that tomorrow. #q-gears @ freenode.net sounds good? I don't have particular love interest to Ogre, especially after porting it and it still does not work that well.
So yeah tomorrow, I'll clone then the work you've done and get familiar with the code. You can fill me more details on IRC then.

E:
Ok, I'll idle at that channel from now on. Whenever you pop there, highlight me to get attention.
« Last Edit: 2011-07-30 09:35:43 by Cloudef »

Cloudef

  • *
  • Posts: 83
    • View Profile
Re: Current state.
« Reply #57 on: 2011-07-30 13:59:51 »
We probably live on really different timezones, anyways..
I fixed code bit to compile on Linux, also made nice makefile
Code: [Select]
####################################################################
#                                                                  #
# Q-Gears                                                  #
#                                                                  #
# Depends : OGRE, OIS                                  #
# Internal : lua, luabind, tinyxml #
#                                                                  #
# make DEBUG=1 - Debug                                         #
# make - Release #
#                                                             #
####################################################################

# Useful stuff, for eg. cross-compiling
INCLUDE_DIR  := /usr/include
OGRE_INCLUDE := ${INCLUDE_DIR}/OGRE
OIS_INCLUDE  := ${INCLUDE_DIR}/OIS
LIBS := `pkg-config OGRE OIS --libs`
DEBUG := 0

# ---- Q-GEARS Specific ----
CORE_DIR := core
VIEWER_DIR   := viewer
QGEARS_BIN := QGears
BUILD_DIR := ../output

# ATM there is no intelligent render system selection,
# so put your rendersystem path here and it gets copied to build dir
# with name "RenderSystem_GL.so" or "RenderSystem_GL_d.so" in debug mode
OGRE_RENDERER := /usr/lib/OGRE/RenderSystem_GL.so

# ---- Libs that come with Q-Gears ---
INTERNAL_LIB_DIR := ${CORE_DIR}/library
LUA_DIR := ${INTERNAL_LIB_DIR}/lua
LUABIND_DIR := ${INTERNAL_LIB_DIR}/luabind
TINYXML_DIR := ${INTERNAL_LIB_DIR}/tinyxml

# If you set these to 0, we will try to use system libs instead
BUILD_INTERNAL_LUA := 1
BUILD_INTERNAL_LUABIND := 1
BUILD_INTERNAL_TINYXML := 1

# Define libs for these if you don't want to build them
# Default values are just a guess, there is no quarntee all of them come with pkg-configs
LUA_LIB = `pkg-config lua --libs`
LUABIND_LIB = `pkg-config luabind --libs`
TINYXML_LIB = `pkg-config tinyxml --libs`

# ---- A.I ----
# Intenal libs should be build before anything else.
ifeq (${BUILD_INTERNAL_LUA},1)
SOURCE += $(patsubst %.c,%,$(wildcard ${LUA_DIR}/*.c))
else
LIBS += ${LUA_LIB}
INCLUDES += -I${LUA_DIR}
endif

ifeq (${BUILD_INTERNAL_LUABIND},1)
SOURCE += $(patsubst %.cpp,%,$(wildcard ${LUABIND_DIR}/*.cpp))
else
LIBS    += ${LUABIND_LIB}
INCLUDES += -I${LUABIND_DIR}
endif

ifeq (${BUILD_INTERNAL_TINYXML},1)
SOURCE += $(patsubst %.cpp,%,$(wildcard ${TINYXML_DIR}/*.cpp))
else
LIBS    += ${TINYXML_LIB}
INCLUDES += -I${TINYXML_DIR}
endif

ifeq (${DEBUG},1)
DEFINES += -D_DEBUG
endif

# ---- Build defines ----
SOURCE   += Main.cpp \
$(patsubst %.cpp,%,$(wildcard core/*.cpp))    \
            $(patsubst %.cpp,%,$(wildcard core/particles/*.cpp)) \
$(patsubst %.cpp,%,$(wildcard core/particles/emitters/*.cpp)) \
$(patsubst %.cpp,%,$(wildcard core/particles/renderer/*.cpp))
DEFINES   += -DTIXML_USE_STL
INCLUDES   += -I. -I${VIEWER_DIR} -I${CORE_DIR} -I${INCLUDE_DIR} -I${OGRE_INCLUDE} -I${OIS_INCLUDE} -I${INTERNAL_LIB_DIR}
TARGET = ${BUILD_DIR}/${QGEARS_BIN}
OBJ = $(addsuffix .o, $(basename $(SOURCE)))

all: ${TARGET}
@true

# Ugly CPP
%.o : %.cpp
${CXX} ${CXXFLAGS} ${DEFINES} ${INCLUDES} -c $^ -o $@

# Good old C
%.o : %.c
${CC} ${CFLAGS} ${DEFINES} ${INCLUDES} -c $^ -o $@

# Link, create build dir if does not exist
${TARGET}: ${OBJ}
mkdir -p "${BUILD_DIR}"
${CXX} $^ ${LIBS} -o "${TARGET}"

ifeq (${DEBUG},1)
cp "${OGRE_RENDERER}" "${BUILD_DIR}/RenderSystem_GL_d.so"
else
cp "${OGRE_RENDERER}" "${BUILD_DIR}/RenderSystem_GL.so"
endif

# Note: Don't clean ${BUILD_DIR} it's generally non good idea for deveploment
clean:
${RM}  ${OBJ}
${RM}  "${TARGET}"

# TO-DO
# Note: Use ${PREFIX} for install location
install:
echo "Not yet implented"
^ Formatting fails, yay

Code: [Select]
#ifndef _DEBUG
#  ifdef __WIN32__
      root->loadPlugin( "RenderSystem_GL.dll" );
#  else // Assume Linux for now
      root->loadPlugin( "./RenderSystem_GL.so" );
#  endif
#else
#  ifdef __WIN32__
       root->loadPlugin( "RenderSystem_GL_d.dll" );
#  else // Assume Linux for now
       root->loadPlugin( "./RenderSystem_GL_d.so" );
#  endif   
Also Linux version of RenderSystem loading, just copy the .so from /usr/lib/OGRE/RenderSystem_GL_.so, or if you use the makefile it does this automatically.

Next... I suggest we get rid of OIS and use SDL, since OIS pretty much crap everywhere expect Windows.
The only downside would probably be that OGRE depends on OIS and needs to be linked with it, but the app would not use it.

If you allow me to do this, I can do the changes. They are not big if you are OK with only supporting OGRE 1.6 and later, with older OGREs you need more hackery to support SDL input.
« Last Edit: 2011-07-31 15:39:12 by Cloudef »

Akari

  • Moderator
  • *
  • Posts: 766
    • View Profile
Re: Current state.
« Reply #58 on: 2011-07-31 08:09:45 »
Shaders was added for UiSprite, thanks to Cloudef.



Start work on FFVII menu.

« Last Edit: 2011-08-01 11:55:22 by Akari »

Cloudef

  • *
  • Posts: 83
    • View Profile
Re: Current state.
« Reply #59 on: 2011-08-01 15:44:18 »
Ok, Linux fixes + makefile are on Linux branch now.. And AudioManager is there on Audio branch. It handles just ogg files for music ATM. You said something about sound effects needing reverse engineering? They are not yet documented on Qhimm? (I suck at Reverse engineering )

Akari

  • Moderator
  • *
  • Posts: 766
    • View Profile
Re: Current state.
« Reply #60 on: 2011-08-01 16:32:45 »
Ok, Linux fixes + makefile are on Linux branch now.. And AudioManager is there on Audio branch. It handles just ogg files for music ATM. You said something about sound effects needing reverse engineering? They are not yet documented on Qhimm? (I suck at Reverse engineering )

Wait until G finished his exporter. He write psf with posibility to execute any needed line of AKAO script and with save to ogg files.

You can write first version of sound playback.
It must read separate file sounds.xml with name and filename in it. For now only play once (i don't know it it will be ever needed for loop).

play with AudioManager::PlaySound( const Ogre::String& name );

There must be few sounds that can play togather (20 for example). if more than that - write warning to log.

sithlord48

  • Moderator
  • *
  • Posts: 1632
  • Dark Lord of the Savegame
    • View Profile
    • Blackchocobo
Re: Current state.
« Reply #61 on: 2011-08-01 16:53:40 »
Ok, Linux fixes + makefile are on Linux branch now.. And AudioManager is there on Audio branch. It handles just ogg files for music ATM. You said something about sound effects needing reverse engineering? They are not yet documented on Qhimm? (I suck at Reverse engineering )

awesome! im gonna have to try again on my nix machines. be sure u haven't done anything to break it for debian. also the sound effects iirc are just wave files stored in an archive.there is a tool to extract them around here some where so im guessing someone knows how to read this format

Cloudef

  • *
  • Posts: 83
    • View Profile
Re: Current state.
« Reply #62 on: 2011-08-01 18:32:09 »
Wait until G finished his exporter. He write psf with posibility to execute any needed line of AKAO script and with save to ogg files.

You can write first version of sound playback.
It must read separate file sounds.xml with name and filename in it. For now only play once (i don't know it it will be ever needed for loop).

play with AudioManager::PlaySound( const Ogre::String& name );

There must be few sounds that can play togather (20 for example). if more than that - write warning to log.

Ok sounds cool, I'll pick that up later.

awesome! im gonna have to try again on my nix machines. be sure u haven't done anything to break it for debian. also the sound effects iirc are just wave files stored in an archive.there is a tool to extract them around here some where so im guessing someone knows how to read this format

I use Arch Linux myself. The makefile isn't yet complete, but should do it's job for most of distros, by just typing make (assuming you have all deps). The latest hg is broken on linux however cause the debug draw code is poking on uninitialized strings, to workaround this, disable ui_debug on config.cfg. I'll pinpoint what's wrong with the debug draw later. (Also the Linux fixes are in linux branch, or you could just apply these yourself.. Check my last post above.. It's nothing big)
« Last Edit: 2011-08-01 18:34:06 by Cloudef »

Cloudef

  • *
  • Posts: 83
    • View Profile
Re: Current state.
« Reply #63 on: 2011-08-03 10:33:51 »
The debug draw issue is because you are returning temporary reference to empty string
Code: [Select]
const Ogre::String&
UiWidget::GetCurrentAnimationName() const
{
    if( m_AnimationCurrent != NULL )
    {
        return m_AnimationCurrent->GetName();
    }

    return "";
}         

To fix, either you should not return temporary reference, and instead return new object. But this isn't ideal solution.
So instead do this (which I believe the compiler you use does, when it notices this scenario).

Code: [Select]
static const Ogre::String NULL_STRING("");

const Ogre::String&
UiWidget::GetCurrentAnimationName() const
{
    if( m_AnimationCurrent != NULL )
    {
        return m_AnimationCurrent->GetName();
    }

    return NULL_STRING;
}         

You also return temporary reference in particle system code. Do you want to me commit these to fixes branch or, just wait until you appear on IRC?
I also compiled custom OIS that does not take over my whole system.

Akari

  • Moderator
  • *
  • Posts: 766
    • View Profile
Re: Current state.
« Reply #64 on: 2011-08-03 11:20:49 »
You also return temporary reference in particle system code. Do you want to me commit these to fixes branch or, just wait until you appear on IRC?
I also compiled custom OIS that does not take over my whole system.

Fixed =)

Cloudef

  • *
  • Posts: 83
    • View Profile
Re: Current state.
« Reply #65 on: 2011-08-03 12:35:47 »
Fixed =)

Great, I also pulled latest changes you've made. Stuff looks great :)

Akari

  • Moderator
  • *
  • Posts: 766
    • View Profile
Re: Current state.
« Reply #66 on: 2012-03-03 09:46:44 »
Little spoiler about nes version )


Hellbringer616

  • *
  • Posts: 1913
    • View Profile
Re: Current state.
« Reply #67 on: 2012-03-04 21:22:23 »
Nes? Q-Gears can run on the nes?! haha

Akari

  • Moderator
  • *
  • Posts: 766
    • View Profile
Re: Current state.
« Reply #68 on: 2012-03-05 01:57:28 »
New... I mean new version )

Hellbringer616

  • *
  • Posts: 1913
    • View Profile
Re: Current state.
« Reply #69 on: 2012-03-05 02:17:33 »
Just giving you a hard time, Can't wait till this gets into late alpha/beta :D

KnifeTheSky77

  • *
  • Posts: 548
  • Somnambulistic Paraphile
    • View Profile
Re: Current state.
« Reply #70 on: 2012-03-07 18:18:50 »
I'm so excited!  ;D

Akari

  • Moderator
  • *
  • Posts: 766
    • View Profile
Re: Current state.
« Reply #71 on: 2012-03-09 07:11:38 »
New spoilers and progress




Now with robos from xenogears.
« Last Edit: 2012-03-09 07:49:21 by Akari »

O01eg

  • *
  • Posts: 23
    • View Profile
Re: Current state.
« Reply #72 on: 2012-03-15 13:18:19 »
Is Xeno part active?

Akari

  • Moderator
  • *
  • Posts: 766
    • View Profile
Re: Current state.
« Reply #73 on: 2012-03-16 22:15:11 »
What do you mean by "active"?

obesebear

  • *
  • Posts: 1389
    • View Profile
Re: Current state.
« Reply #74 on: 2012-03-17 00:07:27 »
Just wondering, how much time do you put into QGears each week?  And is it still only you working on it?