Hello, we apologize but forum registrations are non-functional at this time. This issue should be fixed around mid-December. Until then, please stop by our Discord channel if you'd like to get in touch with the team. Thanks!

## [RETIRED] Subversion Commit Log

For discussion of the code running behind the game

Moderator: Staff

Roots
Dictator
Posts: 8669
Joined: Wed Jun 16, 2004 12:07 pm
Location: Austin TX
Contact:
Committed Revision 1227.
****************************************************
Primary Changes
> Tagged the 0.2.1 release of the demo

In case you are curious, the command used for tagging this release was:

Code: Select all

svn copy https://allacrost.svn.sourceforge.net/svnroot/allacrost/trunk/demo https://allacrost.svn.sourceforge.net/svnroot/allacrost/tags/demo-0.2.1 -m "Tagging the 0.2.1 release of the demo."

Steu
Developer
Posts: 926
Joined: Thu Jan 05, 2006 3:41 pm
Location: Medicine Hat
Committed Revision 1228.
****************************************************
Primary Changes

Modified: Allacrost\demo\src\editor\grid.cpp
Modified: Allacrost\demo\src\editor\tileset_editor.cpp

Primary Changes
Small fix to the editor, video engine initialization was broken into separate functions because of the need to load settings in the main, this broke the editor, and this commit tries to fix it.
Roots
Dictator
Posts: 8669
Joined: Wed Jun 16, 2004 12:07 pm
Location: Austin TX
Contact:
Committed Revision 1229.
****************************************************
Files Modified
M src/engine/mode_manager.cpp
M src/engine/input.cpp
M src/engine/mode_manager.h
M src/engine/input.h
M src/main.cpp
M src/modes/boot/boot.cpp
M src/modes/quit.cpp
M src/modes/shop/shop.cpp
M src/modes/battle/battle.cpp
M src/modes/map/map.cpp
M src/modes/pause.cpp

Primary Changes
> The engine code no longer has any dependencies on game mode code

Miscellaneous Notes
> Game modes now have to handle pause and quit events themselves (I already added the code to do this in each game mode)
> I'm thinking about combining pause and quit mode together, since they are both really small and pretty much do the same thing.
Steu
Developer
Posts: 926
Joined: Thu Jan 05, 2006 3:41 pm
Location: Medicine Hat
Committed Revision 1230 & 1231.
****************************************************
Files Modified

Modified: Allacrost\demo\Allacrost.sln
Modified: Allacrost\demo\Allacrost.vcproj
Modified: Allacrost\demo\Map_Editor.vcproj
Modified: Allacrost\demo\src\editor\editor.cpp
Modified: Allacrost\demo\src\editor\editor.h
Modified: Allacrost\demo\src\engine\audio\audio.cpp
Modified: Allacrost\demo\src\engine\input.cpp
Modified: Allacrost\demo\src\engine\mode_manager.cpp
Modified: Allacrost\demo\src\engine\script\script_modify.cpp
Modified: Allacrost\demo\src\engine\system.cpp
Modified: Allacrost\demo\src\engine\video\context.h
Modified: Allacrost\demo\src\engine\video\effects.cpp
Modified: Allacrost\demo\src\engine\video\gui.cpp
Modified: Allacrost\demo\src\engine\video\gui.h
Modified: Allacrost\demo\src\engine\video\image.cpp
Modified: Allacrost\demo\src\engine\video\image.h
Modified: Allacrost\demo\src\engine\video\image_base.cpp
Modified: Allacrost\demo\src\engine\video\image_base.h
Modified: Allacrost\demo\src\engine\video\interpolator.cpp
Modified: Allacrost\demo\src\engine\video\option.cpp
Modified: Allacrost\demo\src\engine\video\particle_effect.cpp
Modified: Allacrost\demo\src\engine\video\particle_manager.cpp
Modified: Allacrost\demo\src\engine\video\particle_system.cpp
Modified: Allacrost\demo\src\engine\video\text.cpp
Modified: Allacrost\demo\src\engine\video\textbox.cpp
Modified: Allacrost\demo\src\engine\video\textbox.h
Modified: Allacrost\demo\src\engine\video\texture.cpp
Modified: Allacrost\demo\src\engine\video\texture.h
Modified: Allacrost\demo\src\engine\video\texture_controller.cpp
Modified: Allacrost\demo\src\engine\video\texture_controller.h
Modified: Allacrost\demo\src\engine\video\video.cpp
Modified: Allacrost\demo\src\global\global.cpp
Modified: Allacrost\demo\src\global\global_actors.cpp
Modified: Allacrost\demo\src\global\global_actors.h
Modified: Allacrost\demo\src\global\global_objects.cpp
Modified: Allacrost\demo\src\global\global_objects.h
Modified: Allacrost\demo\src\global\global_skills.cpp
Modified: Allacrost\demo\src\main.cpp
Modified: Allacrost\demo\src\main_options.cpp
Modified: Allacrost\demo\src\main_options.h
Modified: Allacrost\demo\src\modes\battle\battle.cpp
Modified: Allacrost\demo\src\modes\battle\battle.h
Modified: Allacrost\demo\src\modes\battle\battle_actions.cpp
Modified: Allacrost\demo\src\modes\battle\battle_actions.h
Modified: Allacrost\demo\src\modes\battle\battle_actors.cpp
Modified: Allacrost\demo\src\modes\battle\battle_actors.h
Modified: Allacrost\demo\src\modes\battle\battle_windows.cpp
Modified: Allacrost\demo\src\modes\boot\boot.cpp
Modified: Allacrost\demo\src\modes\boot\boot_credits.cpp
Modified: Allacrost\demo\src\modes\boot\boot_credits.h
Modified: Allacrost\demo\src\modes\boot\boot_welcome.cpp
Modified: Allacrost\demo\src\modes\boot\boot_welcome.h
Modified: Allacrost\demo\src\modes\map\map.cpp
Modified: Allacrost\demo\src\modes\map\map.h
Modified: Allacrost\demo\src\modes\map\map_dialogue.cpp
Modified: Allacrost\demo\src\modes\map\map_dialogue.h
Modified: Allacrost\demo\src\modes\map\map_objects.cpp
Modified: Allacrost\demo\src\modes\map\map_sprites.cpp
Modified: Allacrost\demo\src\modes\map\map_sprites.h
Modified: Allacrost\demo\src\modes\pause.cpp
Modified: Allacrost\demo\src\modes\quit.cpp
Modified: Allacrost\demo\src\modes\scene.cpp
Modified: Allacrost\demo\src\modes\scene.h
Modified: Allacrost\demo\src\modes\shop\shop.cpp
Modified: Allacrost\demo\src\modes\shop\shop.h
Modified: Allacrost\demo\src\modes\shop\shop_windows.cpp
Modified: Allacrost\demo\src\modes\shop\shop_windows.h
Modified: Allacrost\demo\src\utils.cpp

Primary Changes
1.) Some header file clean up (tried to remove unnecessary includes, plus tried to structure them according to our dependency chain)
2.) Cleaned up the visual studio files a bit
3.) New files for the editor, beginnings of a skills editor (gorzuate, you'll need to fix up the makefile to include my new files, plus run moc on skill_editor.h)

Misc Notes
> I think i got most of the headers organized in the right order.

EDIT: whoops forgot to add the new editor files to SVN, so they are in 1231
gorzuate
Developer
Posts: 2575
Joined: Wed Jun 16, 2004 9:03 pm
Location: Hermosa Beach, CA
Contact:
Oy

Go Steu!
Roots
Dictator
Posts: 8669
Joined: Wed Jun 16, 2004 12:07 pm
Location: Austin TX
Contact:
Committed Revision 1232.
****************************************************
Files Modified
M src/main_options.cpp
M src/engine/mode_manager.cpp
M src/engine/mode_manager.h
M src/modes/pause.h
M src/modes/shop/shop.cpp
M src/modes/battle/battle.cpp
M src/modes/map/map.cpp
M src/modes/pause.cpp
M src/defs.h
M Makefile.am

Files Deleted
D src/modes/quit.h
D src/modes/quit.cpp

Primary Changes
> Quit mode is now dead (bye, thanks for the memories!). Its code is now integrated in with pause mode. Pause/quit functionality works precisely the same way it always has.
> Updated makefile to remove quit files and add the new skill_editor files.
ChopperDave
Developer
Posts: 543
Joined: Tue Sep 05, 2006 10:07 am
.
Winter Knight
Contributor
Posts: 304
Joined: Fri Sep 21, 2007 6:35 am
Contact:
Committed revsion 1233 + 1234
********************************
Modified files:

* src/engine/input.h

Primary Changes:
* You can press the swap button to swap the selected character.

Minor changes:
* deleted some unused variables from input.h, and removed an unnecessary friend declaration.

Misc:
Right before it was time to commit, I thought of a much better, simpler, solution for syncing the character selection. I haven't implemented it yet.
Roots wrote:Quit mode is now dead (bye, thanks for the memories!).
Thanks for all the fish!
Roots
Dictator
Posts: 8669
Joined: Wed Jun 16, 2004 12:07 pm
Location: Austin TX
Contact:
I've been thinking about retiring this thread and replacing it with a new one since its colossal. The rules for commit log posting are also somewhat different than they were when we first made this thread. We now have Ohloh and CIA monitoring SVN, and we have RSS feeds of SVN commit thanks to these services. What do you guys think?
Winter Knight
Contributor
Posts: 304
Joined: Fri Sep 21, 2007 6:35 am
Contact:
Roots wrote:We now have Ohloh and CIA monitoring SVN
Damn. Those guys really do monitor everything.

I never really thought this thread was useful. But what is Ohloh and CIA, and where are the RSS feeds? Before you retire this thread (if you decide to do so) you should write a little about those here, so anyone who was going to check out this thread knows where to go instead.
Steu
Developer
Posts: 926
Joined: Thu Jan 05, 2006 3:41 pm
Location: Medicine Hat
CIA.vc has a bot that sits in IRC and it monitors our SVN commits, and then posts the info into the IRC channel (it's in #allacrost on freenode). Ohloh just tracks metrics and things for our source code base.

ChopperDave
Developer
Posts: 543
Joined: Tue Sep 05, 2006 10:07 am
Well, I don't check Ohloh or CIA, so this thread is useful to me. I may not always have any of the above options available to me (might be using a public computer to check up on things, and I'm not in the IRC 24/7), whereas to check this thread all I need is internet and a browser.
I never really thought this thread was useful
It is if you're like me and never put logs in your commits before sending them (which I do now) and just log stuff here. Plus, you can go back and edit these posts in case you changed something that you forgot to include in the commit log.
Roots
Dictator
Posts: 8669
Joined: Wed Jun 16, 2004 12:07 pm
Location: Austin TX
Contact:
Well Ohloh also tracks each person's individual commit log. For example here is mine:

http://www.ohloh.net/accounts/2414/positions/2007
(side-note: holy crap, I've modified 93.4 thousand lines in the last 1.2 years? )

I use this a lot when writing my status report, and to find out when I need to get on someone's ass for not being productive enough.

Anyway I don't think we should stop doing this commit log thread completely, because I find it damn useful. If we only used the SVN commit logs, we couldn't have active and public discussions about things in recent commits, which is probably the best purpose of this thread (even though I never intended for these discussions to take place here). For the new commit thread, I vote for the following changes:

1) Remove requirement for stating all files added/modified/removed. This info is easily accessible via the commit log or CIA.

2) Perhaps merge the "Primary/Secondary Changes" category with "Bugs Fixed" somehow. Maybe entries in the changes that fix bugs could be prefixed with (BUG FIXED) to indicate that the change fixes a bug.

Thoughts?
ChopperDave
Developer
Posts: 543
Joined: Tue Sep 05, 2006 10:07 am
I'm gonna keep doing things the way we've always done them b/c that's what works for me.
Winter Knight
Contributor
Posts: 304
Joined: Fri Sep 21, 2007 6:35 am
Contact:
Committed revsion 1233 + 1234
********************************
Modified files:

Primary Changes:
* Fixed bug where the skill list would update when choosing a character to apply a skill to.
Roots
Dictator
Posts: 8669
Joined: Wed Jun 16, 2004 12:07 pm
Location: Austin TX
Contact:
Committed Revision 1238.
****************************************************
Files Modified
M src/global/global_objects.h
M src/global/global_skills.cpp
M src/global/global_skills.h
M src/global/global_objects.cpp
M src/engine/video/text.h
M src/modes/battle/battle_windows.cpp
M src/modes/battle/battle_actions.cpp
M src/modes/map/map_dialogue.cpp
M src/modes/map/map.cpp
M src/modes/pause.cpp

Files Deleted
D src/modes/quit.h
D src/modes/quit.cpp

Primary Changes
> Finished code dependency rewrite. Global code is no longer dependent on any game mode headers
> Finalized all TextStyle class constructors
> Modified code affected by the two changes above accordingly

Miscellaneous Notes
> The way to execute skills and use items is now changed. You retrieve a pointer to the script function to execute (const ScriptObject*) and invoke the call directory (ScriptCallFunction<return_type>(const ScriptObject*, function_args...)). This actually makes our scripting of these functions better, because now you can pass different arguments into the execute/use script functions. For example, think of a potion that can be used on only one character versus all characters in the party:

Code: Select all

void UseItem(GlobalItem* potion) {

if (potion->GetTargetType() == GLOBAL_TARGET_PARTY) {
GlobalCharacterParty* character_party = // grabbed from somewhere
ScriptCallFunction<void>(*script_function, character_party);
}
else { // Use on a single character only
GlobalCharacter* current_character = // grabbed from somewhere
ScriptCallFunction<void>(*script_function, current_character);
}

potion->DecrementCount();
}

See? So now we really can support multiple target types

> I didn't test if item usage or skill execution in menu mode or battle mode still work or not (it should, it wasn't a big change). Didn't have enough time.
ChopperDave
Developer
Posts: 543
Joined: Tue Sep 05, 2006 10:07 am
Why would you do that? The existing execute code worked perfectly fine for parties and didn't requrie any extra classes to be implemented. What you have written just requires more stuff to be implemented and bound to Lua. Plus we have to decrement the item beforehand in battle mode for reasons I explain thoroughly in comments.
Roots
Dictator
Posts: 8669
Joined: Wed Jun 16, 2004 12:07 pm
Location: Austin TX
Contact:
ChopperDave wrote:Why would you do that? The existing execute code worked perfectly fine for parties and didn't requrie any extra classes to be implemented. What you have written just requires more stuff to be implemented and bound to Lua. Plus we have to decrement the item beforehand in battle mode for reasons I explain thoroughly in comments.
Why would I do what? Before you could only pass BattleActor pointers to a skill or item script function. How exactly do you reason that the existing code worked "perfectly fine for parties"? We didn't even have any skills or items that targeted the entire party yet. Doing this was necessary to remove the global code's dependency on battle code, as I explained. And I don't see where your decrement item beforehand comment comes in.

Yes, there is a (very minor) amount of new code that has to be written. But the (necessary) additional flexibility it provides us is well worth the cost.
ChopperDave
Developer
Posts: 543
Joined: Tue Sep 05, 2006 10:07 am
Why would I do what?
Create a party object.
How exactly do you reason that the existing code worked "perfectly fine for parties"?
Well if you had actually looked at the body of the code instead of just the header, you would've seen that the existing code found out who the single selected target was, and if it was an enemy and it was a party item or skill, it simply looped on the enemy array or character array. I'm not arguing against moving away from BattleActors -- I'm just saying the GlobalCharacterParty seems excessive.
Roots
Dictator
Posts: 8669
Joined: Wed Jun 16, 2004 12:07 pm
Location: Austin TX
Contact:
ChopperDave wrote:
Why would I do what?
Create a party object.
Oh okay. Well there's already long been a GlobalParty class, so I really didn't create anything like that in this commit
ChopperDave wrote:
How exactly do you reason that the existing code worked "perfectly fine for parties"?
Well if you had actually looked at the body of the code instead of just the header, you would've seen that the existing code found out who the single selected target was, and if it was an enemy and it was a party item or skill, it simply looped on the enemy array or character array. I'm not arguing against moving away from BattleActors -- I'm just saying the GlobalCharacterParty seems excessive.
Okay that makes sense. But I didn't change any of this loop code at all: it still works exactly as it did before. That's the beauty of this new design: flexibility. You can do it either way.

Although I recommend that you do it by passing in the party instead of looping and calling the script function for every actor. Why you ask? Well, the skill or item is very likely to play a sound when it is used. And if you have 5 enemies you are using an attack skill against, you're going to hear 5 copies of the same sound being played near simultaneously, and it will probably not come out very well.