Remaking the map editor for my game with a nicer, simpler binary format - not much to look at now, as it's just winforms, but i'll get map rendering soon - and probably switching to SFML because of hardware acceleration.
[img_thumb]http://jmazouri.com/pubfiles/zestedit_new.jpg[/img_thumb]
Currently fucking around with JBox2D. Definitely interesting.
yay margins and paddings
[img]https://dl.dropbox.com/u/99765/97891234.png[/img]
Rushed code incoming
[cpp]
void WidgetPanel::Draw(SpriteBatch& spriteBatch)
{
if (m_visible)
{
Vector2i absolutePosition;
GetAbsolutePosition(absolutePosition);
DrawBackground(spriteBatch, absolutePosition);
const Padding& padding(GetPadding());
absolutePosition.x += padding.left;
absolutePosition.y += padding.top;
std::list<Widget*>::reverse_iterator it = m_widgets.rbegin();
while (it != m_widgets.rend())
{
if ((*it)->GetVisible())
{
Vector2i position(absolutePosition);
Vector2i size(m_size);
const Margin& childMargin((*it)->GetMargin());
position.x += childMargin.left;
position.y += childMargin.top;
size -= (position - absolutePosition);
size.x -= (padding.right + padding.left) + childMargin.right;
size.y -= (padding.bottom + padding.top) + childMargin.bottom;
// very silly way of getting the window size, need window size because glScissor origin is lower left
spriteBatch.PushClip(m_input.GetWindow()->GetSize(), position, size);
(*it)->Draw(spriteBatch);
spriteBatch.PopClip();
}
++it;
}
}
}
[/cpp]
[QUOTE=layla;25626010]This will be my last post until I have something to release.[/QUOTE]
liar.
Okay last one starting from now!
layla, you have quite a sexy GUI going on there.
[editline]24th October 2010[/editline]
(Although I would change that warning icon.)
:O that icon is proper cool.
I'm currently implementing tasks in my build system. Or rather, user tasks. In previous iterations, a task was handled internally (it was also where 99% of all bugs came from, as well as being an ugly monolithic thing). But because of the reworking of the underlying architecture, I'm effectively making it so that the true actual build system is a small working core, and the provided projects and such are built from the core API. Anywho, the tasks are done via python's decorators, and all of them (since they are for toolchains), are required to take a list, and return a list, specifically of file names. Here's a small example where the only task performed is a file copy.
[code]
import shutil
with Project('task-test') as test:
@test.debug.task
def copy_files(file_list):
ret_list = [ ]
for file in file_list:
target = '{0}/{1}'.format(test.output, file.split('/').pop())
try: shutil.copy(file, target)
except IOError:
#Do some error handling here ;)
continue
ret_list.append(target)
return ret_list
[/code]
Of course, this may result in several issues, namely bitfiles becoming much larger than previously. However, I think a lot of the work will b cut out for users, because unlike many python tools and such (and unlike the first two versions of bit >_>), every function, method, and member of the bit is public, so you can do some dangerous things, but most, if not all, of the information is there.
There are also a few other things I would like to try to address, such as naming when a task is executed (before or after another), if the returned files should be passed on to another task, or even renaming the user tasks from @toolchain.task to @toolchain.user_task, and make it very obvious that certain tasks are executed at different times.
What I may end up doing as well, is what bit used to have. Which was a prebuild, build, and postbuild execution list, but instead makes these tasks (so a @test.debug.prebuild, would insure that before any build tasks are called, all files are run through the given task, etc. etc.)
I don't know if I mentioned it either, but I've also introduced something I'm calling a "Toolchain", (which are the debug and release targets, effectively). In previous iterations of my build system, a project contained *one* executable, (sometimes two, but this was specialized, and resulted in some extremely ad-hoc and dangerous code). What a toolchain is now, however is a collection of executables, which are usable in a "task", and effectively are used like this (within the toolchain).
[code]
@self.task
def compile_clang_files(self, file_list):
ret_list = [ ]
for file in file_list:
for key in self.tools.keys():
if file.endswith(key):
output = '{0}.out'.format(file)
if :# This returns 0, blah blah #subprocess.call([self.tools.get(key)]
ret_list.append(file)
return ret_list
[/code]
Realize the above is horribly ugly, and could be cleaned up with a list comprehension or two, but the idea remains. If a file ends with a given tool's file extension, it will return the actual tool itself (assuming said tool exists on the system PATH).
I've said it before, but the complexity of my build system is increasing, though I'm trying my best to mitigate it so it will still be easy to use and understand.
On a lighter note, this project turned 1 year old back on 2010-OCT-22. :toot:
[QUOTE=layla;25629216]:O that icon is proper cool.[/QUOTE]
liar
[media]http://www.1337upload.net/files/s_2010-10-25_13.03.17.png[/media]
[media]http://www.1337upload.net/files/s_2010-10-25_13.38.14.png[/media]
Got my tile "engine" finally working after six hours of coding and crying.
Also, programmer art.
[QUOTE=Simspelaaja;25633544][media]http://www.1337upload.net/files/s_2010-10-25_13.03.17.png[/media]
[media]http://www.1337upload.net/files/s_2010-10-25_13.38.14.png[/media]
Got my tile "engine" finally working after six hours of coding and crying.
Also, programmer art.[/QUOTE]
Your programmer art reminds me vaguely of the pre-art versions of braid.
Came up with a concept of an Excel backed database.
It'll be written in VBA and queried with formulas.
CC?
[img]http://dl.dropbox.com/u/3589897/screenshots/PooldeckGUI.png[/img]
Making the dialog box GUI, for chatting with NPCs. Right now the options are static but I'm going to build them from that NPCs lua chat dialog script.
[editline]26th October 2010[/editline]
Nuffin' funny bout this post :colbert:
Couldn't help but notice this on MSDN:
[img]http://i56.tinypic.com/nmcneq.png[/img]
:v:
[QUOTE=Siemens;25634111]Came up with a concept of an Excel backed database.
It'll be written in VBA and queried with formulas.
CC?[/QUOTE]
Any particular reason for this?
[QUOTE=r4nk_;25637174][img_thumb]http://dl.dropbox.com/u/3589897/screenshots/PooldeckGUI.png[/img_thumb]
Making the dialog box GUI, for chatting with NPCs. Right now the options are static but I'm going to build them from that NPCs lua chat dialog script.
[editline]26th October 2010[/editline]
Nuffin' funny bout this post :colbert:[/QUOTE]
needs moar bloom
[QUOTE=iNova;25637764]needs moar bloom[/QUOTE]
No problem.
[img]http://anyhub.net/file/moarbloomplox.png[/img]
[QUOTE=iNova;25637764]needs moar bloom[/QUOTE]
needs more grain
[QUOTE=Richy19;25637779]needs more grain[/QUOTE]
I agree.
[img]http://anyhub.net/file/grain.png[/img]
Not this again :v:
[QUOTE=Chris220;25637818]Not this again :v:[/QUOTE]
Next person to say "needs more brown" gets a slap.
Needs more pink.
What? It's not brown.
[QUOTE=eXeC64;25637883]Next person to say "needs more brown" gets a slap.[/QUOTE]
huh?
I think it's perfect :)
[img]http://anyhub.net/file/pooldeckgui.png[/img]
Mother fuckers
[QUOTE=ddrl46;25637896]Needs more pink.
What? It's not brown.[/QUOTE]
You were the one making those effects so you make this yourself too.
[QUOTE=ZeekyHBomb;25637949]huh?
I think it's perfect :)
[img_thumb]http://anyhub.net/file/pooldeckgui.png[/img_thumb][/QUOTE]
Are you sure that's blurry enough?
It's like watching a car crash in slow motion and knowing there's nothing I can do to stop it
Efex is a fag.
git is better
[QUOTE=r4nk_;25638008]It's like watching a car crash in slow motion and knowing there's nothing I can do to stop it[/QUOTE]
A crashing car in slow-mo does have some fascination due to the stylish bending metal 'n such though.
Sorry, you need to Log In to post a reply to this thread.