Commit Graph

1032 Commits

Author SHA1 Message Date
techdragon.nguyen@gmail.com a458da051d refactored how manaredux coding works
replaced literals with constants in some places.
migrated some abilities out of headers and into implementation files.
2010-11-01 13:04:06 +00:00
techdragon.nguyen@gmail.com 149b9efd9f fixed rename bug. rename state was not initialized. 2010-11-01 10:56:20 +00:00
techdragon.nguyen@gmail.com 6c1497bbd5 Revamped Deck Selection Screen using abrasax's design as a template.
TODO:  
     change literals to use constants, 
     refactor the rendering code for the menu to have be leaner.
     add text scroller to list all the tasks. 
         * 1st implementation will list all the tasks.dat  
         * 2nd round will try to get the scroller to only display relevant tasks to ai

Special thanks to wololo and MootPoint for helping me hammer this out.  To abrasax, for the initial design of the layout.
2010-11-01 08:22:55 +00:00
omegablast2002@yahoo.com 2640fc8280 fixed a bug where affinity was not counting when cards were being bounced back to your hand. 2010-10-31 17:24:49 +00:00
omegablast2002@yahoo.com 150c5f4c99 turned the "ai hint" for level up creatures into an MTGAbility.
this fixes a bug(?) that had high priority and maintains same effect as before. removed all traces of the "bugged(?) hint" from CardPrimitive.
Issue: 498
2010-10-31 17:19:20 +00:00
omegablast2002@yahoo.com 777098f763 fixed a bug where CHANGELING was not giving all creature subtypes. Changelings now set creature types in MTGCardInstance::initMTGCI
moved removed it from the setType function of cardprimitive.
Issue: 501
2010-10-31 16:55:05 +00:00
techdragon.nguyen@gmail.com 4cfb266d14 code cleanup: removed commented out code. 2010-10-31 10:12:20 +00:00
wrenczes@gmail.com 5a1e8e6ffe More reorganization work around CardSelector and the singleton pattern. Broke the source for the singleton into its own separate source file, to keep things clean. Also broke apart a circular header dependency: CardSelector defines and uses a SelectorZone, which is a member inside of CardView. CardView in turn is used heavily by CardSelector. Instead SelectorZone is now defined within CardView (where it's set & controlled anyway).
I've also added my current work on the zone navigation system (class Navigator) - it's currently turned off for now (the override for this is inside of CardSelectorSingleton's Instance() call, simply comment out the NEW CardSelector and uncomment out the NEW Navigator line.)  It's functional, but I want to do more testing before considering wiring it into the game options or something similar.  (Also, note that it currently doesn't support the mouse functionality added by DJardin.)

Lastly, there's a bug crash fix in ActionStack that I tripped across while testing - basically, an illegal index value would have us walk off the bounds of a vector.
2010-10-31 07:50:53 +00:00
jean.chalard dfb9d76829 J :
* Fix a broken argument
2010-10-31 07:12:04 +00:00
techdragon.nguyen@gmail.com ab37002fd7 modified text for "Save as AI deck" option
added descriptions for editor menu items
code clean up.
2010-10-30 06:46:58 +00:00
wrenczes@gmail.com a88ea7cb54 Removed some redundant #ifdef win32 includes. (This should have been part of my previous precompiled header changes.) 2010-10-30 05:40:52 +00:00
wrenczes fadd36c0c4 More type conversion warning cleanup; some minor refactoring in the phase bar while I was cleaning up the warnings. 2010-10-28 06:57:34 +00:00
techdragon.nguyen@gmail.com 98627d96ba fixed minor bug with Ai deck saving routine.
fixed psp compilation, changed use of char* to ostringstream for menu text.
2010-10-27 17:26:32 +00:00
techdragon.nguyen@gmail.com cd3ad9b9fd fixed menu size and text information for when saving deck as an AI deck. 2010-10-27 11:24:49 +00:00
techdragon.nguyen@gmail.com 28d3b9b9a9 fixes ai deck saving bug pointed out by Zethfox.
TODO: fix text to the right of the box when saving ai deck.
2010-10-27 03:00:39 +00:00
omegablast2002@yahoo.com fbd5cffbbd taught told Ai bushido is a good thing. laid ground for Foreach lesson for Ai :) fixed yet another reported bug with aslongas. gave becomes( a better menu name system for the manlands to use.
it will now say "becomes [types]"
2010-10-25 14:41:09 +00:00
linshier 60ef07a025 Added basic Japanese font support. 2010-10-24 07:56:28 +00:00
linshier 0ce36747a7 Fixed a compiling error for GCC-4.4.5 2010-10-24 07:34:12 +00:00
wrenczes@gmail.com e74c0fcc7c Moved a few more common shared includes into the precompiled header. 2010-10-24 06:55:40 +00:00
wrenczes d5f3e4cfea Enabled precompiled headers for the build. This cuts the win compile time in debug by at least half on my laptop; on the psp compile, it shaves it down by ~ 45 seconds. I only did a cursory inspection of what to add to PrecompiledHeader.h, there's probably more that we can throw in there for more incremental speed improvements.
Also fixed the project includes so that we don't need to always use the indirect include path, ie:
#include "../include/foo.h" -> #include "foo.h"

I'm don't know much about make files - if I busted the linux build, mea culpa, but I think we're okay on that front too.  For future reference, here's the most straightforward link on the topic of adding pch support to make files:

http://www.mercs-eng.com/~hulud/index.php?2008/06/13/6-writing-a-good-makefile-for-a-c-project
2010-10-24 05:55:24 +00:00
omegablast2002@yahoo.com 8cb1f0cc7c moved the level varible from MTGcard to MTGprimitive. 2010-10-23 23:48:02 +00:00
omegablast2002@yahoo.com a9e4c58af2 taught Ai how to use levelup creatures, taught Ai how to use Equip, taught Ai how to use prevent the cleric ability.
this is by no means absolutely perfect, i like it tho, and makes for some real good times with level up deck built with equips. 

you will notice i added a level=number...to the level up creatures, this has no effect on players, this is just a small hint to the Ai as to when it should stop investing mana in that creature. the chances are a little over half that ai will want to level a creature, increased ever so slightly with each level up.

for equipment, the Ai will now want to equip its best Creature(determined by power+toughness+convertedcost+how many abilities it has) and will want to equip these "better" cards atleast 2 times before it is reduced. same system for prevent damage, it will want to save its "better creature" more then a 1/1 token.

for both tho i added slight bonuses...
to equip, there is a higher chance that the ai will want to target a white creature, with an extra bonus if the creature is a 1/1 and nontoken. this is to encourage Ai to equip in white weenie decks

in prevent, there is a slight bonus if the creature is a 1/1 and the blocker/blockee has a power of 1. 

currently prevent damage treated this way is not coded for direct damage spell, sorry ! but for combat you will notice ai taking a stand and fighting back hard.
2010-10-23 22:34:07 +00:00
omegablast2002@yahoo.com d5ca6b0207 added a few subtypes to exclude from changeling, noticed subtypes that are not true MTG subtypes. in the future can we please try to refrain from making up fake subtypes, for exsample "level" and "levelup" are NOT MTG subtypes 2010-10-22 21:23:47 +00:00
omegablast2002@yahoo.com 165d9df5c9 added a string support to transforms(...cards can now transforms(allsubtypes) or transforms(removesubtypes) 2010-10-22 20:29:55 +00:00
omegablast2002@yahoo.com 32cc74bd93 just a couple comments to say what "basicabilities[55]" is to make it clear. 2010-10-22 17:58:25 +00:00
omegablast2002@yahoo.com 90fb03aba7 finally fixed Changeling abilities= keyword. 2010-10-22 17:45:56 +00:00
omegablast2002@yahoo.com f3449592de Fixed a bug where "Maxglee" cheat was adding token workaround cards to the collection. also, removed subtype search "nothing" from the Wfilters...before anyone jumps on me, there are over 18000s MTG cards, NOT a single ones of those cards have subtype="nothing" or any variations of "nothing" 2010-10-22 14:53:39 +00:00
techdragon.nguyen@gmail.com 1652308bfe added missing file. 2010-10-22 09:33:55 +00:00
techdragon.nguyen@gmail.com 34bdfab36f fixed bug with saving brand new AI decks. 2010-10-22 09:22:25 +00:00
wrenczes@gmail.com e2de03d987 Some organisational prep work before I start working on a new navigation method (ie replacement for CardSelector). The current design was to allocate a CardSelector and pass in its pointer to a variety of classes via their constructors. To simplify things, now we use a singleton style pattern with an Instance() function - this means that when I implement a new class to replace CardSelector, I only need to modify what's returned by the singleton callback - as long as the new pointer class supports the same function calls, it'll be a straight drop-in. 2010-10-22 08:41:44 +00:00
techdragon.nguyen@gmail.com 84004c7c7f added separator to debug output when running test suite. This will visually help
with identifying when a test ends and another begins.
2010-10-22 08:29:47 +00:00
techdragon.nguyen@gmail.com 34335ba2aa added option to save deck in editor as an AI deck.
No option to delete or edit the AI deck once it has been created.
The deck gets saved as the canonical form of the deck to match other AI deck formats.
2010-10-22 08:28:52 +00:00
omegablast2002@yahoo.com 5e34cce734 changed This(equip) to ThisAttacked(gear) and changed varible name also, there was a discovered conflict using these as equip, with the MTGAbility equip 2010-10-21 20:48:39 +00:00
omegablast2002@yahoo.com 34580856d3 untaught Ai how to use prevent until someone with more knowledge then i can look at why the enum list wont allow for it to be listed. its commented out for now, and it works on PC just fine, not perfect but atleast Ai actually trys to keep all their creatures with atleast 1-3 prevent point on them during combat. the probelm it has is with compiling to PSPSDK, it doesnt like having STANDARD_PREVENT = 13, If someone could look into why it would dramatically help Ai using clerics. 2010-10-21 18:44:01 +00:00
omegablast2002@yahoo.com 42dca6dd88 fixed a line that PSPsdk didnt like. 2010-10-21 16:17:27 +00:00
omegablast2002@yahoo.com 18ff503bd9 fixed Ai not using regenerate during combat, taught Ai a little about prevent:number, changed "removepoison" mtgability to "alterpoison" as it made more sense. 2010-10-21 15:52:04 +00:00
omegablast2002@yahoo.com 306fd5e4f7 changed twist to "swap" cause it made more sense, added a couple more menutext returns, change enumerator exilebury to match its const char, this was causing massive confusion amongst the crowd. 2010-10-20 19:30:17 +00:00
wrenczes@gmail.com 7d8eb055e6 Last set of OutputDebugString() -> DebugTrace() conversions. 2010-10-20 04:35:20 +00:00
omegablast2002@yahoo.com 037b5c3598 corrected an issue where basicability modifier was not returning the name but "ability instead..did minor correctsions to some Substr values. 2010-10-19 19:26:46 +00:00
wrenczes@gmail.com d35367503d Modifications required to build against the latest (0.10.0) PSPSDK. Note that this is a breaking change, these mods are not backwards compatible with the 0.8.9 version of the PSPSDK.
To download the latest Minimalist SDK, go here:

http://sourceforge.net/projects/minpspw/
2010-10-19 08:45:36 +00:00
wrenczes@gmail.com 5aa3dc6fd3 Refactoring of some of the font management in WResourceManager. This change looks bigger than it actually is - most of the touched files are simply renaming of some font enums that I moved out of MTGDefinitions into the resource manager header files. The main points of this change: collapsing the font containers into a single map, eliminating duplicated functions, and migrating the font building logic into the resource manager class. GameApp doesn't need to know anything about the fonts it uses, and likewise, font users don't need to know what the name of their chosen font is, just the FONT_TYPE enum.
(I did a cursory check to make sure chinese still displays correctly - at a glance, I'm seeing what looks correct to someone who doesn't read the language :) )
2010-10-19 07:51:32 +00:00
omegablast2002@yahoo.com 98e34c4eca changed some of the ability names as requested, autoformatted ability.cpp as it was getting pretty messy. added @attackedalone( trigger. added "removefromcombat" mtgability. im going on vacation, whoosh :P 2010-10-18 15:56:32 +00:00
wagic.the.homebrew@gmail.com f5575ac68e Erwan
- Updated fix for Dragon Broodmother
2010-10-18 13:33:54 +00:00
omegablast2002@yahoo.com d13e8904b5 massive update, additions and changelog in first comment. 2010-10-18 10:46:36 +00:00
wrenczes@gmail.com 211deca011 I'm still planning on a more ambitious navigation mod, but this is a simple interim change to the existing navigation model that allows you to use the up/down keys to navigate directly to an avatar. This means that if you open your card hand & need to cast a spell that targets the enemy avatar, you can simply hit the up key a couple of times instead of navigating left (through potentially a huge number of cards if you're in a long, drawn out match). 2010-10-18 04:01:18 +00:00
wrenczes@gmail.com 832f11c153 Switched the managed JQuad container implementation from a vector to a map. This speeds up the cache lookup time from O(n) to O(log n). Hard to see a noticeable difference on win, but it definitely feels snappier on my psp, for instance, when browsing your library for a card, or your graveyard, etc.
I'm also noticing that the GetQuad(int) variant never seems to get hit, so I suspect that the ID lookup map is redundant.  I left it alone as the JResourceManager base class forces the need for the function; I need to spend more time looking at just how much of JResourceManager we actually use at this point.
2010-10-17 16:54:08 +00:00
omegablast2002@yahoo.com 35fa4d9786 made the fix to color= a fancy loop deal by request of wololo 2010-10-17 13:48:59 +00:00
omegablast2002@yahoo.com 6a81228275 fixed an issue where color= was not setting multiple colors on a card with this line.
Issue: 491
2010-10-17 13:17:27 +00:00
wagic.the.homebrew@gmail.com 8fdb64e9ce Erwan
- adding tests for issue 489 and issue 491
- check for null pointers in Credits.cpp
- Test suite can now select tokens by their name
- Fixed Dragon Broodmothere's token name
2010-10-17 10:21:08 +00:00
wrenczes@gmail.com a7ffe4990b Cleaned up the SimpleMenu drawing routines. I was seeing intermittently weird edge lines on the spades of the menu system, as well as gaps. The code was doing a lot of hacky +/- of arbitrary pixel values for the positioning, so I fixed it up to do everything relative to the widths of the pole & the actual spade graphic's size. Also cleaned up the pngs themselves, as they had no need for a transparent pixel rim.
Also moved some static value definitions used in the drawing code from the class header to a private namespace in the cpp file, as they don't need to be seen by any clients of the class.
2010-10-17 00:20:25 +00:00