Compare commits

...

462 Commits

Author SHA1 Message Date
ShieldBearer 3c5bf35f81 This was SVN commit r10288. 2011-09-16 12:20:18 +00:00
Mythos_Ruler f8443f6ef9 Updated Greek penteconter portrait.
This was SVN commit r10287.
2011-09-15 22:34:40 +00:00
Mythos_Ruler 9aede79908 Fixed tooltip.
This was SVN commit r10286.
2011-09-15 21:46:25 +00:00
historic_bruno b1d98cff04 Fixes in-game music playing (assume filename always contains ogg extension). Fixes #956.
This was SVN commit r10285.
2011-09-15 05:19:36 +00:00
Mythos_Ruler 170fc8e8b0 Changed selection and complete sounds.
This was SVN commit r10284.
2011-09-15 03:56:24 +00:00
Mythos_Ruler 3ce370aadb Walls demo
This was SVN commit r10283.
2011-09-15 03:39:29 +00:00
Mythos_Ruler 8e0a4557ed Fixed shields for Carth spearman.
This was SVN commit r10282.
2011-09-14 23:34:34 +00:00
WhiteTreePaladin 45aedb2874 Should fix the music errors in Atlas (related to #956) thanks to Ben's suggestion. I think this should be handled at a lower level, but this should do for now.
This was SVN commit r10281.
2011-09-14 12:46:34 +00:00
historic_bruno da94100582 Fixes Jubot mills facing the wrong direction.
This was SVN commit r10280.
2011-09-14 03:08:05 +00:00
WhiteTreePaladin aba6a7f118 Reorder dialog buttons for consistency
This was SVN commit r10279.
2011-09-14 00:43:19 +00:00
historic_bruno d4ffe7c887 Adds Alpha number and name to main menu. Fixes #955.
Inverts (i)nfo button sprites.
Shrinks tooltip box so it doesn't obstruct the background.

This was SVN commit r10278.
2011-09-13 23:58:16 +00:00
Mythos_Ruler 4d40c8dc7d Berry bush updates.
This was SVN commit r10276.
2011-09-13 23:32:12 +00:00
historic_bruno c3075c8e5b Fixes AI building angles to face bottom right corner of the map.
Cleans up the same concept in random maps.

This was SVN commit r10275.
2011-09-13 22:51:43 +00:00
OmriLahav d63e9eaef4 This was SVN commit r10274. 2011-09-13 16:28:40 +00:00
ShieldBearer cbc1198f19 This was SVN commit r10273. 2011-09-13 15:49:25 +00:00
WhiteTreePaladin b65b7d95e7 Make the progress bar finish early so that the user can actually see it finish. Display percent progress rather than details.
This was SVN commit r10272.
2011-09-13 12:24:13 +00:00
ShieldBearer 348fa3347c This was SVN commit r10271. 2011-09-13 08:32:34 +00:00
Mythos_Ruler e219bb5832 Different decal
This was SVN commit r10270.
2011-09-13 04:56:46 +00:00
WhiteTreePaladin 95d36130e4 Gave more room to chat portion of game setup screen. If we need more room for player slots later, we can always take some from the chat space.
This was SVN commit r10268.
2011-09-13 02:02:36 +00:00
WhiteTreePaladin c362ce0565 Convert spaces to tabs in main menu files
This was SVN commit r10267.
2011-09-13 01:28:49 +00:00
Mythos_Ruler a69f957c86 More entity tweaks. Alexander and Cretan Archer.
This was SVN commit r10266.
2011-09-13 01:13:29 +00:00
Mythos_Ruler 8a3318240f Updated tooltips.
This was SVN commit r10265.
2011-09-13 01:08:50 +00:00
WhiteTreePaladin 7e6098a19f Remove exit button from corner of main menu screen
This was SVN commit r10264.
2011-09-13 01:06:29 +00:00
WhiteTreePaladin 97e4f0fd5d Update alpha version label, change default single player map, update scripts music system
This was SVN commit r10263.
2011-09-13 00:45:33 +00:00
Pureon eb5a83fc8f New Carthaginian camel trader
This was SVN commit r10262.
2011-09-12 23:58:11 +00:00
Mythos_Ruler 782bf32e53 This was SVN commit r10261. 2011-09-12 23:35:48 +00:00
Mythos_Ruler bf8a0bda32 Berry Bushes texture
This was SVN commit r10260.
2011-09-12 22:47:09 +00:00
Mythos_Ruler e9d7aa1879 Tweaked the female building animation speed.
This was SVN commit r10259.
2011-09-12 20:46:20 +00:00
fcxSanya eccf787ec8 Fix test for GuiInterface. Fixes #957.
This was SVN commit r10258.
2011-09-12 14:57:58 +00:00
ShieldBearer 6629323f8d This was SVN commit r10257. 2011-09-12 10:47:33 +00:00
WhiteTreePaladin b1247e77cd fix start/stop music in settings, double ingame menu speed
This was SVN commit r10256.
2011-09-12 02:21:20 +00:00
WhiteTreePaladin b50fa144f3 The underlying sound system needs some work, so just get scripts sound working better.
This was SVN commit r10255.
2011-09-11 22:42:40 +00:00
Pureon 9c66b4d4f3 Cart scout tower model updates
This was SVN commit r10254.
2011-09-11 19:44:28 +00:00
Pureon c198e27e89 Updates to Cart civ centre and wall tower
This was SVN commit r10253.
2011-09-11 19:16:10 +00:00
OmriLahav f21eb03bf2 This was SVN commit r10252. 2011-09-11 17:46:26 +00:00
ShieldBearer bdc1946dc3 This was SVN commit r10251. 2011-09-11 14:08:48 +00:00
ShieldBearer cccfaecdfe This was SVN commit r10250. 2011-09-11 13:30:16 +00:00
WhiteTreePaladin be69735582 Trying to clean up music in the scripts. It is still broken.
This was SVN commit r10249.
2011-09-11 03:30:41 +00:00
Mythos_Ruler 7d95a68a20 This was SVN commit r10248. 2011-09-11 03:06:59 +00:00
janwas 80df13f47b add support for recursive mutex on windows; ensure h_mgr uses them (pthread doesnt guarantee default type is recursive)
This was SVN commit r10247.
2011-09-10 22:51:51 +00:00
Mythos_Ruler 579f1acb6f A couple of new loading screen "tips."
This was SVN commit r10246.
2011-09-10 22:08:44 +00:00
Mythos_Ruler 424410ea07 Some portrait updates.
This was SVN commit r10245.
2011-09-10 21:27:51 +00:00
Mythos_Ruler 96787667cb Scorpio tweaks
This was SVN commit r10244.
2011-09-10 20:17:24 +00:00
janwas 78fe8e1e62 h_mgr: fix simple double-free warning triggered at shutdown when an object's child was freed AND the all objects were forcibly freed (complicated by the fact that the pool allocator overwrites freed storage, which made this appear to be a tag conflict).
fixes #860, #915, #920

This was SVN commit r10243.
2011-09-10 20:04:01 +00:00
Mythos_Ruler f7a7e9765a Moved Roman Scorpion to Public as an Alpha 7 Easter Egg.
This was SVN commit r10242.
2011-09-10 19:38:29 +00:00
Mythos_Ruler 7e3ca5516f Projectile work on Carth Ballista actor.
This was SVN commit r10241.
2011-09-10 19:27:36 +00:00
Pureon 7c0c044fa8 Kart ballista shifted root, smoothed some faces, uv edits
This was SVN commit r10240.
2011-09-10 09:34:50 +00:00
WhiteTreePaladin db137737ba Because we don't randomly change to new tracks and some of the existing ambient ones are too annoying if played constantly, we'll just set a default for now.
This was SVN commit r10239.
2011-09-10 01:49:30 +00:00
Mythos_Ruler d2adbca5c6 Updated shrouds texture.
This was SVN commit r10238.
2011-09-09 20:00:21 +00:00
ShieldBearer a4bf03996b This was SVN commit r10237. 2011-09-09 09:55:22 +00:00
ShieldBearer 5233e4c0a7 This was SVN commit r10236. 2011-09-09 09:25:24 +00:00
Mythos_Ruler f2de3ea2ee Tweaked death anim speeds.
This was SVN commit r10235.
2011-09-09 01:24:47 +00:00
Mythos_Ruler 2f1f528f1c Capes for Gallic mercenary swordsmen
This was SVN commit r10234.
2011-09-09 01:12:32 +00:00
historic_bruno 0eeffd05bd Adds max player population to sim state, based on patch from quantumstate. Fixes #951.
This was SVN commit r10233.
2011-09-09 00:45:06 +00:00
historic_bruno b8a375656e Fixes bug in player init (AI is configured by game setup, not always matching map settings).
This was SVN commit r10232.
2011-09-09 00:28:56 +00:00
Pureon 486e002008 Giraffe, infant, lion, lioness death animations
This was SVN commit r10231.
2011-09-08 22:56:01 +00:00
Mythos_Ruler 3082da9be9 Fixed
This was SVN commit r10230.
2011-09-08 21:50:00 +00:00
feneur d5c664e36e # In-game manual updated to mention AI, map filters, and random maps.
This was SVN commit r10229.
2011-09-08 17:21:52 +00:00
Mythos_Ruler 3eb4d73438 This was SVN commit r10228. 2011-09-08 09:13:54 +00:00
ShieldBearer 0e5ef2f2e8 This was SVN commit r10227. 2011-09-08 07:26:20 +00:00
Mythos_Ruler 0a168f8436 This was SVN commit r10226. 2011-09-08 07:09:33 +00:00
ShieldBearer f489e1205a new icons for the embassies
This was SVN commit r10225.
2011-09-08 07:04:46 +00:00
Mythos_Ruler aa6ad53e80 Shroud texture for ships
This was SVN commit r10224.
2011-09-08 07:00:00 +00:00
ShieldBearer 255bb29ab8 This was SVN commit r10223. 2011-09-08 06:00:33 +00:00
ShieldBearer 5f720dcace This was SVN commit r10222. 2011-09-08 05:56:54 +00:00
WhiteTreePaladin 10b94a6741 Until we deal with networked mode, return to main menu after match. Removed some console.write statements.
This was SVN commit r10220.
2011-09-08 04:18:12 +00:00
WhiteTreePaladin bab589e8a3 Tweaked game setup screen options area.
This was SVN commit r10219.
2011-09-08 04:04:04 +00:00
WhiteTreePaladin d22656034e Tweaked summary screen.
This was SVN commit r10218.
2011-09-08 03:59:12 +00:00
WhiteTreePaladin 238792a524 Reworked game setup and loading screens, and adjusted title decoration for some windows.
This was SVN commit r10217.
2011-09-08 03:49:57 +00:00
Mythos_Ruler 19e258d36c Oasis tweaks.
Oasis III with 2 Carthage players.

Updated animations for Italian swordsman.

New portrait for shipyard.png

#Islands random map script.

This was SVN commit r10216.
2011-09-08 03:35:31 +00:00
historic_bruno c12d2ac0be This was SVN commit r10215. 2011-09-08 03:03:08 +00:00
historic_bruno 9e2d97a9c0 Fixes actor viewer button (label didn't update after switching tools).
This was SVN commit r10214.
2011-09-08 03:00:56 +00:00
Mythos_Ruler 06d95fb861 This was SVN commit r10213. 2011-09-08 00:39:57 +00:00
Mythos_Ruler 8fa5e80043 Carthage building names.
This was SVN commit r10212.
2011-09-08 00:20:00 +00:00
WhiteTreePaladin bc59102801 Make menu start out higher so that it is not visible when it is not opened (it appeared as a gold band around menu button)
This was SVN commit r10211.
2011-09-08 00:19:38 +00:00
Pureon b6f1251089 cart mechanical siege ballista xml
This was SVN commit r10210.
2011-09-07 23:43:24 +00:00
Pureon 4332f37462 Siege ballista entity setup
This was SVN commit r10209.
2011-09-07 23:38:44 +00:00
Pureon 2a0c04c930 Fix prop error on cart wall towers
This was SVN commit r10208.
2011-09-07 23:26:18 +00:00
Mythos_Ruler cd3277d101 Maps fix #950.
#New units for Carthage.

This was SVN commit r10206.
2011-09-07 23:01:54 +00:00
historic_bruno e3c3dd1026 Fixes missing template in Bridge Demo map.
This was SVN commit r10205.
2011-09-07 22:04:15 +00:00
Pureon f6120eb8e6 Carthaginian ballista unit
This was SVN commit r10204.
2011-09-07 21:37:14 +00:00
Mythos_Ruler a088a9e3aa This was SVN commit r10203. 2011-09-07 21:26:17 +00:00
janwas 63c7d3d52f fix warning about missing registry key (happens on one system for unknown reasons)
see
http://www.wildfiregames.com/forum/index.php?showtopic=14058&pid=225336&st=50&#entry225336

This was SVN commit r10202.
2011-09-07 19:15:20 +00:00
WhiteTreePaladin 185571845f Renaming cancel button to main menu which makes more sense when returning from a match.
This was SVN commit r10201.
2011-09-07 02:07:38 +00:00
WhiteTreePaladin b65f8ae23a Return to game setup directly from the summary screen. (BFME2 does this; will see if it's any good.)
This was SVN commit r10200.
2011-09-07 02:03:11 +00:00
WhiteTreePaladin 550cac253d Resize stances panel to fit better and move delete command to end of list.
This was SVN commit r10199.
2011-09-07 01:54:08 +00:00
Mythos_Ruler 3f0f1f78fb Portraits for Carthaginian Bireme and Quinquereme.
This was SVN commit r10198.
2011-09-07 01:51:09 +00:00
WhiteTreePaladin 85f60c4d28 New session tooltip colors and some code cleanup.
This was SVN commit r10197.
2011-09-07 01:43:56 +00:00
ryan827 56ce7f7809 Added new sounds for mining and lumbering
- Ryan

This was SVN commit r10196.
2011-09-06 21:43:19 +00:00
ryan827 21c52b5dcd Added new sounds for mining and lumbering
- Ryan

This was SVN commit r10195.
2011-09-06 21:37:49 +00:00
WhiteTreePaladin 7a7ebaa983 Allow ingame menu to reverse, add sounds to all menu buttons, and some organizing and cleanup
This was SVN commit r10194.
2011-09-06 18:15:27 +00:00
Mythos_Ruler 1a76c3b848 Tweaked Sicilia map.
This was SVN commit r10193.
2011-09-06 05:16:44 +00:00
historic_bruno 81191a6ea7 Fixes garrisoned units disappearing when eject occurs too frequently. See #910.
This was SVN commit r10192.
2011-09-06 03:11:16 +00:00
Mythos_Ruler 0210288ef1 Sacred Band Cavalry Easter egg unit. Trainable from the Carthaginian Tophet structure.
This was SVN commit r10191.
2011-09-06 02:15:35 +00:00
historic_bruno 8b33f5cfd2 Fixes UI becoming unresponsive when ordering units to garrison.
This was SVN commit r10190.
2011-09-06 02:06:24 +00:00
Mythos_Ruler e100f7264b This was SVN commit r10189. 2011-09-05 19:10:27 +00:00
ShieldBearer db3deba8dd This was SVN commit r10187. 2011-09-05 10:32:37 +00:00
ShieldBearer d9a56d2765 This was SVN commit r10185. 2011-09-05 04:24:26 +00:00
Mythos_Ruler c4eb410d0d Fixed devotio calling missing texture.
This was SVN commit r10184.
2011-09-04 22:31:13 +00:00
Pureon 5b120012df cart long wall gate upgrade mesh and actor
This was SVN commit r10183.
2011-09-04 12:35:47 +00:00
WhiteTreePaladin cf667d335a Reorganize sound functions, play new defeat music, clean up some tab versus space issues.
This was SVN commit r10182.
2011-09-04 01:54:54 +00:00
ShieldBearer d578f53ee2 This was SVN commit r10181. 2011-09-03 16:30:29 +00:00
ShieldBearer ac76bd6fef Carth Bireme Update
This was SVN commit r10180.
2011-09-03 05:06:36 +00:00
WhiteTreePaladin dfcabe4db3 Adjust main menu background scrolling speed and make submenu use random sounds when opening.
This was SVN commit r10179.
2011-09-03 03:18:40 +00:00
WhiteTreePaladin 8f26bff788 Fix menu and dev commands overlay issue. Add music to Carthage civ file.
This was SVN commit r10177.
2011-09-03 02:12:14 +00:00
Ykkrosh cb7a4f8b1a Hopefully fix replay mode
This was SVN commit r10175.
2011-09-02 23:47:26 +00:00
Mythos_Ruler 33fef3a6fb This was SVN commit r10174. 2011-09-02 22:51:42 +00:00
Mythos_Ruler 832c4d3a57 Added Carthage to Serengeti map. Tweaks to Celt SB and Celtic "Trireme."
This was SVN commit r10173.
2011-09-02 22:10:47 +00:00
Mythos_Ruler cef1c1b69a Some updated portraits.
This was SVN commit r10172.
2011-09-02 21:46:32 +00:00
OmriLahav e0ed496458 This was SVN commit r10170. 2011-09-02 14:45:58 +00:00
historic_bruno 89532feab6 Fixes Atlas file open dialog on OS X (filters not shown by default in wxOSX 2.9).
This was SVN commit r10168.
2011-09-02 02:27:55 +00:00
historic_bruno 706153f8ee This was SVN commit r10167. 2011-09-02 00:40:00 +00:00
historic_bruno e847f5f69e Removes old mapgen scripts.
This was SVN commit r10166.
2011-09-02 00:37:23 +00:00
WhiteTreePaladin 05c5596827 Fix squished menu background and make clicking on background hide the submenu
This was SVN commit r10165.
2011-09-02 00:33:19 +00:00
historic_bruno ec6b9dfc28 Fixes broken color to string conversion in UI. Fixes #939.
This was SVN commit r10164.
2011-09-02 00:24:30 +00:00
Mythos_Ruler 65f3126f04 Fixed the rocks on the left edge of this menu background piece. Just need someone to tweak up the code so it isn't crunched. :)
This was SVN commit r10163.
2011-09-01 21:56:45 +00:00
Mythos_Ruler a28a5ef934 This was SVN commit r10162. 2011-09-01 19:59:07 +00:00
Mythos_Ruler e2ad017092 Carthaginian entity tweaks. Made Super Dock construct biremes and quinqueremes. Adjusted cost and health for embassies. Made the commercial port less expensive.
This was SVN commit r10161.
2011-09-01 19:30:56 +00:00
ShieldBearer 48aabdf177 This was SVN commit r10160. 2011-09-01 11:08:46 +00:00
historic_bruno 90fdd26cf1 Sets default wxFileDialog filters in Atlas.
This was SVN commit r10159.
2011-09-01 04:47:45 +00:00
WhiteTreePaladin d5b8a39fdd Fix misaligned text in dialogs
This was SVN commit r10158.
2011-09-01 03:27:30 +00:00
WhiteTreePaladin 5c7b1d8241 Make pause text larger
This was SVN commit r10157.
2011-09-01 02:54:05 +00:00
WhiteTreePaladin ee0c812b67 Tweaked style of manual and history
This was SVN commit r10156.
2011-09-01 02:49:02 +00:00
WhiteTreePaladin 142bd05380 Menu: removed autohiding, doubled speed, added sound effects. GUI art: changed gold titlebar back to bronze, made progressbar consistent with titlebar. Repositioned start game button.
This was SVN commit r10155.
2011-09-01 02:36:38 +00:00
historic_bruno 1389f11b6e Applies Yves' latest patch for premake4.
Fixes test generation path in XCode and MSVC.
Fixes PCH dependency tracking in GCC. Fixes #903.
Fixes PCH being included in its own input (caused GCC bus error).
Ensures premake4 gets rebuilt on *nix after running clean-workspaces.sh.
Updates Windows premake4 binary.

This was SVN commit r10154.
2011-09-01 01:58:04 +00:00
historic_bruno 1433bd9ad9 Fixes gaia animals without UnitAI (e.g. fish) blocking foundation construction, by destroying them. Fixes #936.
This was SVN commit r10153.
2011-08-31 23:41:55 +00:00
Mythos_Ruler 2d10077581 This was SVN commit r10152. 2011-08-31 16:04:49 +00:00
Mythos_Ruler a267c64ff7 Gold border frame
This was SVN commit r10151.
2011-08-31 15:54:44 +00:00
WhiteTreePaladin 0fe7cd7edc Some small layout alignment tweaks/fixes
This was SVN commit r10150.
2011-08-31 03:23:14 +00:00
WhiteTreePaladin c23497f326 Placing "g_GameEnded = true;" first. (Doesn't really matter, but is more clear.)
This was SVN commit r10149.
2011-08-31 03:13:33 +00:00
WhiteTreePaladin 7d2411e6cb Convert win / loss dialogs to new style.
This was SVN commit r10148.
2011-08-31 03:09:18 +00:00
WhiteTreePaladin 2469fdf8c6 Convert delete dialog to new style. Fixes #937
This was SVN commit r10147.
2011-08-31 02:58:57 +00:00
WhiteTreePaladin 9a00398e24 Converted menu hotkey and ai config to new style. Added basic sliding menus. (Need to evaluate potential performance issues here.)
This was SVN commit r10146.
2011-08-31 02:41:21 +00:00
Mythos_Ruler b48c35c512 After a lot of playtesting, I've adjusted the build limits on the Fortresses and Scout Towers. See if these are 'ok'.
This was SVN commit r10145.
2011-08-31 02:07:35 +00:00
Mythos_Ruler cda3a7eedf Tweaked ship health and Super Dock health.
Disabled <TerritoryDecay> for some miscellaneous things.

This was SVN commit r10144.
2011-08-31 01:08:58 +00:00
historic_bruno 07d48a5c9a Prevents gaia buildings from decaying in enemy territories.
This was SVN commit r10143.
2011-08-30 23:53:34 +00:00
Mythos_Ruler 7429cc2b95 Updated Cart trireme portrait.
Added Carthaginians to map.

This was SVN commit r10142.
2011-08-30 23:28:49 +00:00
EmjeR fd52ec7786 This was SVN commit r10141. 2011-08-30 23:23:51 +00:00
historic_bruno 1ff6d44f9e Fixes promoted entities dropping from control groups, based on patch from gruby. Fixes #859.
This was SVN commit r10140.
2011-08-30 22:29:03 +00:00
EmjeR a9e3368c8b Persian Trireme Updated
This was SVN commit r10139.
2011-08-30 22:24:07 +00:00
Mythos_Ruler 4530b45665 Updated Carth Sandbox.
This was SVN commit r10138.
2011-08-30 21:30:16 +00:00
Pureon 8a096711ae Update to Italian embassy building
This was SVN commit r10137.
2011-08-30 20:14:18 +00:00
Mythos_Ruler 7b4f6dece1 Props for the Iberian embassy.
This was SVN commit r10136.
2011-08-30 05:11:22 +00:00
Mythos_Ruler 05afd7796c Improvements to the Cart Wall entities and to the general wall templates.
Removed pop bonus for embassies.

This was SVN commit r10135.
2011-08-30 00:01:07 +00:00
historic_bruno e8253249a2 Switches Atlas player panel to our custom ColourDialog for consistency.
This was SVN commit r10134.
2011-08-29 22:27:58 +00:00
historic_bruno fc7d303ee4 Adjusts Atlas sidebar and bottombar to look better on different platforms.
This was SVN commit r10133.
2011-08-29 22:12:20 +00:00
Pureon a4fbf46deb Updates to Carthaginian building models
This was SVN commit r10132.
2011-08-29 20:07:26 +00:00
historic_bruno 6366ad728f Fixes Atlas toolbar in wxOSX (only Realize() it after creation).
Fixes terrain preview not displaying first page in wxOSX.
Formats terrain page labels more nicely.
Adds a bunch of tooltips.

This was SVN commit r10131.
2011-08-29 03:50:29 +00:00
WhiteTreePaladin ded514644e Commented out most of old styles.xml and changed references to new styles, outlined tabs in summary, fixed chat color in multiplayer setup
This was SVN commit r10130.
2011-08-28 21:32:35 +00:00
historic_bruno 769a927446 Changes Atlas toolbar construction to use CreateToolBar instead of explicitly setting it (which doesn't work on wxOSX 2.9).
Adds a call to Atlas_GLSetCurrent after setting Atlas resolution on OS X
(otherwise the canvas doesn't seem to update properly).

This was SVN commit r10129.
2011-08-28 21:10:45 +00:00
Mythos_Ruler c1b6b6d76e This was SVN commit r10128. 2011-08-28 19:50:46 +00:00
Mythos_Ruler ce17fc4e3f This was SVN commit r10127. 2011-08-28 19:49:46 +00:00
Pureon ba4de704b0 Carthaginian building updates
This was SVN commit r10126.
2011-08-28 17:44:35 +00:00
ShieldBearer 8c09b777e2 This was SVN commit r10125. 2011-08-28 10:58:12 +00:00
Pureon 3dc491efb7 Updates to Carthaginian buildings
This was SVN commit r10124.
2011-08-28 10:34:39 +00:00
historic_bruno 47e1e23721 Fixes bug on object panel (assert fail when map was loaded before the panel was displayed).
This was SVN commit r10123.
2011-08-28 05:57:09 +00:00
WhiteTreePaladin 4185aa348a change button height from 32 to 28
This was SVN commit r10122.
2011-08-28 03:04:32 +00:00
WhiteTreePaladin ad6c4b6abe removed close button from ingame menu, updated button texture
This was SVN commit r10121.
2011-08-28 02:02:38 +00:00
WhiteTreePaladin ab5d1f8482 Changed size of the manual to be based off of the center of the screen, instead of the edges of the screen.
This was SVN commit r10120.
2011-08-28 01:49:17 +00:00
WhiteTreePaladin 6146d948ad hide yellow border between main menu and submenu
This was SVN commit r10119.
2011-08-28 01:28:50 +00:00
historic_bruno f2b61d2e56 Fixes Atlas canvas on OS X (needs to be shown before setting GL context - fixes invalid drawable error).
This was SVN commit r10118.
2011-08-28 00:28:06 +00:00
historic_bruno cd6ce56632 Fixes some Atlas button layouts with wxWidgets 2.9 (wxGridSizer seems preferable to wxBoxSizer for equally sized buttons).
This was SVN commit r10117.
2011-08-27 23:43:18 +00:00
WhiteTreePaladin 52b73d4445 Make ingame exit button leave the current game rather than exit the entire program
This was SVN commit r10116.
2011-08-27 23:28:12 +00:00
WhiteTreePaladin 0e81ee4f60 Made ingame resource counters use percent-based positioning. Lined up ingame bottom panel textures better. Remove old session dialog sprites.
This was SVN commit r10115.
2011-08-27 23:17:14 +00:00
WhiteTreePaladin e933986351 removed session dialog, updated ingame menu
This was SVN commit r10114.
2011-08-27 22:44:08 +00:00
Pureon e33124631b Projectile nodes added to civ centre mesh
This was SVN commit r10113.
2011-08-27 21:35:34 +00:00
WhiteTreePaladin 3b958b4a1c Fixing yet another problem: make sure the submenu closes if we click a button that doesn't use the submenu
This was SVN commit r10112.
2011-08-27 19:36:55 +00:00
WhiteTreePaladin abda9576b1 Updated panel style and made main menu "x" exit game without confirmation
This was SVN commit r10111.
2011-08-27 19:23:32 +00:00
WhiteTreePaladin ae866e2cb4 Fix typo in tooltip
This was SVN commit r10110.
2011-08-27 18:50:23 +00:00
WhiteTreePaladin e1cb8f6e10 Update main menu buttons tooltip text
This was SVN commit r10109.
2011-08-27 18:46:00 +00:00
WhiteTreePaladin e909567004 Convert most dialogs over to new style
This was SVN commit r10108.
2011-08-27 18:34:54 +00:00
WhiteTreePaladin 2915e9a85e Update submenu code
This was SVN commit r10107.
2011-08-27 15:21:12 +00:00
Ykkrosh 8729d1115d Render territory borders in non-shader render path.
Add basic support for fixed-function implementations of shader API.

This was SVN commit r10106.
2011-08-27 14:31:24 +00:00
ShieldBearer 9d25dad969 This was SVN commit r10105. 2011-08-27 13:18:35 +00:00
Pureon be02410dd4 Updates to cart civ centre and superdock meshes
This was SVN commit r10104.
2011-08-27 11:01:09 +00:00
WhiteTreePaladin fc958db168 moved some buttons to second tier, updated style of history section
This was SVN commit r10103.
2011-08-27 06:20:16 +00:00
historic_bruno 29dc9c3094 Fixes bug in Atlas player panel (AtIter definition must be checked before incrementing).
This was SVN commit r10102.
2011-08-26 22:58:55 +00:00
Mythos_Ruler dace16913f Update to Carthaginian Sandbox
This was SVN commit r10101.
2011-08-26 22:37:02 +00:00
Mythos_Ruler fcc02d85c4 This was SVN commit r10100. 2011-08-26 22:35:07 +00:00
historic_bruno bb77e3a300 Changes player panel spin controls to use default style.
This was SVN commit r10099.
2011-08-26 22:11:30 +00:00
WhiteTreePaladin 53de4a8d5d remove ghost=true to allow clicking on communication buttons
This was SVN commit r10098.
2011-08-26 04:32:53 +00:00
WhiteTreePaladin 9f6f4d8bd1 Beginning of the submenu
This was SVN commit r10097.
2011-08-26 04:25:41 +00:00
WhiteTreePaladin 072751858b polish the alpha version label
This was SVN commit r10096.
2011-08-26 01:56:50 +00:00
historic_bruno 2d1fe050b9 Fixes use of deprecated wxWidgets constants as they don't work on all platforms (only when the library was built with WXWIN_COMPATIBILITY_2_6).
This was SVN commit r10095.
2011-08-26 01:56:14 +00:00
Pureon 9090545852 Scenario only embassy simulation template
This was SVN commit r10094.
2011-08-25 23:43:03 +00:00
Pureon 0a3b120aa8 Basic Italiote embassy mesh placeholder
This was SVN commit r10093.
2011-08-25 23:07:22 +00:00
Pureon b059824b76 Cart embassy updates
This was SVN commit r10092.
2011-08-24 23:14:15 +00:00
Pureon cbebe83b37 Cart celtic embassy update
This was SVN commit r10091.
2011-08-24 21:03:28 +00:00
Mythos_Ruler f9ef989f6d Carthage embassy and unit updates.
Some Barracks cost updates.

This was SVN commit r10090.
2011-08-24 19:30:06 +00:00
janwas 9a53cc1395 __SSE[2]__ didn't work on MSVC/ICC after all; introduce HAVE_SSE[2] instead
This was SVN commit r10089.
2011-08-24 09:23:44 +00:00
WhiteTreePaladin 1890b1df49 Align tags to avoid confusion
This was SVN commit r10088.
2011-08-24 05:12:17 +00:00
WhiteTreePaladin 81121ca1e8 Add alpha warning back
This was SVN commit r10087.
2011-08-24 05:03:11 +00:00
WhiteTreePaladin bf5e94c6e4 Adjusted main menu panel background
This was SVN commit r10086.
2011-08-24 04:35:53 +00:00
WhiteTreePaladin 8a4443e4c7 Update styles to match mockup better
This was SVN commit r10085.
2011-08-24 04:16:37 +00:00
historic_bruno 37dad6eb62 This was SVN commit r10084. 2011-08-24 02:54:31 +00:00
historic_bruno 85336397a3 Don't render neutral territory borders on minimap.
This was SVN commit r10083.
2011-08-24 00:28:48 +00:00
historic_bruno f9dc6d9d69 Removes superfluous test build configuration from premake4.
This was SVN commit r10082.
2011-08-24 00:15:00 +00:00
historic_bruno 60985a3bc9 Fixes training queue behavior when spawning fails due to lack of space (the queue will be blocked). Fixes #893.
Changes training queue to support partial batch success and removal.

This was SVN commit r10081.
2011-08-23 22:43:34 +00:00
Pureon 9e487bac30 Carthaginian embassy buildings update
This was SVN commit r10080.
2011-08-23 21:09:13 +00:00
Ykkrosh 13dc7a9210 Fix non-PCH build
This was SVN commit r10079.
2011-08-23 17:48:06 +00:00
Mythos_Ruler 192107a522 New "standing stone" treasures.
Updated Gallic Fields with Standing Stone treasures.
Updated Celtic Temple to not use the large celt_struct texture. One more
building to go before we can delete this texture forever.

This was SVN commit r10078.
2011-08-23 06:24:05 +00:00
Mythos_Ruler d204180ed0 Road demo map
This was SVN commit r10077.
2011-08-23 04:07:43 +00:00
WhiteTreePaladin 976529d280 Fix size issue with main menu panel shading
This was SVN commit r10076.
2011-08-23 04:01:05 +00:00
WhiteTreePaladin 762aad3be5 Clean up some styles
This was SVN commit r10075.
2011-08-23 03:51:04 +00:00
Mythos_Ruler eb9d5c9f39 This was SVN commit r10074. 2011-08-23 03:38:45 +00:00
Mythos_Ruler 05122a4e80 This was SVN commit r10073. 2011-08-23 03:38:32 +00:00
WhiteTreePaladin dc2b2aeff4 Converted some more screens over
This was SVN commit r10072.
2011-08-23 03:27:13 +00:00
Mythos_Ruler a5a8367ed8 #Temperate stone road decals.
This was SVN commit r10071.
2011-08-23 03:08:18 +00:00
Mythos_Ruler c84d31e298 Cart tophet extra building.
Touched up the smoke particle.

Took territory effect away from Super Dock.

Touched up the Cart temple footprint.

This was SVN commit r10069.
2011-08-23 01:44:01 +00:00
WhiteTreePaladin 605e9f97bf Update chat dialog and some labels in game setup to new style
This was SVN commit r10068.
2011-08-22 23:56:42 +00:00
WhiteTreePaladin 0cd825e552 Converted parts of the game setup dialog and some general GUI elements over to new styles. There are duplicate sprites / textures that will need to be removed later when all references to them are changed.
This was SVN commit r10067.
2011-08-22 23:42:16 +00:00
Pureon f627229294 kart embassy actor and mesh commit
This was SVN commit r10066.
2011-08-22 23:14:07 +00:00
Ykkrosh e13aeee36c Report desktop display size (not just window size)
This was SVN commit r10065.
2011-08-22 22:34:59 +00:00
historic_bruno 27e5581d27 Fixes Atlas player panel getting out of sync with simulation. Fixes #927.
Fixes object panel not being notified of map loading.
Fixes bug where opening a new map before using the player panel
prevented default player data being displayed for new players.
Fixes wxGTK 2.8 bug: wxChoicebook control doesn't update the choice
control when adding/removing pages.
Notifies player that deleting player in Atlas will delete all their
objects (and gives them the option).
Changes DeleteObject to DeleteObjects to support multiple selections.
Implements undo for map resize (experimental).
Removes annoying debug message from attempted undo of map settings.
Tweaks a few Atlas UI controls.

This was SVN commit r10064.
2011-08-22 21:45:39 +00:00
Mythos_Ruler a4dc290c23 Map tweaks.
This was SVN commit r10063.
2011-08-22 19:15:55 +00:00
WhiteTreePaladin da438151f0 adjust border around pre-release warning text
This was SVN commit r10062.
2011-08-22 17:41:46 +00:00
WhiteTreePaladin d9c65c82cf More work on main menu, and added new button style
This was SVN commit r10061.
2011-08-22 17:36:53 +00:00
ShieldBearer 32f68b7a4b This was SVN commit r10060. 2011-08-22 12:10:22 +00:00
janwas ed959b8da7 minor fixes: add missing arena.cpp; add required NONCOPYABLE annotation; fix UNUSED2 to work in the case of references.
This was SVN commit r10059.
2011-08-22 08:54:56 +00:00
WhiteTreePaladin a6f5784c5c Remove junk characters from beginning of Alpha Warning
This was SVN commit r10058.
2011-08-22 04:18:43 +00:00
WhiteTreePaladin f2f0263a3d Made menu panel use a more relative layout to work better with lower resolutions
This was SVN commit r10057.
2011-08-22 04:13:05 +00:00
historic_bruno 9af4851508 Adds few more animation to Atlas actor viewer (promotion, feeding, garrisoned).
This was SVN commit r10056.
2011-08-22 04:11:21 +00:00
Pureon 4bd86230b1 Old Cart civ centre files renamed
This was SVN commit r10055.
2011-08-21 16:10:17 +00:00
Pureon b37185f6db Cart civ centre update
This was SVN commit r10054.
2011-08-21 16:06:20 +00:00
janwas 6c859fc6bb add documentation on pointer types and RESTRICT as per yesterday's meeting
This was SVN commit r10053.
2011-08-21 15:09:09 +00:00
Ykkrosh 509f4387d7 Fix build
This was SVN commit r10052.
2011-08-21 13:10:44 +00:00
janwas 881d3cebf4 lay groundwork for more efficient and flexible allocators. add new sysdep/vm that provides access to additional features on Windows (large pages, autocommit). add Pool/Arena allocators that avoid overhead and support arbitrary storage (not just the expensive virtual memory allocator in DynArray)
This was SVN commit r10051.
2011-08-21 11:00:09 +00:00
janwas 3eb1ed0139 (actually remove)
This was SVN commit r10050.
2011-08-21 10:31:23 +00:00
janwas c26a369762 remove Bucket allocator (superseded by upcoming Arena/Pool with expandable Storage policies)
This was SVN commit r10049.
2011-08-21 10:30:35 +00:00
Mythos_Ruler 1c2472e67a Lowered TerritoryDecay from 20 to 5 (hps).
Disabled territory decay for Docks.

This was SVN commit r10048.
2011-08-21 05:06:05 +00:00
Mythos_Ruler 6368331412 Map tweaks.
This was SVN commit r10047.
2011-08-21 02:13:34 +00:00
Mythos_Ruler d92e74ee51 This was SVN commit r10046. 2011-08-21 01:02:01 +00:00
historic_bruno 730a89152c Fixes typecast performance warning in MSVC.
This was SVN commit r10045.
2011-08-21 00:09:28 +00:00
janwas 5406a68959 feature request by philip: instead of refusing to load textures larger than the OpenGL limit, ensure they have mipmaps (unless it's s3tc, which would be too expensive to recompress) and skip levels until it fits
This was SVN commit r10043.
2011-08-20 17:56:12 +00:00
Ykkrosh 36d897c694 # New menu background image
This was SVN commit r10042.
2011-08-20 17:17:53 +00:00
Mythos_Ruler d05d410b46 thicker mast
This was SVN commit r10041.
2011-08-20 16:17:51 +00:00
Mythos_Ruler 82e044c790 This was SVN commit r10040. 2011-08-20 05:59:25 +00:00
Mythos_Ruler 947efe70d1 #Greek trireme changes.
This was SVN commit r10039.
2011-08-20 05:12:32 +00:00
ShieldBearer 5d116c2b8f This was SVN commit r10038. 2011-08-19 14:27:40 +00:00
Ykkrosh 5f07107609 Fix build with wxWidgets 2.9
This was SVN commit r10037.
2011-08-18 23:38:11 +00:00
Ykkrosh 49af1880f8 Fix tests
This was SVN commit r10035.
2011-08-18 21:12:15 +00:00
Ykkrosh 308cb26dd4 # Health decay for buildings not in a civ center's territory.
This was SVN commit r10034.
2011-08-18 20:28:53 +00:00
Ykkrosh 6b26820090 Build fix
This was SVN commit r10033.
2011-08-18 11:16:52 +00:00
Mythos_Ruler 5c3f3c2e15 This was SVN commit r10032. 2011-08-18 04:05:10 +00:00
historic_bruno 36c6318296 This was SVN commit r10031. 2011-08-18 03:28:32 +00:00
Mythos_Ruler a0fb46b5d6 #3rd new Celtic Market. :)
#Horse fauna entity.

This was SVN commit r10030.
2011-08-18 00:33:22 +00:00
historic_bruno 89c22993a4 Adds terrain fill (bucket) tool to Atlas.
This was SVN commit r10029.
2011-08-17 23:44:52 +00:00
Mythos_Ruler 5a2d7365f9 This was SVN commit r10028. 2011-08-17 21:58:50 +00:00
Ykkrosh b12845e6b4 Avoid shaders on GeForce FX, for performance.
Update list of Intel device names.

This was SVN commit r10027.
2011-08-17 21:42:32 +00:00
Ykkrosh 8872bad668 AoEO BAR compatibility in AoE3Ed
This was SVN commit r10026.
2011-08-17 16:17:22 +00:00
Ykkrosh e8f6be0bf3 Fix GCC build (only reference SIMD types when supported by the compiler (though this might not work in MSVC))
This was SVN commit r10025.
2011-08-17 13:41:25 +00:00
janwas 9f97610cb2 refactor: remove "wrapping" and "read" functionality for DynArray (in preparation for replacing it with template policies for more flexible Pool etc.)
This was SVN commit r10024.
2011-08-17 08:38:53 +00:00
Mythos_Ruler 939f056794 Preliminary work on Roman units.
This was SVN commit r10023.
2011-08-17 07:23:54 +00:00
historic_bruno 7bd2f1c925 Temp fix for autobuild: VC2008 doesn't define hypotf.
This was SVN commit r10021.
2011-08-17 04:34:20 +00:00
historic_bruno 7679d1073b Fixes garrison behavior for ships - they no longer unload units underwater. See #893.
Fixes behavior when ships are destroyed (garrisoned units at the time
will also be killed).
Updates ship templates accordingly.

This was SVN commit r10020.
2011-08-17 01:43:23 +00:00
Ykkrosh b9df1d3451 Be less grossly inefficient when computing minimap territory texture
This was SVN commit r10019.
2011-08-16 23:39:16 +00:00
historic_bruno fab7bf4fcf Fixes manifest dependencies for Actor Editor. Fixes #924.
This was SVN commit r10018.
2011-08-16 22:08:47 +00:00
Ykkrosh 609f1643d5 Fix -Wconversion warnings in simulation code.
Cast to smaller integer types explicitly.
Generally avoid platform-dependent types (size_t) in simulation code.
Use float versions of math.h functions, not double.

This was SVN commit r10017.
2011-08-16 11:18:32 +00:00
Mythos_Ruler b40b5b8414 Adjusting territory effects.
This was SVN commit r10016.
2011-08-16 05:01:35 +00:00
historic_bruno a13f38c9b4 Moves build limits counter to BuildLimits component, to avoid some weirdness with BuildRestrictions for preview entities (caused some warnings in Atlas).
This was SVN commit r10015.
2011-08-16 04:44:15 +00:00
historic_bruno a85c8218e9 Fixes player diplomacy init (again)
This was SVN commit r10014.
2011-08-16 04:03:57 +00:00
Mythos_Ruler ec973ee005 This was SVN commit r10013. 2011-08-16 03:42:42 +00:00
Chakakhan 18c48492ef Added cast to convert from unsigned to int
This was SVN commit r10012.
2011-08-16 02:01:11 +00:00
Chakakhan 0f0ac2bcd5 Fixes #898
This was SVN commit r10011.
2011-08-16 01:01:39 +00:00
Mythos_Ruler cda5dfbf12 New foundation for Hellene dock.
Tweaking warship attacks.

This was SVN commit r10010.
2011-08-15 04:02:01 +00:00
historic_bruno ff85950cb7 Disables build restrictions and limits for AIs (until they can be fixed).
Simplifies player diplomacy/team setup.

This was SVN commit r10008.
2011-08-15 00:25:22 +00:00
historic_bruno 1b8471da1f Changes shore definition to distance on land (all water included) for better dock placement.
Updates build passability classes.
Fixes tile expansion in CheckBuildingPlacement (don't use FromFloat).
Changes dock rotation snapping to search outward.

This was SVN commit r10007.
2011-08-14 23:36:13 +00:00
historic_bruno 132f9bd63b Fixes bug in Atlas random map generator UI.
This was SVN commit r10006.
2011-08-14 06:11:35 +00:00
historic_bruno 7b27fcb716 Disables water rendering in the actor viewer.
This was SVN commit r10005.
2011-08-13 23:00:58 +00:00
historic_bruno 8e5f87f240 Adjusts random map starting entities to face consistent direction.
This was SVN commit r10004.
2011-08-13 00:54:24 +00:00
Mythos_Ruler 5288cda0ba Greek warship sail.
This was SVN commit r10003.
2011-08-12 15:19:48 +00:00
ShieldBearer ecee073860 #New Greek Trireme
This was SVN commit r10002.
2011-08-12 12:08:21 +00:00
Ykkrosh 68fe745eb7 Fix packaging scripts for 5-digit revision numbers
This was SVN commit r10001.
2011-08-11 18:16:00 +00:00
Mythos_Ruler 9be60bf29d Unit texture updates. Getting rid of "high" res texture folder.
This was SVN commit r10000.
2011-08-11 18:11:39 +00:00
Mythos_Ruler e4c6cd8b85 This was SVN commit r9999. 2011-08-11 17:58:08 +00:00
Mythos_Ruler 13705a71e0 cleanup
This was SVN commit r9998.
2011-08-11 17:57:37 +00:00
Mythos_Ruler ca0f54f17a Moving textures.
This was SVN commit r9997.
2011-08-11 17:51:45 +00:00
Mythos_Ruler dc909411a8 This was SVN commit r9996. 2011-08-11 17:46:01 +00:00
Mythos_Ruler d724ff2b69 Remove rally point for House (females previous removed)
This was SVN commit r9995.
2011-08-11 06:39:06 +00:00
Mythos_Ruler a681ff1189 Projectile prop point work for Civic Centres and Fortresses.
New foundation for Iberian Dock.

This was SVN commit r9994.
2011-08-11 03:48:52 +00:00
Mythos_Ruler 26e249797f Removed legacy description.
This was SVN commit r9993.
2011-08-11 01:45:36 +00:00
Mythos_Ruler bcebde9c8e #Unit balancing for Carthaginian unit ranks. Closes #923
This was SVN commit r9992.
2011-08-11 01:41:49 +00:00
historic_bruno e51849b29f Fixes incorrect distance calculation.
Improves dock foundation snapping.

This was SVN commit r9991.
2011-08-10 23:57:54 +00:00
Mythos_Ruler 19ae44ad17 This was SVN commit r9990. 2011-08-10 23:54:37 +00:00
historic_bruno 819f354cca Removes Devil. Fixes #666.
Adds no_delayload to OpenAL, which has been causing startup problems.

This was SVN commit r9989.
2011-08-10 23:15:40 +00:00
historic_bruno 2726f6ed88 Changes GetFocus to return points above water.
Fixes camera following of boats.

This was SVN commit r9988.
2011-08-10 22:45:55 +00:00
historic_bruno d605e85ae5 Removes ColourTester utility (needs update-workspaces).
Adds busy cursor to Atlas map generator.

This was SVN commit r9987.
2011-08-10 22:23:35 +00:00
Mythos_Ruler 6d2ff5162e Made female only trainable from the Civ Centre, then made them train faster. This is a test to see what everybody thinks.
This was SVN commit r9986.
2011-08-09 23:10:05 +00:00
Mythos_Ruler 5fd0d3b543 New foundation for Carth Market.
This was SVN commit r9985.
2011-08-09 23:05:54 +00:00
fcxSanya 0adcad8662 Change promoted unit health to the same percent of hitpoints as unit had before promotion. Closes #922.
This was SVN commit r9984.
2011-08-09 18:42:21 +00:00
Mythos_Ruler c513b5e35e Foundation for the Super Dock. Updated Carthaginians Sandbox demo map.
This was SVN commit r9983.
2011-08-09 18:20:31 +00:00
historic_bruno a02eb067f4 Makes Carthaginians selectable in game setup and random maps
This was SVN commit r9982.
2011-08-08 20:13:11 +00:00
ShieldBearer 0952fa879c This was SVN commit r9981. 2011-08-08 07:13:58 +00:00
Mythos_Ruler 511a36e45a This was SVN commit r9980. 2011-08-08 02:44:41 +00:00
Mythos_Ruler ed3d4c5197 A couple of dock foundations. Tweaked some Carth dock stuff.
This was SVN commit r9979.
2011-08-08 02:38:32 +00:00
historic_bruno 4a2adece07 Fixes class types for Atlas pathfinding overlay
This was SVN commit r9978.
2011-08-08 01:04:18 +00:00
Mythos_Ruler 065e13b4d5 Pikemen walk at 6.0 now.
This was SVN commit r9977.
2011-08-07 19:25:59 +00:00
Pureon 5570126bca Carthaginian dock and superdock files.
This was SVN commit r9976.
2011-08-07 10:46:18 +00:00
Mythos_Ruler 336c938296 Beefed walking speeds.
This was SVN commit r9974.
2011-08-07 06:17:59 +00:00
Mythos_Ruler 633c366847 Roman Arch
This was SVN commit r9973.
2011-08-07 03:03:06 +00:00
Ykkrosh b9bd7ff86e Fix signed/unsigned comparison warning
This was SVN commit r9972.
2011-08-06 12:31:48 +00:00
historic_bruno f378e2e651 Implements building restrictions (by terrain, territory, category, and distance). See #41. Fixes #804, #287.
Implements build limits. See #687.
Implements autorotation for dock placement.
Fixes unit spawning to consider terrain passability. See #893.
Adds new passability criteria based on distance from shore.
Updates build restrictions on some templates.
Changes unit spawning search to 4 tiles away from foundation.
Changes garrison/training spawn failure to nicer UI notification.

This was SVN commit r9970.
2011-08-06 08:11:05 +00:00
ShieldBearer 76e6b04c71 Greek Trireme Model
This was SVN commit r9969.
2011-08-06 08:04:33 +00:00
Mythos_Ruler c5b512584a New kart roof tile color.
This was SVN commit r9967.
2011-08-05 07:42:48 +00:00
Mythos_Ruler 52eabed63d Resized the carthaginian trade ship. Tweaked its texture color. Added cargo prop.
This was SVN commit r9966.
2011-08-05 04:43:54 +00:00
Mythos_Ruler fc5c998dc6 Some updates to Necropolis--trees and such.
This was SVN commit r9965.
2011-08-04 22:40:10 +00:00
Ykkrosh 81c9a9b1f1 Fix build with old GCC
This was SVN commit r9964.
2011-08-04 21:36:57 +00:00
Mythos_Ruler 93125e29d4 This was SVN commit r9963. 2011-08-04 19:15:24 +00:00
janwas 083e7a41fd fix typo
This was SVN commit r9962.
2011-08-04 17:27:14 +00:00
janwas 0748c5a75e cleanup and simplification of the really old h_mgr code.
replace array-of-pages data structure with demand-committed VM => allows
simple allocation of new resources without having to search for the
first free index. I suspect the cause of multiple reported bugs (refs
#860, #899, #915) was a race. Most issues are fixed, but the pool's
freelist also needs to be made thread-safe and lock-free. this has
performance and 64-bit portability implications, so I'll leave it for
later (Pool is due for some serious refactoring anyway).

please post a comment if this or similar issues persist.

This was SVN commit r9961.
2011-08-04 17:11:16 +00:00
janwas 22191bfcc6 Windows fix (smaller type conversion)
This was SVN commit r9960.
2011-08-04 15:31:01 +00:00
Mythos_Ruler fad5182d6c This was SVN commit r9959. 2011-08-04 00:51:33 +00:00
Mythos_Ruler 9ed3b3f801 Tweaks to the skies textures.
This was SVN commit r9958.
2011-08-04 00:49:54 +00:00
Mythos_Ruler 154bee8f5c More vision adjustments.
This was SVN commit r9957.
2011-08-03 22:57:52 +00:00
Mythos_Ruler 5d992994d4 Territory demo map.
Updated vision ranges and territory ranges for templates.

This was SVN commit r9956.
2011-08-03 01:24:06 +00:00
Ykkrosh 2d662a1228 Add WELL512 RNG
This was SVN commit r9955.
2011-08-02 22:58:10 +00:00
Ykkrosh 94e9a8b459 Fix hang with Boost 1.47
This was SVN commit r9954.
2011-08-02 21:07:58 +00:00
Mythos_Ruler acbb59d982 Some texture and actor updates, specifically in regards to capes.
This was SVN commit r9953.
2011-08-02 02:14:10 +00:00
Ykkrosh 6aeb5c64de # Remove SoD inside territories.
Fix some serialisation issues.

This was SVN commit r9951.
2011-08-01 21:25:12 +00:00
Ykkrosh 9430de3d85 Support TerrainChanged messages in scripts, and report use of unsupported messages
This was SVN commit r9950.
2011-08-01 21:01:06 +00:00
WhiteTreePaladin 7e67e816c9 Add small 'X' exit button to corner
This was SVN commit r9949.
2011-08-01 03:30:13 +00:00
Mythos_Ruler bd3c395d00 This was SVN commit r9948. 2011-08-01 02:46:29 +00:00
WhiteTreePaladin 6bcb3f5695 A very rough attempt at the new main menu style.
This was SVN commit r9947.
2011-08-01 00:41:24 +00:00
Pureon 0401d07659 kart_struct texture update. Updates to civcentre, market, temple models
This was SVN commit r9946.
2011-07-31 16:51:51 +00:00
Ykkrosh 22cf7d4d83 Fix #913 (corrupted map file)
This was SVN commit r9945.
2011-07-31 12:19:06 +00:00
janwas 6304797cbd pool - safely handle zero-sized allocations (fixes #909)
snd_mgr - remove no longer needed hacks for native OpenAL
implementations
test_wdbg_sym.h - belated commit of warning fix

This was SVN commit r9944.
2011-07-31 09:42:57 +00:00
Mythos_Ruler 14fbdb9aae This was SVN commit r9943. 2011-07-31 07:41:34 +00:00
Mythos_Ruler f258ce921d Territory tweaks for structures. Playtest and see what you think.
This was SVN commit r9942.
2011-07-31 04:52:53 +00:00
Mythos_Ruler 0cf9dbf9c6 Cavalry version for the cape. New updated shields for Cart and Samnite units.
This was SVN commit r9941.
2011-07-31 04:41:20 +00:00
Mythos_Ruler f73a44527d Miscellaneous stuff, like Kart Samnite unit stuff, and brand new capes.
This was SVN commit r9940.
2011-07-31 01:42:41 +00:00
Ykkrosh e7ac0926a7 Replace console prefix-search behaviour with more standard history navigation, based on patch by Ross Bearman.
Fixes #906.

This was SVN commit r9939.
2011-07-30 23:06:09 +00:00
fcxSanya 3cc1c7e24e Templates sorting utility. Closes #801.
This was SVN commit r9938.
2011-07-30 20:20:34 +00:00
fcxSanya 328d33b9e9 Simulation templates sorting in internal mod. See #801.
This was SVN commit r9937.
2011-07-30 20:18:21 +00:00
fcxSanya 2ecbfa81c3 Simulation templates sorting. See #801.
This was SVN commit r9936.
2011-07-30 20:09:46 +00:00
ShieldBearer 22f2878c26 This was SVN commit r9935. 2011-07-30 18:34:08 +00:00
Ykkrosh a1f925a378 Fix broken entity reference
This was SVN commit r9934.
2011-07-30 16:40:42 +00:00
Ykkrosh b63cc7b18d Delete seemingly bogus file
This was SVN commit r9933.
2011-07-30 16:38:32 +00:00
Ykkrosh 04ec40259b Use player colours for territory borders in minimap
This was SVN commit r9932.
2011-07-30 12:07:27 +00:00
Ykkrosh 4e4a5fd8a6 Increase territory border thickness
This was SVN commit r9931.
2011-07-30 12:06:07 +00:00
Ykkrosh 8fee3d8ef8 # New territory border rendering.
Add textured line overlay rendering.
Change terrain height calculations to be triangulation-dependent for
improved accuracy.
Add triangulation-dependent terrain normal function.
Support separate S/T wrap modes for textures.
Rename CVector2D_Maths since it no longer conflicts with simulation
CVector2D.
Coalesce freed chunks in vertex buffers, to avoid excessive
fragmentation.
Add some things to help debug vertex buffer allocation a little.

This was SVN commit r9929.
2011-07-30 00:56:45 +00:00
ShieldBearer 239685d754 #New Carthaginian Merchant Ship
This was SVN commit r9927.
2011-07-27 15:23:14 +00:00
Mythos_Ruler e7677a48e2 1 more Samnite shield texture.
This was SVN commit r9926.
2011-07-27 05:32:40 +00:00
Mythos_Ruler 29a178d9d6 Samnite portraits.
This was SVN commit r9925.
2011-07-27 05:06:06 +00:00
Mythos_Ruler 8a400f7b97 #Samnites.
#Greek shield guides.

This was SVN commit r9924.
2011-07-27 04:48:44 +00:00
historic_bruno b892d35fea Removes ConquestCritical token from fauna units, so they don't count against victory. Fixes #911.
This was SVN commit r9923.
2011-07-26 22:26:49 +00:00
Pureon f32beb879b Kart wall and tower testing
This was SVN commit r9922.
2011-07-26 20:13:30 +00:00
Mythos_Ruler 8bc942d271 A bunch of "Samnite" i.e. Italic Cavalry stuff.
This was SVN commit r9921.
2011-07-26 06:35:29 +00:00
Pureon 27e895b1b0 Closed palisade gate
This was SVN commit r9920.
2011-07-25 17:53:05 +00:00
Mythos_Ruler 2a9e7f9449 Unit actor work. Updated some portraits. Started work on a samnite shield, but the collada files are being goofy (looks like the normals are flipped, but they aren't).
This was SVN commit r9919.
2011-07-25 08:56:54 +00:00
Mythos_Ruler 3afbab309a Tweaks to Carth corral.
Made the palisade fort shoot from the proper place.

This was SVN commit r9917.
2011-07-25 01:53:18 +00:00
Mythos_Ruler 713197b98d This was SVN commit r9916. 2011-07-25 00:53:20 +00:00
Pureon 3b70097dbe New palisade Outpost, Watchtower, and Spike structures
This was SVN commit r9915.
2011-07-25 00:10:20 +00:00
Pureon cbbc4e148b Updates to some of the palisade models
This was SVN commit r9914.
2011-07-25 00:00:41 +00:00
Mythos_Ruler 5516f11fc2 This was SVN commit r9913. 2011-07-24 22:20:30 +00:00
Mythos_Ruler 3d9d6bd3dc Greek wall tower shoots from the proper place now.
Tweaks to the black capes.

This was SVN commit r9912.
2011-07-24 22:19:19 +00:00
historic_bruno cdfeeab25f Fixes Atlas non-PCH build.
This was SVN commit r9911.
2011-07-24 21:50:58 +00:00
Pureon c072e8a85d New Kart corral files
This was SVN commit r9910.
2011-07-24 21:42:38 +00:00
historic_bruno f0fe1b0b28 Fixes rmgen to use GetCivData and handle invalid/unfinished civs.
This was SVN commit r9909.
2011-07-24 20:04:04 +00:00
Ykkrosh b2837e2878 Fix compatibility more with Boost 1.47
This was SVN commit r9907.
2011-07-24 11:59:57 +00:00
Ykkrosh 955f94976e # New dynamic territories design
This was SVN commit r9906.
2011-07-24 11:42:35 +00:00
Ykkrosh 78fd3a2ba2 Fix compatibility with Boost 1.47
This was SVN commit r9905.
2011-07-24 11:41:06 +00:00
Mythos_Ruler 2612cd511d This was SVN commit r9904. 2011-07-24 09:18:42 +00:00
Mythos_Ruler 51b99950c4 Thespian Melanochitones.
This was SVN commit r9903.
2011-07-24 08:52:06 +00:00
Mythos_Ruler 18f6d55dc0 #Italic Cavalry stuff.
This was SVN commit r9902.
2011-07-24 05:45:58 +00:00
historic_bruno 813fed5b9e Adds GetCivData to map generator API (to replace the hardcoded starting entities in rmgen).
Adds some starting entities to unfinished civs.

This was SVN commit r9901.
2011-07-24 03:28:18 +00:00
Mythos_Ruler 17d8807566 Touched up some animal stuff. Added Asian elephant entity.
This was SVN commit r9900.
2011-07-23 21:17:16 +00:00
ShieldBearer 3f950d1774 Elven Ship(under the name noldor_ship_trireme)
This was SVN commit r9899.
2011-07-23 10:24:36 +00:00
Mythos_Ruler 44742dd78d #Hannibal updated.
This was SVN commit r9898.
2011-07-22 21:48:35 +00:00
Mythos_Ruler cdd10cf8d2 #New Carthaginian shields.
This was SVN commit r9894.
2011-07-22 06:07:11 +00:00
Mythos_Ruler a32dff97b5 Sail textures.
This was SVN commit r9893.
2011-07-21 23:19:03 +00:00
Mythos_Ruler 7ff8b75c89 Tooltip for Carthaginian Temple.
This was SVN commit r9892.
2011-07-21 05:35:41 +00:00
historic_bruno 153357f640 Replaces architecture-dependent cpuid function with inline GCC assembly. Should fix #670 by eliminating nasm dependency.
This was SVN commit r9891.
2011-07-21 01:44:29 +00:00
Ykkrosh f9d7c1246d # Initial support for territories
This was SVN commit r9889.
2011-07-20 19:48:06 +00:00
Ykkrosh cdbd347466 Fix inconsistent function prototype (fixes #897)
This was SVN commit r9888.
2011-07-20 19:44:31 +00:00
janwas 15df4aa4be OS X fix: if os_cpu_ClockFrequency reports an unknown/invalid value, measure the frequency instead; also avoid reporting invalid freqs in system_info
This was SVN commit r9886.
2011-07-20 08:10:36 +00:00
Ykkrosh ce42cd611a Update release packaging script for recent library changes
This was SVN commit r9884.
2011-07-19 17:30:49 +00:00
historic_bruno 8da2640f5e Fixes no-PCH build
This was SVN commit r9883.
2011-07-19 09:00:15 +00:00
historic_bruno 83f7639ac9 Removes hacks for typed array initialization
This was SVN commit r9882.
2011-07-19 08:52:17 +00:00
Mythos_Ruler b2be81c51f #Mauritanian Archers.
This was SVN commit r9881.
2011-07-19 07:59:32 +00:00
Mythos_Ruler 0b5e959a31 Some updates to Oasis II map.
This was SVN commit r9880.
2011-07-18 23:29:15 +00:00
Mythos_Ruler 8ed6a0b335 This was SVN commit r9879. 2011-07-18 23:07:33 +00:00
Ykkrosh 840a404952 Regenerate makefiles for modified Premake using unmodified Premake, for OS X compatibility
This was SVN commit r9878.
2011-07-18 21:42:41 +00:00
Ykkrosh 708e9cea05 Fix looping of non-streaming sounds
This was SVN commit r9877.
2011-07-18 17:56:17 +00:00
Ykkrosh 9edfe0fbcd Fix clean-workspaces script for new SpiderMonkey
This was SVN commit r9876.
2011-07-18 17:32:07 +00:00
janwas b738f27283 hopefully fix non-Windows build errors
This was SVN commit r9875.
2011-07-18 15:25:48 +00:00
Ykkrosh ead45aa957 Report XML parse errors better in validator tool
This was SVN commit r9874.
2011-07-18 14:57:41 +00:00
Ykkrosh 65d87eaee7 Fix XML error and probable typo
This was SVN commit r9873.
2011-07-18 13:35:29 +00:00
Ykkrosh c33246d603 Fix build errors
This was SVN commit r9872.
2011-07-18 11:10:13 +00:00
janwas 0d23e3f333 post-alpha sync with work.
debug stack trace fixes, remove more asm, change CONTINUE/OK scheme to
OK/ALL_COMPLETE, fix tests

This was SVN commit r9871.
2011-07-18 09:21:56 +00:00
janwas 2d9e473483 fix for non-contiguous APIC IDs within a single package (happens on recent Intel CPUs)
This was SVN commit r9870.
2011-07-18 08:08:06 +00:00
Mythos_Ruler bb3e37725d #Added ranks to Carthaginian units.
#Updated some temperate biome terrain textures.

This was SVN commit r9869.
2011-07-18 06:31:57 +00:00
Mythos_Ruler edb063dbc8 Temporary fishing boat (Greek) and merchant ship (Iberian) for Carthage.
Touched up maps.

This was SVN commit r9868.
2011-07-18 03:48:24 +00:00
Mythos_Ruler af5fad90fa UI Portraits for fauna.
This was SVN commit r9867.
2011-07-18 02:01:33 +00:00
Mythos_Ruler 7c47df6c8e Touched up Mediterranean Coves map.
UI Portrait for Palisades.

This was SVN commit r9866.
2011-07-18 01:18:56 +00:00
Mythos_Ruler 68c978ea75 Additional Cretan Date Palms.
New and Updated UI Portraits.

This was SVN commit r9865.
2011-07-18 00:31:42 +00:00
Mythos_Ruler 37d7769d53 Carthaginian portraits.
This was SVN commit r9864.
2011-07-17 20:09:08 +00:00
janwas aeddb5fb48 avoid warning when running a second instance and Mahaf is enabled
This was SVN commit r9863.
2011-07-17 19:19:33 +00:00
Ykkrosh a31ce6a3ce Fix "hides overloaded virtual function" warnings in Clang
This was SVN commit r9862.
2011-07-17 17:30:07 +00:00
janwas be3eb579d4 fix another cast runtime error
This was SVN commit r9861.
2011-07-17 14:48:23 +00:00
Mythos_Ruler d20582e1dc Slight color correction.
This was SVN commit r9860.
2011-07-17 04:55:25 +00:00
Mythos_Ruler 426bd5561d Added some Cretan Date Palms.
This was SVN commit r9859.
2011-07-17 04:38:13 +00:00
Mythos_Ruler 5eec0485f1 #New Cretan Date Palms.
This was SVN commit r9858.
2011-07-17 04:00:12 +00:00
Ykkrosh ea7f65818a Avoid release-mode-only warning
This was SVN commit r9857.
2011-07-17 01:26:04 +00:00
Mythos_Ruler 7d0b5e2b39 This was SVN commit r9856. 2011-07-17 00:54:57 +00:00
Mythos_Ruler b8819cfe75 Increased walking speed 0.5 for almost all units.
This was SVN commit r9855.
2011-07-17 00:54:39 +00:00
Ykkrosh 2f0bd8d8b0 Upgrade to SpiderMonkey 1.8.5 (fixes #734)
This was SVN commit r9852.
2011-07-16 23:24:14 +00:00
Ykkrosh c7ba150c40 Fix handling of update-workspaces arguments on Windows
This was SVN commit r9849.
2011-07-16 22:17:47 +00:00
Ykkrosh 364f76c5ff Fix rare use of uninitialised values
This was SVN commit r9847.
2011-07-16 19:52:48 +00:00
janwas dd054c8d97 acpi: fix cast error (caught by runtime check)
x86_x64: simplify MSC version check

This was SVN commit r9846.
2011-07-16 17:27:07 +00:00
Mythos_Ruler 4ca278c48f A new skybox.
Moved billboards from Internal to Public.

Gave the Persian trireme 3 banks of oars for testing.

This was SVN commit r9845.
2011-07-16 08:49:49 +00:00
Mythos_Ruler 516b5279a9 This was SVN commit r9844. 2011-07-16 06:01:16 +00:00
Mythos_Ruler 5870b77865 Sicilia complete.
This was SVN commit r9843.
2011-07-16 05:49:35 +00:00
Mythos_Ruler d3da151676 This was SVN commit r9842. 2011-07-16 04:28:49 +00:00
Mythos_Ruler 84608d7001 Palisade "forts" now have ranged attack.
This was SVN commit r9841.
2011-07-16 04:09:12 +00:00
Mythos_Ruler dcc8042e61 A few updated unit portraits.
This was SVN commit r9840.
2011-07-16 03:21:01 +00:00
Mythos_Ruler 9118f5cb98 This was SVN commit r9839. 2011-07-16 03:01:18 +00:00
Mythos_Ruler d86bb7cf73 Gallic Fields, final (I think).
A few more Pine Tree variants.

This was SVN commit r9838.
2011-07-16 02:57:58 +00:00
Ykkrosh 0aba4006cc Fix object path for .asm files in VC200x
This was SVN commit r9837.
2011-07-15 22:48:37 +00:00
Ykkrosh e8e4d37c8d Set up manifest via linkoptions for test executable
This was SVN commit r9836.
2011-07-15 22:45:50 +00:00
Mythos_Ruler 5dd08d3cb0 This was SVN commit r9835. 2011-07-15 22:32:00 +00:00
Mythos_Ruler 1ebc3333b0 Updated Gallic Fields map with new wooden bridge.
Updated Leonidas' running speed.

This was SVN commit r9834.
2011-07-15 22:14:43 +00:00
Ykkrosh b551a744cc Premake4 binary for Windows
This was SVN commit r9833.
2011-07-15 19:01:50 +00:00
Ykkrosh 1e470d37ff Pre-generated Premake4 build files
This was SVN commit r9832.
2011-07-15 18:55:36 +00:00
Ykkrosh befba20acb Fix Makefile dependency generation.
Fix PCH dependency to work with parallel builds.

This was SVN commit r9831.
2011-07-15 18:51:18 +00:00
Ykkrosh 0dc3ae487d Premake4 build scripts for the game, from Yves (plus minor tweaks)
This was SVN commit r9830.
2011-07-15 17:56:57 +00:00
Ykkrosh 76ff2cc83a Non-standard Premake4 patches from Yves (plus minor tweaks).
Add nasm support.
Add cxxtest support.
Some other fixes.

This was SVN commit r9829.
2011-07-15 17:48:21 +00:00
Ykkrosh fcab9e3b5e Import Premake4 source (rev fc0374a03b17), minus samples/ and packages/
This was SVN commit r9828.
2011-07-15 17:32:06 +00:00
Ykkrosh 8eb7af4ac9 Be a bit more robust to build environment changes.
Reduce some module dependencies.
Clean up some unused instantiations.

This was SVN commit r9827.
2011-07-15 13:22:48 +00:00
Mythos_Ruler a3e88e6705 Temperate stone and metal quarries.
Tweaked Thracian animations.

Renamed Celtic Fortress to Gallic Fields.

This was SVN commit r9825.
2011-07-15 05:43:28 +00:00
Mythos_Ruler de2f377ee0 Changed Tholos to Prytaneion.
Sicilia map, still wip.

This was SVN commit r9824.
2011-07-15 00:01:08 +00:00
Mythos_Ruler 486d2854e4 This was SVN commit r9823. 2011-07-14 22:57:48 +00:00
Mythos_Ruler ce7ffb24ff Celtic Fortress is a wip map.
Ship Formations is a mockup showing what I think ship formations should
be.

This was SVN commit r9821.
2011-07-14 20:50:34 +00:00
Ykkrosh ca42649c5b Fix MSVC warning
This was SVN commit r9820.
2011-07-13 19:28:31 +00:00
Ykkrosh f28ae0d427 Disable SDL's DGA mouse support by default, to fix Linux fullscreen mouse sensitivity problems
This was SVN commit r9819.
2011-07-13 17:40:12 +00:00
Ykkrosh 7f74693052 Disable culling of transparent objects in shadows/reflections, to fix trees
This was SVN commit r9818.
2011-07-13 13:51:40 +00:00
Mythos_Ruler f02e67d012 Tweaked Loot values to be roughly 10% of the unit cost. Still seems kinda weird to get Food loot from a corpse.
Shield fixes and tweaks.

Touch-ups to Siwa Oasis.

This was SVN commit r9817.
2011-07-13 08:31:33 +00:00
Mythos_Ruler 5940c64886 All Public scout towers/outposts shoot arrows from the correct spot. :)
This was SVN commit r9816.
2011-07-13 03:10:54 +00:00
Ykkrosh b08e142193 Graphics optimisations and features from eihrul.
Add shadow filtering (PCF) option.
Fix ugly shadow saturation in old lighting mode.
Fix fancy water shader.
Fix camera matrix computation.
Support scissoring of camera frustum.
Optimise vertex skinning.
Inline various matrix functions.
Support filtering of the list of submitted models before a rendering
pass, for more precise culling.
Optimise water renderer (fixes #721, based on patch by ortalo).
Use scissoring when generating reflection/refraction textures.
Skip reflection/refraction texture generation when no water is visible.
Render alpha-blended objects differently (fixes #434).
Reduce shadow swimming effects.

This was SVN commit r9814.
2011-07-12 23:48:05 +00:00
Pureon 5ada37e8fa Wooden bridge edge files
This was SVN commit r9812.
2011-07-12 23:26:31 +00:00
Pureon 6e13e0fa49 Update to palisade wall 3D models
This was SVN commit r9811.
2011-07-12 23:22:03 +00:00
Mythos_Ruler 7a4d86b58f Javelin Updates.
This was SVN commit r9810.
2011-07-12 22:24:52 +00:00
Mythos_Ruler e31e3aa763 Updated Carthaginian scout tower with properly firing projectiles.
This was SVN commit r9808.
2011-07-11 23:29:32 +00:00
Pureon af57bc2262 Palisade spikes template files
This was SVN commit r9807.
2011-07-11 22:51:20 +00:00
Mythos_Ruler e03138ea22 fixed projectiles
This was SVN commit r9806.
2011-07-11 22:15:05 +00:00
Pureon c8c7799528 Palisades committed. Some need obstruction offset
This was SVN commit r9805.
2011-07-11 22:09:57 +00:00
fcxSanya fe878cedc2 Fix promotion element in Carthage units templates
This was SVN commit r9804.
2011-07-11 13:28:47 +00:00
Mythos_Ruler 9c3b41644a Stats tweaks.
This was SVN commit r9803.
2011-07-11 08:10:27 +00:00
Mythos_Ruler 6217522b6f Add lava terrain set to the terrain tabs.
This was SVN commit r9802.
2011-07-11 06:14:55 +00:00
Mythos_Ruler 6396ad950a Updated Demetrius portrait.
This was SVN commit r9801.
2011-07-11 05:01:21 +00:00
Mythos_Ruler 799bc98d86 Moving more Carthage stuff from Internal to Public.
This was SVN commit r9800.
2011-07-11 02:27:06 +00:00
Mythos_Ruler 704ce541ba Move Carthage from Internal to Public.
This was SVN commit r9799.
2011-07-11 02:06:48 +00:00
Mythos_Ruler 6d95933cd7 This was SVN commit r9798. 2011-07-11 01:51:20 +00:00
historic_bruno bb33a259b6 Fixes Atlas build errors on OS X (specifically MacPorts' version of wxWidgets doesn't support constructing wxString with std::wstring)
This was SVN commit r9797.
2011-07-10 21:00:21 +00:00
Pureon 21830623d5 Temporary user interface button sounds
This was SVN commit r9796.
2011-07-10 14:03:41 +00:00
Mythos_Ruler 51c574bcc5 Made the siege tower's status bar bigger.
This was SVN commit r9795.
2011-07-10 06:15:58 +00:00
Mythos_Ruler 0496007f5e Added <GenericNames> to some Greek units.
This was SVN commit r9794.
2011-07-10 06:01:28 +00:00
Mythos_Ruler 73e825f9f7 This was SVN commit r9793. 2011-07-10 05:27:10 +00:00
Mythos_Ruler 0fd79bf9cd Lots of Actor fixes for Carthaginians (animation speeds, props).
Lots of entity fixes that include SelectionGroupName and GenericName
tags.

This was SVN commit r9792.
2011-07-10 05:09:24 +00:00
historic_bruno bfef903c94 Adds hotkey for finding idle warriors (comma). See #792.
Updates finding idle units to be more flexible.
Resets finding idle units when unit is deselected.
Adds Warship class to relevant templates.

This was SVN commit r9791.
2011-07-10 02:11:51 +00:00
Ykkrosh 20ebb2b829 Fix incorrect string type in log message on non-Windows
This was SVN commit r9790.
2011-07-09 18:41:58 +00:00
Mythos_Ruler c964904e1b Carthaginian units actor fixes.
This was SVN commit r9789.
2011-07-09 05:24:33 +00:00
Mythos_Ruler 5169a05237 Fixed something in the description.
This was SVN commit r9787.
2011-07-09 03:00:34 +00:00
2454 changed files with 85534 additions and 17564 deletions
+3 -1
View File
@@ -29,6 +29,7 @@ bpp = 0
fancywater = true
shadows = true
shadowpcf = true
vsync = false
nos3tc = false
@@ -136,7 +137,8 @@ hotkey.cut = "Ctrl+X" ; Cut selected text and copy to the clipboar
; > ENTITY SELECTION
hotkey.selection.add = Shift ; Add units to selection
hotkey.selection.remove = Ctrl ; Remove units from selection
hotkey.selection.idle = Period ; Select next idle unit
hotkey.selection.idleworker = Period ; Select next idle worker
hotkey.selection.idlewarrior = Comma ; Select next idle warrior
hotkey.selection.offscreen = Alt ; Include offscreen units in selection
hotkey.selection.group.select.0 = 0
hotkey.selection.group.save.0 = "Ctrl+0"
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<TerritoryManager>
<ImpassableCost>4</ImpassableCost>
<BorderThickness>0.5</BorderThickness>
<BorderSeparation>0.55</BorderSeparation>
</TerritoryManager>
@@ -1,30 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="100" name="Base">
<animations>
<animation file="biped/cavalryidle.psa" name="Idle" speed="50"/>
<animation file="biped/cavalryidle.psa" name="Walk" speed="50"/>
<animation file="biped/rider_gallop.psa" name="Run" speed="8"/>
<animation event=".5" file="biped/rider_javelin_atk_a.psa" load="0" name="Melee" speed="50"/>
<animation file="cavalry/sword/attack/rider_sword_shield_atk_a.psa" name="gather_meat" speed="100"/>
<animation file="cavalry/spear/attack/rider_spear_shield_atk_a.psa" name="gather_meat" speed="100"/>
<animation file="biped/rider_sword_death_a.psa" name="death" speed="230"/>
</animations>
<mesh>skeletal/m_tunic_short.dae</mesh>
<props>
<prop actor="props/units/heads/head_numid_all.xml" attachpoint="head"/>
<prop actor="props/units/weapons/jav.xml" attachpoint="r_hand"/>
<prop actor="props/units/weapons/jav.xml" attachpoint="l_hand"/>
<prop actor="props/units/shields/numidian_round_1.xml" attachpoint="shield"/>
</props>
<texture>skeletal/kart_cjv_a_1.dds</texture>
</variant>
</group>
<material>player_trans.xml</material>
</actor>
@@ -1,25 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="100" name="Base">
<animations>
<animation file="biped/cavalryidle.psa" name="Idle" speed="50"/>
<animation file="biped/cavalryidle.psa" name="Walk" speed="50"/>
<animation file="biped/rider_gallop.psa" name="Run" speed="8"/>
<animation event=".5" file="biped/rider_javelin_atk_a.psa" load="0" name="Melee" speed="50"/>
<animation file="cavalry/sword/attack/rider_sword_shield_atk_a.psa" name="gather_meat" speed="100"/>
<animation file="cavalry/spear/attack/rider_spear_shield_atk_a.psa" name="gather_meat" speed="100"/>
<animation file="biped/rider_sword_death_a.psa" name="death" speed="230"/>
</animations>
<mesh>skeletal/m_tunic_short.dae</mesh>
<props>
<prop actor="props/units/heads/head_numid_all.xml" attachpoint="head"/>
<prop actor="props/units/weapons/jav.xml" attachpoint="r_hand"/>
<prop actor="props/units/weapons/jav.xml" attachpoint="l_hand"/>
</props>
<texture>skeletal/kart_cjv_b_1.dds</texture>
</variant>
</group>
<material>player_trans.xml</material>
</actor>
@@ -1,30 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="100" name="Base">
<animations>
<animation file="biped/cavalryidle.psa" name="Idle" speed="50"/>
<animation file="biped/cavalryidle.psa" name="Walk" speed="50"/>
<animation file="biped/rider_gallop.psa" name="Run" speed="8"/>
<animation event=".5" file="biped/rider_javelin_atk_a.psa" load="0" name="Melee" speed="50"/>
<animation file="cavalry/sword/attack/rider_sword_shield_atk_a.psa" name="gather_meat" speed="100"/>
<animation file="cavalry/spear/attack/rider_spear_shield_atk_a.psa" name="gather_meat" speed="100"/>
<animation file="biped/rider_sword_death_a.psa" name="death" speed="230"/>
</animations>
<mesh>skeletal/m_tunic_short.dae</mesh>
<props>
<prop actor="props/units/heads/head_numid_all.xml" attachpoint="head"/>
<prop actor="props/units/weapons/jav.xml" attachpoint="r_hand"/>
<prop actor="props/units/weapons/jav.xml" attachpoint="l_hand"/>
<prop actor="props/units/shields/numidian_round_3.xml" attachpoint="shield"/>
</props>
<texture>skeletal/kart_cjv_e_1.dds</texture>
</variant>
</group>
<material>player_trans.xml</material>
</actor>
@@ -1,33 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="1" name="Base">
<animations>
<animation file="biped/cavalryidle.psa" name="Idle" speed="20"/>
<animation file="biped/cavalryidle.psa" name="Walk" speed="20"/>
<animation file="cavalry/rider_gallop.psa" name="run" speed="8"/>
<animation event="0.5" file="cavalry/spear/attack/rider_spear_shield_atk_a.psa" name="Attack" speed="100"/>
<animation file="cavalry/sword/attack/rider_sword_shield_atk_a.psa" name="gather_meat" speed="100"/>
<animation file="cavalry/spear/attack/rider_spear_shield_atk_a.psa" name="gather_meat" speed="100"/>
<animation file="biped/rider_sword_death_a.psa" name="death" speed="230"/>
</animations>
<mesh>skeletal/m_tunic_short.dae</mesh>
<props>
<prop actor="props/units/heads/head_hele_b.xml" attachpoint="head"/>
<prop actor="props/units/heads/samnite_test.xml" attachpoint="helmet"/>
<prop actor="props/units/weapons/spear.xml" attachpoint="r_hand"/>
<prop actor="props/units/shields/cart_tarantine_a.xml" attachpoint="shield"/>
</props>
</variant>
</group>
<group>
<variant frequency="1" name="pectoral-tripledisc">
<texture>skeletal/kart_csp_a_1.dds</texture>
</variant>
<variant frequency="1" name="pectoral-muscled">
<texture>skeletal/kart_csp_e_1.dds</texture>
</variant>
</group>
<material>player_trans.xml</material>
</actor>
@@ -1,103 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="100" name="Base">
<animations>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="100"/>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="97"/>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="95"/>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="80"/>
<animation event="0.4" file="infantry/javelin/attack/ijv_off_01.psa" load="0" name="Melee" speed="100"/>
<animation file="infantry/general/dude/dudewalk.psa" name="Walk" speed="20"/>
<animation file="infantry/sword/move/run/isw_s_off_01.psa" name="Run" speed="5"/>
<animation file="infantry/sword/move/run/isw_s_def_02.psa" name="Run" speed="10"/>
<animation file="infantry/sword/move/run/isw_s_em_03.psa" name="Run" speed="10"/>
<animation file="infantry/general/dude/dudebuild.psa" name="Build" speed="150"/>
<animation file="infantry/general/forage.psa" name="gather_fruit" speed="50"/>
<animation file="biped/hoe.psa" name="gather_grain" speed="100"/>
<animation file="infantry/general/chop.psa" name="gather_wood" speed="100"/>
<animation file="infantry/general/mine.psa" name="gather_stone" speed="100"/>
<animation file="infantry/general/mine.psa" name="gather_metal" speed="100"/>
<animation file="infantry/general/death/inf_01.psa" name="Death" speed="300"/>
<animation file="infantry/general/death/inf_02.psa" name="Death" speed="300"/>
<animation file="infantry/general/death/inf_03.psa" name="Death" speed="300"/>
<animation file="infantry/general/death/inf_04.psa" name="Death" speed="300"/>
<animation file="infantry/general/death/inf_06.psa" name="Death" speed="300"/>
<animation file="infantry/general/death/inf_07.psa" name="Death" speed="300"/>
</animations>
<mesh>skeletal/m_tunic_long.dae</mesh>
<props>
<prop actor="props/units/heads/head_iber_su1.xml" attachpoint="head"/>
<prop actor="props/units/weapons/jav.xml" attachpoint="r_hand"/>
<prop actor="props/units/weapons/jav.xml" attachpoint="l_hand"/>
<prop actor="props/units/heads/iber_helmet_04.xml" attachpoint="helmet"/>
</props>
<texture>skeletal/kart_ijv_a_1.dds</texture>
</variant>
</group>
<group>
<variant frequency="100" name="Idle"/>
<variant name="Melee">
<props>
<prop actor="props/units/weapons/jav.xml" attachpoint="loaded-r_hand"/>
<prop actor="props/units/weapons/jav_projectile.xml" attachpoint="projectile"/>
<prop attachpoint="r_hand"/>
</props>
</variant>
<variant name="gather_wood">
<props>
<prop actor="" attachpoint="shield"/>
<prop actor="props/units/tools/axe.xml" attachpoint="l_hand"/>
<prop actor="" attachpoint="r_hand"/>
<prop attachpoint="helmet"/>
</props>
</variant>
<variant name="gather_grain">
<props>
<prop actor="" attachpoint="shield"/>
<prop actor="props/units/tools/hoe.xml" attachpoint="l_hand"/>
<prop attachpoint="helmet"/>
</props>
</variant>
<variant name="gather_fruit">
<props>
<prop actor="" attachpoint="shield"/>
<prop actor="" attachpoint="l_hand"/>
<prop actor="props/units/tools/basket.xml" attachpoint="l_leg"/>
<prop attachpoint="helmet"/>
</props>
</variant>
<variant name="gather_stone">
<props>
<prop actor="" attachpoint="shield"/>
<prop actor="props/units/tools/pick.xml" attachpoint="l_hand"/>
<prop actor="" attachpoint="r_hand"/>
<prop attachpoint="helmet"/>
</props>
</variant>
<variant name="gather_metal">
<props>
<prop attachpoint="shield"/>
<prop actor="props/units/tools/pick.xml" attachpoint="l_hand"/>
<prop attachpoint="r_hand"/>
<prop attachpoint="helmet"/>
</props>
</variant>
<variant name="Build">
<props>
<prop actor="" attachpoint="shield"/>
<prop actor="" attachpoint="l_hand"/>
<prop actor="props/units/tools/mallet.xml" attachpoint="r_hand"/>
<prop attachpoint="helmet"/>
<prop attachpoint=""/>
</props>
</variant>
</group>
<material>player_trans.xml</material>
</actor>
@@ -1,95 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="100" name="Base">
<animations>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="100"/>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="97"/>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="95"/>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="80"/>
<animation event="0.4" file="infantry/javelin/attack/ijv_off_01.psa" load="0" name="Melee" speed="100"/>
<animation file="infantry/general/dude/dudewalk.psa" name="Walk" speed="20"/>
<animation file="infantry/sword/move/run/isw_s_off_01.psa" name="Run" speed="5"/>
<animation file="infantry/sword/move/run/isw_s_def_02.psa" name="Run" speed="10"/>
<animation file="infantry/sword/move/run/isw_s_em_03.psa" name="Run" speed="10"/>
<animation file="infantry/general/dude/dudebuild.psa" name="Build" speed="150"/>
<animation file="infantry/general/forage.psa" name="gather_fruit" speed="50"/>
<animation file="biped/hoe.psa" name="gather_grain" speed="100"/>
<animation file="infantry/general/chop.psa" name="gather_wood" speed="100"/>
<animation file="infantry/general/mine.psa" name="gather_stone" speed="100"/>
<animation file="infantry/general/mine.psa" name="gather_metal" speed="100"/>
<animation file="infantry/general/death/inf_01.psa" name="Death" speed="300"/>
<animation file="infantry/general/death/inf_02.psa" name="Death" speed="300"/>
<animation file="infantry/general/death/inf_03.psa" name="Death" speed="300"/>
<animation file="infantry/general/death/inf_04.psa" name="Death" speed="300"/>
<animation file="infantry/general/death/inf_06.psa" name="Death" speed="300"/>
<animation file="infantry/general/death/inf_07.psa" name="Death" speed="300"/>
</animations>
<mesh>skeletal/m_tunic_short.dae</mesh>
<props>
<prop actor="props/units/heads/head_iber_isl_b.xml" attachpoint="head"/>
<prop actor="props/units/weapons/jav.xml" attachpoint="r_hand"/>
<prop actor="props/units/weapons/jav.xml" attachpoint="l_hand"/>
</props>
<texture>skeletal/iber_isw_b_3.dds</texture>
</variant>
</group>
<group>
<variant frequency="100" name="Idle"/>
<variant name="Melee">
<props>
<prop actor="props/units/weapons/jav.xml" attachpoint="loaded-r_hand"/>
<prop actor="props/units/weapons/jav_projectile.xml" attachpoint="projectile"/>
<prop attachpoint="r_hand"/>
</props>
</variant>
<variant name="gather_wood">
<props>
<prop actor="" attachpoint="shield"/>
<prop actor="props/units/tools/axe.xml" attachpoint="l_hand"/>
<prop actor="" attachpoint="r_hand"/>
</props>
</variant>
<variant name="gather_grain">
<props>
<prop actor="" attachpoint="shield"/>
<prop actor="props/units/tools/hoe.xml" attachpoint="l_hand"/>
</props>
</variant>
<variant name="gather_fruit">
<props>
<prop actor="" attachpoint="shield"/>
<prop actor="" attachpoint="l_hand"/>
<prop actor="props/units/tools/basket.xml" attachpoint="l_leg"/>
</props>
</variant>
<variant name="gather_stone">
<props>
<prop actor="" attachpoint="shield"/>
<prop actor="props/units/tools/pick.xml" attachpoint="l_hand"/>
<prop actor="" attachpoint="r_hand"/>
</props>
</variant>
<variant name="gather_metal">
<props>
<prop attachpoint="shield"/>
<prop actor="props/units/tools/pick.xml" attachpoint="l_hand"/>
<prop attachpoint="r_hand"/>
</props>
</variant>
<variant name="Build">
<props>
<prop actor="" attachpoint="shield"/>
<prop actor="" attachpoint="l_hand"/>
<prop actor="props/units/tools/mallet.xml" attachpoint="r_hand"/>
</props>
</variant>
</group>
<material>player_trans.xml</material>
</actor>
@@ -1,102 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="100" name="Base">
<animations>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="100"/>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="97"/>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="95"/>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="80"/>
<animation event="0.4" file="infantry/javelin/attack/ijv_off_01.psa" load="0" name="Melee" speed="100"/>
<animation file="infantry/general/dude/dudewalk.psa" name="Walk" speed="20"/>
<animation file="infantry/sword/move/run/isw_s_off_01.psa" name="Run" speed="5"/>
<animation file="infantry/sword/move/run/isw_s_def_02.psa" name="Run" speed="10"/>
<animation file="infantry/sword/move/run/isw_s_em_03.psa" name="Run" speed="10"/>
<animation file="infantry/general/dude/dudebuild.psa" name="Build" speed="150"/>
<animation file="infantry/general/forage.psa" name="gather_fruit" speed="50"/>
<animation file="biped/hoe.psa" name="gather_grain" speed="100"/>
<animation file="infantry/general/chop.psa" name="gather_wood" speed="100"/>
<animation file="infantry/general/mine.psa" name="gather_stone" speed="100"/>
<animation file="infantry/general/mine.psa" name="gather_metal" speed="100"/>
<animation file="infantry/general/death/inf_01.psa" name="Death" speed="300"/>
<animation file="infantry/general/death/inf_02.psa" name="Death" speed="300"/>
<animation file="infantry/general/death/inf_03.psa" name="Death" speed="300"/>
<animation file="infantry/general/death/inf_04.psa" name="Death" speed="300"/>
<animation file="infantry/general/death/inf_06.psa" name="Death" speed="300"/>
<animation file="infantry/general/death/inf_07.psa" name="Death" speed="300"/>
</animations>
<mesh>skeletal/m_tunic_short.dae</mesh>
<props>
<prop actor="props/units/heads/head_iber_su1.xml" attachpoint="head"/>
<prop actor="props/units/weapons/jav.xml" attachpoint="r_hand"/>
<prop actor="props/units/weapons/jav.xml" attachpoint="l_hand"/>
<prop actor="props/units/heads/celt_helmet_b.xml" attachpoint="helmet"/>
</props>
<texture>skeletal/kart_ijv_e_2.dds</texture>
</variant>
</group>
<group>
<variant frequency="100" name="Idle"/>
<variant name="Melee">
<props>
<prop actor="props/units/weapons/jav.xml" attachpoint="loaded-r_hand"/>
<prop actor="props/units/weapons/jav_projectile.xml" attachpoint="projectile"/>
<prop attachpoint="r_hand"/>
</props>
</variant>
<variant name="gather_wood">
<props>
<prop actor="" attachpoint="shield"/>
<prop actor="props/units/tools/axe.xml" attachpoint="l_hand"/>
<prop actor="" attachpoint="r_hand"/>
<prop attachpoint="helmet"/>
</props>
</variant>
<variant name="gather_grain">
<props>
<prop actor="" attachpoint="shield"/>
<prop actor="props/units/tools/hoe.xml" attachpoint="l_hand"/>
<prop attachpoint="helmet"/>
</props>
</variant>
<variant name="gather_fruit">
<props>
<prop actor="" attachpoint="shield"/>
<prop actor="" attachpoint="l_hand"/>
<prop actor="props/units/tools/basket.xml" attachpoint="l_leg"/>
<prop attachpoint="helmet"/>
</props>
</variant>
<variant name="gather_stone">
<props>
<prop actor="" attachpoint="shield"/>
<prop actor="props/units/tools/pick.xml" attachpoint="l_hand"/>
<prop actor="" attachpoint="r_hand"/>
<prop attachpoint="helmet"/>
</props>
</variant>
<variant name="gather_metal">
<props>
<prop attachpoint="shield"/>
<prop actor="props/units/tools/pick.xml" attachpoint="l_hand"/>
<prop attachpoint="r_hand"/>
<prop attachpoint="helmet"/>
</props>
</variant>
<variant name="Build">
<props>
<prop actor="" attachpoint="shield"/>
<prop actor="" attachpoint="l_hand"/>
<prop actor="props/units/tools/mallet.xml" attachpoint="r_hand"/>
<prop attachpoint="helmet"/>
</props>
</variant>
</group>
<material>player_trans.xml</material>
</actor>
@@ -1,97 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="1" name="Base">
<animations>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="100"/>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="97"/>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="95"/>
<animation file="biped/inf_sword_ready_b.dae" name="Idle" speed="80"/>
<animation file="biped/dudewalk_swordshield.psa" name="walk" speed="18"/>
<animation file="infantry/sword/move/run/isw_s_off_01.psa" name="run" speed="8"/>
<animation event="0.5" file="biped/inf_sling_atk_a.psa" name="melee" speed="150"/>
<animation file="infantry/general/dude/dudebuild.psa" name="Build" speed="150"/>
<animation file="infantry/general/forage.psa" name="gather_fruit" speed="50"/>
<animation file="biped/hoe.psa" name="gather_grain" speed="100"/>
<animation file="infantry/general/chop.psa" name="gather_wood" speed="100"/>
<animation file="infantry/general/mine.psa" name="gather_stone" speed="100"/>
<animation file="infantry/general/mine.psa" name="gather_metal" speed="100"/>
<animation file="infantry/general/death/inf_01.psa" name="Death" speed="300"/>
<animation file="infantry/general/death/inf_02.psa" name="death" speed="300"/>
<animation file="infantry/general/death/inf_03.psa" name="death" speed="300"/>
<animation file="infantry/general/death/inf_04.psa" name="death" speed="300"/>
<animation file="infantry/general/death/inf_06.psa" name="death" speed="300"/>
<animation file="infantry/general/death/inf_07.psa" name="death" speed="300"/>
</animations>
<mesh>skeletal/m_tunic_short.dae</mesh>
<props>
<prop actor="props/units/heads/head_iber_adv.xml" attachpoint="head"/>
<prop actor="props/units/weapons/sling.xml" attachpoint="r_hand"/>
<prop actor="props/units/heads/iber_helmet_02.xml" attachpoint="helmet"/>
</props>
</variant>
</group>
<group>
<variant frequency="1" name="tunic-beige">
<texture>skeletal/iber_isw_b_3.dds</texture>
</variant>
</group>
<group>
<variant frequency="1" name="Idle"/>
<variant name="Melee">
<props>
<prop actor="props/units/weapons/sling.xml" attachpoint="r_hand"/>
</props>
</variant>
<variant name="gather_wood">
<props>
<prop actor="props/units/tools/axe.xml" attachpoint="l_hand"/>
<prop attachpoint="r_hand"/>
<prop attachpoint="shield"/>
</props>
</variant>
<variant name="gather_grain">
<props>
<prop actor="props/units/tools/hoe.xml" attachpoint="l_hand"/>
<prop attachpoint="r_hand"/>
<prop attachpoint="shield"/>
</props>
</variant>
<variant name="gather_fruit">
<props>
<prop actor="props/units/tools/basket.xml" attachpoint="l_leg"/>
<prop attachpoint="r_hand"/>
<prop attachpoint="shield"/>
</props>
</variant>
<variant name="gather_stone">
<props>
<prop actor="props/units/tools/pick.xml" attachpoint="l_hand"/>
<prop attachpoint="r_hand"/>
<prop attachpoint="shield"/>
</props>
</variant>
<variant name="gather_metal">
<props>
<prop actor="props/units/tools/pick.xml" attachpoint="l_hand"/>
<prop attachpoint="shield"/>
<prop attachpoint="r_hand"/>
</props>
</variant>
<variant name="Build">
<props>
<prop actor="props/units/tools/mallet.xml" attachpoint="r_hand"/>
<prop attachpoint="l_hand"/>
<prop attachpoint="shield"/>
</props>
</variant>
</group>
<material>player_trans.xml</material>
</actor>
@@ -1,100 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="1" name="Base">
<animations>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="100"/>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="97"/>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="95"/>
<animation file="biped/inf_sword_ready_b.dae" name="Idle" speed="80"/>
<animation file="biped/dudewalk_swordshield.psa" name="walk" speed="18"/>
<animation file="infantry/sword/move/run/isw_s_off_01.psa" name="run" speed="8"/>
<animation event="0.5" file="biped/inf_sling_atk_a.psa" name="melee" speed="150"/>
<animation file="infantry/general/dude/dudebuild.psa" name="Build" speed="150"/>
<animation file="infantry/general/forage.psa" name="gather_fruit" speed="50"/>
<animation file="biped/hoe.psa" name="gather_grain" speed="100"/>
<animation file="infantry/general/chop.psa" name="gather_wood" speed="100"/>
<animation file="infantry/general/mine.psa" name="gather_stone" speed="100"/>
<animation file="infantry/general/mine.psa" name="gather_metal" speed="100"/>
<animation file="infantry/general/death/inf_01.psa" name="Death" speed="300"/>
<animation file="infantry/general/death/inf_02.psa" name="death" speed="300"/>
<animation file="infantry/general/death/inf_03.psa" name="death" speed="300"/>
<animation file="infantry/general/death/inf_04.psa" name="death" speed="300"/>
<animation file="infantry/general/death/inf_06.psa" name="death" speed="300"/>
<animation file="infantry/general/death/inf_07.psa" name="death" speed="300"/>
</animations>
<mesh>skeletal/m_tunic_short.dae</mesh>
<props>
<prop actor="props/units/heads/head_iber_isl_b.xml" attachpoint="head"/>
<prop actor="props/units/weapons/sling.xml" attachpoint="r_hand"/>
<prop attachpoint=""/>
</props>
</variant>
</group>
<group>
<variant frequency="1" name="tunic-brown">
<texture>skeletal/iber_isl_b_1.dds</texture>
</variant>
<variant frequency="1" name="tunic-beige">
<texture>skeletal/iber_isl_b_2.dds</texture>
</variant>
</group>
<group>
<variant frequency="1" name="Idle"/>
<variant name="Melee">
<props>
<prop actor="props/units/weapons/sling.xml" attachpoint="r_hand"/>
</props>
</variant>
<variant name="gather_wood">
<props>
<prop actor="props/units/tools/axe.xml" attachpoint="l_hand"/>
<prop attachpoint="r_hand"/>
<prop attachpoint="shield"/>
</props>
</variant>
<variant name="gather_grain">
<props>
<prop actor="props/units/tools/hoe.xml" attachpoint="l_hand"/>
<prop attachpoint="r_hand"/>
<prop attachpoint="shield"/>
</props>
</variant>
<variant name="gather_fruit">
<props>
<prop actor="props/units/tools/basket.xml" attachpoint="l_leg"/>
<prop attachpoint="r_hand"/>
<prop attachpoint="shield"/>
</props>
</variant>
<variant name="gather_stone">
<props>
<prop actor="props/units/tools/pick.xml" attachpoint="l_hand"/>
<prop attachpoint="r_hand"/>
<prop attachpoint="shield"/>
</props>
</variant>
<variant name="gather_metal">
<props>
<prop actor="props/units/tools/pick.xml" attachpoint="l_hand"/>
<prop attachpoint="shield"/>
<prop attachpoint="r_hand"/>
</props>
</variant>
<variant name="Build">
<props>
<prop actor="props/units/tools/mallet.xml" attachpoint="r_hand"/>
<prop attachpoint="l_hand"/>
<prop attachpoint="shield"/>
</props>
</variant>
</group>
<material>player_trans.xml</material>
</actor>
@@ -1,98 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="1" name="Base">
<animations>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="100"/>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="97"/>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="95"/>
<animation file="biped/inf_sword_ready_b.dae" name="Idle" speed="80"/>
<animation file="biped/dudewalk_swordshield.psa" name="walk" speed="18"/>
<animation file="infantry/sword/move/run/isw_s_off_01.psa" name="run" speed="8"/>
<animation event="0.5" file="biped/inf_sling_atk_a.psa" name="melee" speed="150"/>
<animation file="infantry/general/dude/dudebuild.psa" name="Build" speed="150"/>
<animation file="infantry/general/forage.psa" name="gather_fruit" speed="50"/>
<animation file="biped/hoe.psa" name="gather_grain" speed="100"/>
<animation file="infantry/general/chop.psa" name="gather_wood" speed="100"/>
<animation file="infantry/general/mine.psa" name="gather_stone" speed="100"/>
<animation file="infantry/general/mine.psa" name="gather_metal" speed="100"/>
<animation file="infantry/general/death/inf_01.psa" name="Death" speed="300"/>
<animation file="infantry/general/death/inf_02.psa" name="death" speed="300"/>
<animation file="infantry/general/death/inf_03.psa" name="death" speed="300"/>
<animation file="infantry/general/death/inf_04.psa" name="death" speed="300"/>
<animation file="infantry/general/death/inf_06.psa" name="death" speed="300"/>
<animation file="infantry/general/death/inf_07.psa" name="death" speed="300"/>
</animations>
<mesh>skeletal/m_tunic_short.dae</mesh>
<props>
<prop actor="props/units/heads/head_iber_basic.xml" attachpoint="head"/>
<prop actor="props/units/weapons/sling.xml" attachpoint="r_hand"/>
<prop actor="props/units/heads/iber_helmet_01.xml" attachpoint="helmet"/>
<prop actor="props/units/shields/iberian_buckler_adv.xml" attachpoint="shield"/>
</props>
</variant>
</group>
<group>
<variant frequency="1" name="tunic-quilted-beige">
<texture>skeletal/iber_isl_e_1.dds</texture>
</variant>
</group>
<group>
<variant frequency="1" name="Idle"/>
<variant name="Melee">
<props>
<prop actor="props/units/weapons/sling.xml" attachpoint="r_hand"/>
</props>
</variant>
<variant name="gather_wood">
<props>
<prop actor="props/units/tools/axe.xml" attachpoint="l_hand"/>
<prop attachpoint="r_hand"/>
<prop attachpoint="shield"/>
</props>
</variant>
<variant name="gather_grain">
<props>
<prop actor="props/units/tools/hoe.xml" attachpoint="l_hand"/>
<prop attachpoint="r_hand"/>
<prop attachpoint="shield"/>
</props>
</variant>
<variant name="gather_fruit">
<props>
<prop actor="props/units/tools/basket.xml" attachpoint="l_leg"/>
<prop attachpoint="r_hand"/>
<prop attachpoint="shield"/>
</props>
</variant>
<variant name="gather_stone">
<props>
<prop actor="props/units/tools/pick.xml" attachpoint="l_hand"/>
<prop attachpoint="r_hand"/>
<prop attachpoint="shield"/>
</props>
</variant>
<variant name="gather_metal">
<props>
<prop actor="props/units/tools/pick.xml" attachpoint="l_hand"/>
<prop attachpoint="shield"/>
<prop attachpoint="r_hand"/>
</props>
</variant>
<variant name="Build">
<props>
<prop actor="props/units/tools/mallet.xml" attachpoint="r_hand"/>
<prop attachpoint="l_hand"/>
<prop attachpoint="shield"/>
</props>
</variant>
</group>
<material>player_trans.xml</material>
</actor>
@@ -1,96 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="1" name="Base">
<animations>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="100"/>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="97"/>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="95"/>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="80"/>
<animation file="biped/walk_spearshield.psa" name="Walk" speed="20"/>
<animation file="infantry/sword/move/run/isw_s_em_03.psa" name="Run" speed="12"/>
<animation file="infantry/sword/move/run/isw_s_def_02.psa" name="Run" speed="12"/>
<animation file="infantry/general/dude/dudebuild.psa" name="Build" speed="150"/>
<animation file="infantry/general/forage.psa" name="gather_fruit" speed="50"/>
<animation file="biped/hoe.psa" name="gather_grain" speed="100"/>
<animation file="infantry/general/chop.psa" name="gather_wood" speed="100"/>
<animation file="infantry/general/mine.psa" name="gather_stone" speed="100"/>
<animation file="infantry/general/mine.psa" name="gather_metal" speed="100"/>
<animation event="0.5" file="biped/inf_spear_shield_atk_b.psa" name="melee" speed="100"/>
<animation event="0.5" file="infantry/sword/attack/isw_s_def_06.psa" name="melee" speed="100"/>
<animation file="infantry/general/dude/dudedeath_sword.psa" name="Death" speed="200"/>
<animation file="infantry/general/death/inf_01.psa" name="Death" speed="300"/>
<animation file="infantry/general/death/inf_02.psa" name="death" speed="300"/>
<animation file="infantry/general/death/inf_03.psa" name="death" speed="300"/>
<animation file="infantry/general/death/inf_04.psa" name="death" speed="300"/>
<animation file="infantry/general/death/inf_06.psa" name="death" speed="300"/>
<animation file="infantry/general/death/inf_07.psa" name="death" speed="300"/>
</animations>
<mesh>skeletal/m_tunic_short.dae</mesh>
<props>
<prop actor="props/units/shields/kart_round_isp_basic.xml" attachpoint="shield"/>
<prop actor="props/units/weapons/spear.xml" attachpoint="r_hand"/>
<prop actor="props/units/heads/head_pers_a.xml" attachpoint="head"/>
<prop actor="props/units/heads/kart_isp_b.xml" attachpoint="helmet"/>
</props>
</variant>
</group>
<group>
<variant frequency="1" name="Liby-Phoenician-Tunic-brown">
<texture>skeletal/kart_isp_b_2.dds</texture>
</variant>
</group>
<group>
<variant frequency="1" name="Idle"/>
<variant name="Melee">
<props>
<prop actor="props/units/weapons/spear.xml" attachpoint="r_hand"/>
<prop actor="props/units/shields/kart_round_isp_basic.xml" attachpoint="shield"/>
</props>
</variant>
<variant name="gather_wood">
<props>
<prop actor="props/units/tools/axe.xml" attachpoint="l_hand"/>
<prop attachpoint="r_hand"/>
<prop attachpoint="shield"/>
</props>
</variant>
<variant name="gather_grain">
<props>
<prop actor="props/units/tools/hoe.xml" attachpoint="l_hand"/>
<prop attachpoint="r_hand"/>
<prop attachpoint="shield"/>
</props>
</variant>
<variant name="gather_fruit">
<props>
<prop actor="props/units/tools/basket.xml" attachpoint="l_leg"/>
<prop attachpoint="r_hand"/>
<prop attachpoint="shield"/>
</props>
</variant>
<variant name="gather_stone">
<props>
<prop actor="props/units/tools/pick.xml" attachpoint="l_hand"/>
<prop attachpoint="r_hand"/>
<prop attachpoint="shield"/>
</props>
</variant>
<variant name="gather_metal">
<props>
<prop actor="props/units/tools/pick.xml" attachpoint="l_hand"/>
<prop attachpoint="r_hand"/>
<prop attachpoint="shield"/>
</props>
</variant>
<variant name="Build">
<props>
<prop actor="props/units/tools/mallet.xml" attachpoint="r_hand"/>
<prop attachpoint="l_hand"/>
<prop attachpoint="shield"/>
</props>
</variant>
</group>
<material>player_trans.xml</material>
</actor>
@@ -1,108 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="1" name="Base">
<animations>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="100"/>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="97"/>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="95"/>
<animation file="biped/inf_sword_ready_b.dae" name="Idle" speed="80"/>
<animation file="biped/walk_spearshield.psa" name="Walk" speed="20"/>
<animation file="infantry/sword/move/run/isw_s_em_03.psa" name="Run" speed="12"/>
<animation file="infantry/sword/move/run/isw_s_def_02.psa" name="Run" speed="12"/>
<animation file="infantry/general/dude/dudebuild.psa" name="Build" speed="150"/>
<animation file="infantry/general/forage.psa" name="gather_fruit" speed="50"/>
<animation file="biped/hoe.psa" name="gather_grain" speed="100"/>
<animation file="infantry/general/chop.psa" name="gather_wood" speed="100"/>
<animation file="infantry/general/mine.psa" name="gather_stone" speed="100"/>
<animation file="infantry/general/mine.psa" name="gather_metal" speed="100"/>
<animation event="0.5" file="biped/inf_spear_shield_atk_b.psa" name="melee" speed="100"/>
<animation event="0.5" file="infantry/sword/attack/isw_s_def_06.psa" name="melee" speed="100"/>
<animation file="infantry/general/dude/dudedeath_sword.psa" name="Death" speed="200"/>
<animation file="infantry/general/death/inf_01.psa" name="Death" speed="300"/>
<animation file="infantry/general/death/inf_02.psa" name="death" speed="300"/>
<animation file="infantry/general/death/inf_03.psa" name="death" speed="300"/>
<animation file="infantry/general/death/inf_04.psa" name="death" speed="300"/>
<animation file="infantry/general/death/inf_06.psa" name="death" speed="300"/>
<animation file="infantry/general/death/inf_07.psa" name="death" speed="300"/>
</animations>
<props>
<prop actor="props/units/shields/kart_round_isp_e.xml" attachpoint="shield"/>
<prop actor="props/units/weapons/spear.xml" attachpoint="r_hand"/>
<prop actor="props/units/heads/kart_isp_e.xml" attachpoint="helmet"/>
<prop actor="props/units/heads/head_pers_a.xml" attachpoint="head"/>
</props>
</variant>
</group>
<group>
<variant frequency="1" name="Liby-Phoenician-Chainmail-1">
<mesh>skeletal/m_tunic_short.dae</mesh>
<texture>skeletal/kart_isp_e_1.dds</texture>
</variant>
</group>
<group>
<variant frequency="1" name="Idle"/>
<variant name="Melee">
<props>
<prop actor="props/units/weapons/spear.xml" attachpoint="r_hand"/>
<prop actor="props/units/shields/kart_round_isp_e.xml" attachpoint="shield"/>
</props>
</variant>
<variant name="gather_wood">
<props>
<prop actor="props/units/tools/axe.xml" attachpoint="l_hand"/>
<prop attachpoint="r_hand"/>
<prop attachpoint="shield"/>
<prop attachpoint="helmet"/>
</props>
</variant>
<variant name="gather_grain">
<props>
<prop actor="props/units/tools/hoe.xml" attachpoint="l_hand"/>
<prop attachpoint="r_hand"/>
<prop attachpoint="shield"/>
<prop attachpoint="helmet"/>
</props>
</variant>
<variant name="gather_fruit">
<props>
<prop actor="props/units/tools/basket.xml" attachpoint="l_leg"/>
<prop attachpoint="r_hand"/>
<prop attachpoint="shield"/>
<prop attachpoint="helmet"/>
</props>
</variant>
<variant name="gather_stone">
<props>
<prop actor="props/units/tools/pick.xml" attachpoint="l_hand"/>
<prop attachpoint="r_hand"/>
<prop attachpoint="shield"/>
<prop attachpoint="helmet"/>
</props>
</variant>
<variant name="gather_metal">
<props>
<prop actor="props/units/tools/pick.xml" attachpoint="l_hand"/>
<prop attachpoint="r_hand"/>
<prop attachpoint="shield"/>
<prop attachpoint="helmet"/>
</props>
</variant>
<variant name="Build">
<props>
<prop actor="props/units/tools/mallet.xml" attachpoint="r_hand"/>
<prop attachpoint="l_hand"/>
<prop attachpoint="shield"/>
<prop attachpoint="helmet"/>
</props>
</variant>
</group>
<material>player_trans.xml</material>
</actor>
@@ -1,127 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="100" name="Base">
<animations>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="100"/>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="97"/>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="95"/>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="80"/>
<animation file="biped/walk_spearshield.psa" name="Walk" speed="20"/>
<animation event="0.5" file="infantry/sword/attack/isw_s_off_05.psa" name="Melee" speed="100"/>
<animation file="infantry/sword/move/run/isw_s_off_01.psa" name="Run" speed="5"/>
<animation file="infantry/sword/move/run/isw_s_def_02.psa" name="Run" speed="10"/>
<animation file="infantry/sword/move/run/isw_s_em_03.psa" name="Run" speed="10"/>
<animation file="infantry/general/dude/dudebuild.psa" name="Build" speed="150"/>
<animation file="infantry/general/forage.psa" name="gather_fruit" speed="50"/>
<animation file="biped/hoe.psa" name="gather_grain" speed="100"/>
<animation file="infantry/general/chop.psa" name="gather_wood" speed="100"/>
<animation file="infantry/general/mine.psa" name="gather_stone" speed="100"/>
<animation file="infantry/general/mine.psa" name="gather_metal" speed="100"/>
<animation file="infantry/general/death/inf_01.psa" name="Death" speed="200"/>
<animation file="infantry/general/death/inf_02.psa" name="Death" speed="200"/>
<animation file="infantry/general/death/inf_03.psa" name="Death" speed="200"/>
<animation file="infantry/general/death/inf_04.psa" name="Death" speed="200"/>
<animation file="infantry/general/death/inf_06.psa" name="Death" speed="200"/>
<animation file="infantry/general/death/inf_07.psa" name="Death" speed="200"/>
</animations>
<mesh>skeletal/m_tights.dae</mesh>
<props>
<prop actor="props/units/heads/head_lime.xml" attachpoint="head"/>
<prop actor="props/units/shields/celt_scutum_a.xml" attachpoint="shield"/>
<prop actor="props/units/weapons/spatha.xml" attachpoint="r_hand"/>
</props>
</variant>
</group>
<group>
<variant frequency="1" name="Tattoos-1">
<mesh>skeletal/m_tights.dae</mesh>
<texture>skeletal/celt_ijv_e_01.dds</texture>
</variant>
<variant frequency="1" name="Tattoos-2">
<mesh>skeletal/m_tights.dae</mesh>
<texture>skeletal/celt_ijv_e_02.dds</texture>
</variant>
<variant frequency="3" name="Tattoos-3">
<mesh>skeletal/m_tights.dae</mesh>
<texture>skeletal/kart_isw_a_01.dds</texture>
</variant>
<variant frequency="3" name="Tattoos-4">
<mesh>skeletal/m_tights.dae</mesh>
<texture>skeletal/kart_isw_a_02.dds</texture>
</variant>
<variant frequency="10" name="Trousers-1">
<mesh>skeletal/m_pants.dae</mesh>
<texture>skeletal/kart_isw_a_03.dds</texture>
</variant>
<variant frequency="10" name="Trousers-2">
<mesh>skeletal/m_pants.dae</mesh>
<texture>skeletal/kart_isw_a_04.dds</texture>
</variant>
<variant frequency="20" name="Trousers-3">
<mesh>skeletal/m_pants.dae</mesh>
<texture>skeletal/kart_isw_a_05.dds</texture>
</variant>
</group>
<group>
<variant frequency="100" name="Idle"/>
<variant name="Melee">
<props>
<prop actor="" attachpoint="l_hand"/>
<prop actor="props/units/shields/celt_scutum_a.xml" attachpoint="shield"/>
<prop actor="props/units/weapons/spatha.xml" attachpoint="r_hand"/>
</props>
</variant>
<variant name="gather_wood">
<props>
<prop actor="" attachpoint="shield"/>
<prop actor="props/units/tools/axe.xml" attachpoint="l_hand"/>
<prop actor="" attachpoint="r_hand"/>
</props>
</variant>
<variant name="gather_grain">
<props>
<prop actor="" attachpoint="shield"/>
<prop actor="props/units/tools/hoe.xml" attachpoint="l_hand"/>
<prop actor="" attachpoint="r_hand"/>
</props>
</variant>
<variant name="gather_fruit">
<props>
<prop actor="" attachpoint="shield"/>
<prop actor="" attachpoint="l_hand"/>
<prop actor="props/units/tools/basket.xml" attachpoint="l_leg"/>
<prop actor="" attachpoint="r_hand"/>
</props>
</variant>
<variant name="gather_stone">
<props>
<prop actor="" attachpoint="shield"/>
<prop actor="props/units/tools/pick.xml" attachpoint="l_hand"/>
<prop actor="" attachpoint="r_hand"/>
</props>
</variant>
<variant name="gather_metal">
<props>
<prop actor="props/units/tools/pick.xml" attachpoint="l_hand"/>
<prop attachpoint="r_hand"/>
<prop attachpoint="shield"/>
</props>
</variant>
<variant name="Build">
<props>
<prop actor="" attachpoint="shield"/>
<prop actor="" attachpoint="l_hand"/>
<prop actor="props/units/tools/mallet.xml" attachpoint="r_hand"/>
</props>
</variant>
</group>
<material>player_trans.xml</material>
</actor>
@@ -1,110 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="100" name="Base">
<animations>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="100"/>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="97"/>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="95"/>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="80"/>
<animation file="biped/walk_spearshield.psa" name="Walk" speed="20"/>
<animation event="0.5" file="infantry/sword/attack/isw_s_off_05.psa" name="Melee" speed="100"/>
<animation file="infantry/sword/move/run/isw_s_off_01.psa" name="Run" speed="5"/>
<animation file="infantry/sword/move/run/isw_s_def_02.psa" name="Run" speed="10"/>
<animation file="infantry/sword/move/run/isw_s_em_03.psa" name="Run" speed="10"/>
<animation file="infantry/general/dude/dudebuild.psa" name="Build" speed="150"/>
<animation file="infantry/general/forage.psa" name="gather_fruit" speed="50"/>
<animation file="biped/hoe.psa" name="gather_grain" speed="100"/>
<animation file="infantry/general/chop.psa" name="gather_wood" speed="100"/>
<animation file="infantry/general/mine.psa" name="gather_stone" speed="100"/>
<animation file="infantry/general/mine.psa" name="gather_metal" speed="100"/>
<animation file="infantry/general/death/inf_01.psa" name="Death" speed="200"/>
<animation file="infantry/general/death/inf_02.psa" name="Death" speed="200"/>
<animation file="infantry/general/death/inf_03.psa" name="Death" speed="200"/>
<animation file="infantry/general/death/inf_04.psa" name="Death" speed="200"/>
<animation file="infantry/general/death/inf_06.psa" name="Death" speed="200"/>
<animation file="infantry/general/death/inf_07.psa" name="Death" speed="200"/>
</animations>
<mesh>skeletal/m_pants.dae</mesh>
<props>
<prop actor="props/units/heads/head_celt.xml" attachpoint="head"/>
<prop actor="props/units/weapons/spatha.xml" attachpoint="r_hand"/>
<prop actor="props/units/shields/celt_round_b.xml" attachpoint="shield"/>
</props>
</variant>
</group>
<group>
<variant frequency="1" name="Pants-1">
<texture>skeletal/celt_ijv_a_01.dds</texture>
</variant>
<variant frequency="1" name="Pants-2">
<texture>skeletal/celt_ijv_a_02.dds</texture>
</variant>
<variant frequency="1" name="Pants-3">
<texture>skeletal/celt_ijv_a_03.dds</texture>
</variant>
<variant frequency="1" name="Pants-4">
<texture>skeletal/celt_ijv_a_04.dds</texture>
</variant>
</group>
<group>
<variant frequency="100" name="Idle"/>
<variant name="Melee">
<props>
<prop actor="" attachpoint="l_hand"/>
<prop actor="props/units/weapons/spatha.xml" attachpoint="r_hand"/>
</props>
</variant>
<variant name="gather_wood">
<props>
<prop actor="" attachpoint="shield"/>
<prop actor="props/units/tools/axe.xml" attachpoint="l_hand"/>
<prop actor="" attachpoint="r_hand"/>
</props>
</variant>
<variant name="gather_grain">
<props>
<prop actor="" attachpoint="shield"/>
<prop actor="props/units/tools/hoe.xml" attachpoint="l_hand"/>
<prop actor="" attachpoint="r_hand"/>
</props>
</variant>
<variant name="gather_fruit">
<props>
<prop actor="" attachpoint="shield"/>
<prop actor="" attachpoint="l_hand"/>
<prop actor="props/units/tools/basket.xml" attachpoint="l_leg"/>
<prop actor="" attachpoint="r_hand"/>
</props>
</variant>
<variant name="gather_stone">
<props>
<prop actor="" attachpoint="shield"/>
<prop actor="props/units/tools/pick.xml" attachpoint="l_hand"/>
<prop actor="" attachpoint="r_hand"/>
</props>
</variant>
<variant name="gather_metal">
<props>
<prop actor="props/units/tools/pick.xml" attachpoint="l_hand"/>
<prop attachpoint="r_hand"/>
<prop attachpoint="shield"/>
</props>
</variant>
<variant name="Build">
<props>
<prop actor="" attachpoint="shield"/>
<prop actor="" attachpoint="l_hand"/>
<prop actor="props/units/tools/mallet.xml" attachpoint="r_hand"/>
</props>
</variant>
</group>
<material>player_trans.xml</material>
</actor>
@@ -1,113 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="100" name="Base">
<animations>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="100"/>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="97"/>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="95"/>
<animation file="biped/inf_sword_ready_a.dae" name="Idle" speed="80"/>
<animation file="biped/walk_spearshield.psa" name="Walk" speed="20"/>
<animation event="0.5" file="infantry/sword/attack/isw_s_off_05.psa" name="Melee" speed="100"/>
<animation file="infantry/sword/move/run/isw_s_off_01.psa" name="Run" speed="5"/>
<animation file="infantry/sword/move/run/isw_s_def_02.psa" name="Run" speed="10"/>
<animation file="infantry/sword/move/run/isw_s_em_03.psa" name="Run" speed="10"/>
<animation file="infantry/general/dude/dudebuild.psa" name="Build" speed="150"/>
<animation file="infantry/general/forage.psa" name="gather_fruit" speed="50"/>
<animation file="biped/hoe.psa" name="gather_grain" speed="100"/>
<animation file="infantry/general/chop.psa" name="gather_wood" speed="100"/>
<animation file="infantry/general/mine.psa" name="gather_stone" speed="100"/>
<animation file="infantry/general/mine.psa" name="gather_metal" speed="100"/>
<animation file="infantry/general/death/inf_01.psa" name="Death" speed="200"/>
<animation file="infantry/general/death/inf_02.psa" name="Death" speed="200"/>
<animation file="infantry/general/death/inf_03.psa" name="Death" speed="200"/>
<animation file="infantry/general/death/inf_04.psa" name="Death" speed="200"/>
<animation file="infantry/general/death/inf_06.psa" name="Death" speed="200"/>
<animation file="infantry/general/death/inf_07.psa" name="Death" speed="200"/>
</animations>
<props>
<prop actor="props/units/heads/celt_helmet_b.xml" attachpoint="helmet"/>
<prop actor="props/units/heads/head_celt.xml" attachpoint="head"/>
<prop actor="props/units/shields/celt_dip.xml" attachpoint="shield"/>
<prop actor="props/units/weapons/spatha.xml" attachpoint="r_hand"/>
</props>
</variant>
</group>
<group>
<variant frequency="1" name="Body Armour-1">
<mesh>skeletal/m_pants.dae</mesh>
<texture>skeletal/kart_isw_e_01.dds</texture>
</variant>
<variant frequency="1" name="Body Armour-2">
<mesh>skeletal/m_pants_celt.dae</mesh>
<texture>skeletal/celt_isw_e_02.dds</texture>
</variant>
</group>
<group>
<variant frequency="100" name="Idle"/>
<variant name="Melee">
<props>
<prop actor="" attachpoint="l_hand"/>
<prop actor="props/units/shields/celt_scutum_e.xml" attachpoint="shield"/>
<prop actor="props/units/weapons/spatha.xml" attachpoint="r_hand"/>
</props>
</variant>
<variant name="gather_wood">
<props>
<prop actor="" attachpoint="shield"/>
<prop actor="props/units/tools/axe.xml" attachpoint="l_hand"/>
<prop actor="" attachpoint="r_hand"/>
<prop attachpoint="helmet"/>
</props>
</variant>
<variant name="gather_grain">
<props>
<prop actor="" attachpoint="shield"/>
<prop actor="props/units/tools/hoe.xml" attachpoint="l_hand"/>
<prop actor="" attachpoint="r_hand"/>
<prop attachpoint="helmet"/>
</props>
</variant>
<variant name="gather_fruit">
<props>
<prop actor="" attachpoint="shield"/>
<prop actor="" attachpoint="l_hand"/>
<prop actor="props/units/tools/basket.xml" attachpoint="l_leg"/>
<prop actor="" attachpoint="r_hand"/>
<prop attachpoint="helmet"/>
</props>
</variant>
<variant name="gather_stone">
<props>
<prop actor="" attachpoint="shield"/>
<prop actor="props/units/tools/pick.xml" attachpoint="l_hand"/>
<prop actor="" attachpoint="r_hand"/>
<prop attachpoint="helmet"/>
</props>
</variant>
<variant name="gather_metal">
<props>
<prop actor="props/units/tools/pick.xml" attachpoint="l_hand"/>
<prop attachpoint="r_hand"/>
<prop attachpoint="shield"/>
<prop attachpoint="helmet"/>
</props>
</variant>
<variant name="Build">
<props>
<prop actor="" attachpoint="shield"/>
<prop actor="" attachpoint="l_hand"/>
<prop actor="props/units/tools/mallet.xml" attachpoint="r_hand"/>
<prop attachpoint="helmet"/>
</props>
</variant>
</group>
<material>player_trans.xml</material>
</actor>
@@ -1,25 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="100" name="Base">
<animations>
<animation file="infantry/general/dude/dudeidle.psa" name="Idle" speed="200"/>
<animation file="biped/dudewalk_swordshield.psa" name="Walk" speed="20"/>
<animation file="infantry/general/dude/dudedeath_sword.psa" name="Death" speed="200"/>
<animation file="infantry/general/dude/dudedecay_sword.psa" name="Corpse" speed="100"/>
</animations>
<mesh>skeletal/m_dress_a.pmd</mesh>
<props>
<prop actor="props/units/heads/head_pers_a.xml" attachpoint="head"/>
<prop actor="props/units/heads/hele_straw.xml" attachpoint="helmet"/>
</props>
<texture>skeletal/hele_trd.dds</texture>
</variant>
</group>
<material>player_trans.xml</material>
</actor>
@@ -1,8 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<?xml version="1.0" encoding="utf-8"?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="1" name="Base">
<animations>
@@ -18,16 +16,17 @@
<prop actor="props/units/heads/head_hele_b.xml" attachpoint="head"/>
<prop actor="props/units/shields/rome_parma_a.xml" attachpoint="shield"/>
<prop actor="props/units/weapons/spear.xml" attachpoint="r_hand"/>
<prop actor="props/units/cape_hd_cav.xml" attachpoint="shoulders"/>
</props>
</variant>
</group>
<group>
<variant frequency="1" name="Texture-Body">
<texture>skeletal/rome_isp_a.dds</texture>
<variant frequency="1" name="Chainmail-Plain">
<texture>skeletal/rome_csp_a.dds</texture>
</variant>
<variant frequency="1" name="Chainmail-Shoulder detail">
<texture>skeletal/rome_isp_e_2.dds</texture>
</variant>
</group>
<material>player_trans.xml</material>
</actor>
@@ -1,8 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<?xml version="1.0" encoding="utf-8"?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="1" name="Base">
<animations>
@@ -18,16 +16,14 @@
<prop actor="props/units/heads/rome_monte_simple.xml" attachpoint="helmet"/>
<prop actor="props/units/weapons/spear.xml" attachpoint="r_hand"/>
<prop actor="props/units/shields/rome_parma_b.xml" attachpoint="shield"/>
<prop actor="props/units/cape_hd_cav.xml" attachpoint="shoulders"/>
</props>
</variant>
</group>
<group>
<variant frequency="1" name="texture">
<texture>skeletal/rome_csp_b.dds</texture>
</variant>
</group>
<material>player_trans.xml</material>
</actor>
@@ -16,6 +16,7 @@
<prop actor="props/units/heads/rome_head_veteran.xml" attachpoint="head"/>
<prop actor="props/units/shields/rome_parma_e.xml" attachpoint="shield"/>
<prop actor="props/units/weapons/spear.xml" attachpoint="r_hand"/>
<prop actor="props/units/cape_hd_cav.xml" attachpoint="shoulders"/>
</props>
<texture>skeletal/rome_csp_e.dds</texture>
</variant>
@@ -1,8 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<?xml version="1.0" encoding="utf-8"?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="1" name="Base">
<animations>
@@ -19,11 +17,10 @@
<prop actor="props/units/heads/rome_head_hero_scipio.xml" attachpoint="head"/>
<prop actor="props/units/weapons/gladus.xml" attachpoint="r_hand"/>
<prop actor="props/units/shields/rome_parma_hero_2.xml" attachpoint="shield"/>
<prop actor="props/units/cape_hd_cav.xml" attachpoint="shoulders"/>
</props>
<texture>skeletal/rome_hero_marcellus.dds</texture>
</variant>
</group>
<material>player_trans.xml</material>
</actor>
@@ -17,7 +17,7 @@
<prop actor="props/units/heads/rome_head_hero_scipio.xml" attachpoint="head"/>
<prop actor="props/units/weapons/gladus.xml" attachpoint="r_hand"/>
<prop actor="props/units/shields/rome_parma_hero_1.xml" attachpoint="shield"/>
<prop actor="props/units/cape_m_med.xml" attachpoint="shoulders"/>
<prop actor="props/units/cape_hd_cav.xml" attachpoint="shoulders"/>
</props>
<texture>skeletal/rome_hero_3.dds</texture>
</variant>
@@ -1,8 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<?xml version="1.0" encoding="utf-8"?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="100" name="Base">
<animations>
@@ -30,10 +28,16 @@
<prop actor="props/units/shields/rome_scutum_a.xml" attachpoint="shield"/>
<prop actor="props/units/weapons/spear_lance.xml" attachpoint="r_hand"/>
</props>
<texture>skeletal/rome_isp_a.dds</texture>
</variant>
</group>
<group>
<variant frequency="1" name="Chainmail-Shoulder Doubling">
<texture>skeletal/rome_isp_a_1.dds</texture>
</variant>
<variant frequency="1" name="Chainmail-No Shoulder Doubling">
<texture>skeletal/rome_isp_a_2.dds</texture>
</variant>
</group>
<group>
<variant frequency="1" name="Idle"/>
<variant name="Melee">
@@ -84,7 +88,5 @@
</props>
</variant>
</group>
<material>player_trans.xml</material>
</actor>
@@ -1,8 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<?xml version="1.0" encoding="utf-8"?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="100" name="Base">
<animations>
@@ -30,10 +28,9 @@
<prop actor="props/units/shields/rome_scutum_b.xml" attachpoint="shield"/>
<prop actor="props/units/weapons/spear_lance.xml" attachpoint="r_hand"/>
</props>
<texture>skeletal/rome_isw_e.dds</texture>
<texture>skeletal/rome_isw_a.dds</texture>
</variant>
</group>
<group>
<variant frequency="1" name="Idle"/>
<variant name="Melee">
@@ -84,7 +81,5 @@
</props>
</variant>
</group>
<material>player_trans.xml</material>
</actor>
@@ -1,8 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<?xml version="1.0" encoding="utf-8"?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="1" name="Base">
<animations>
@@ -27,6 +25,7 @@
<animation file="infantry/general/death/inf_06.psa" name="death" speed="300"/>
<animation file="infantry/general/death/inf_07.psa" name="death" speed="300"/>
</animations>
<mesh>skeletal/m_tunic_short.dae</mesh>
<props>
<prop actor="props/units/heads/rome_etrusco_e.xml" attachpoint="helmet"/>
<prop actor="props/units/heads/rome_head_veteran.xml" attachpoint="head"/>
@@ -35,14 +34,14 @@
</props>
</variant>
</group>
<group>
<variant frequency="1" name="armour-texture-1">
<mesh>skeletal/m_tunic_short.dae</mesh>
<variant frequency="1" name="armour-texture-Color Shoulders">
<texture>skeletal/rome_isp_e_1.dds</texture>
</variant>
<variant frequency="1" name="armour-texture-White Shoulders">
<texture>skeletal/rome_isp_e_2.dds</texture>
</variant>
</group>
<group>
<variant frequency="1" name="Idle"/>
<variant name="Melee">
@@ -96,7 +95,5 @@
<texture>skeletal/bloodied/rome_isp_e_1.dds</texture>
</variant>
</group>
<material>player_trans.xml</material>
</actor>
@@ -1,8 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<?xml version="1.0" encoding="utf-8"?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="100" name="Base">
<animations>
@@ -26,11 +24,11 @@
<prop actor="props/units/heads/head_hele_b.xml" attachpoint="head"/>
<prop actor="props/units/shields/rome_scutum_a.xml" attachpoint="shield"/>
<prop actor="props/units/weapons/gladus.xml" attachpoint="r_hand"/>
<prop actor="props/units/weapons/pillum.xml" attachpoint="l_hand"/>
</props>
<texture>skeletal/rome_isw_a.dds</texture>
</variant>
</group>
<group>
<variant frequency="1" name="Idle"/>
<variant name="Melee">
@@ -81,7 +79,5 @@
</props>
</variant>
</group>
<material>player_trans.xml</material>
</actor>
@@ -1,8 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<?xml version="1.0" encoding="utf-8"?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="1" name="Base">
<animations>
@@ -29,13 +27,17 @@
</props>
</variant>
</group>
<group>
<variant frequency="1" name="texture-1">
<variant frequency="1" name="pectoral--plain">
<texture>skeletal/rome_isw_b.dds</texture>
</variant>
<variant frequency="1" name="pectoral--muscle">
<texture>skeletal/rome_isw_b_2.dds</texture>
</variant>
<variant frequency="1" name="pectoral">
<texture>skeletal/rome_isw_b_3.dds</texture>
</variant>
</group>
<group>
<variant frequency="1" name="Idle"/>
<variant name="Melee">
@@ -86,7 +88,5 @@
</props>
</variant>
</group>
<material>player_trans.xml</material>
</actor>
@@ -1,8 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<?xml version="1.0" encoding="utf-8"?>
<actor version="1">
<castshadow/>
<group>
<variant frequency="1" name="Base">
<animations>
@@ -27,11 +25,11 @@
<prop actor="props/units/heads/rome_monte_e.xml" attachpoint="helmet"/>
<prop actor="props/units/weapons/gladus.xml" attachpoint="r_hand"/>
<prop actor="props/units/shields/rome_scutum_e.xml" attachpoint="shield"/>
<prop actor="props/units/weapons/pillum.xml" attachpoint="l_hand"/>
</props>
<texture>skeletal/rome_isw_e.dds</texture>
</variant>
</group>
<group>
<variant frequency="1" name="Idle"/>
<variant name="Melee">
@@ -82,7 +80,5 @@
</props>
</variant>
</group>
<material>player_trans.xml</material>
</actor>
@@ -1,4 +0,0 @@
const SIZE = 64;
init(SIZE, "grass dirt 50", 0);
@@ -1 +0,0 @@
init(256, "grass_mediterranean_green_50", 0);
@@ -1 +0,0 @@
init(400, "grass_mediterranean_green_50", 0);
@@ -1 +0,0 @@
init(512, "grass_mediterranean_green_50", 0);
@@ -1,336 +0,0 @@
// constants
const SIZE = 208;
const NUM_PLAYERS = 4;
const tGrass = ["grass_temperate_pasture_a", "grass_temperate_pasture_b"];
const tGrassForest = "grass_temperate_a";
const tCliff = ["cliff_temperate_granite", "cliff_temperate_brown"];
const tForest = "forestfloor_temperate_a";
const tGrassDirt75 = "grass_temperate_dirt_2";
const tGrassDirt50 = "grass_temperate_dirt_b";
const tGrassDirt25 = "grass_temperate_dry_dirt";
const tDirt = "dirt_temperate_b_dry";
const tGrassPatch = "grass_temperate_field_wild";
const tShore = "shoreline_temperate_rocks";
const tShoreBlend = "shoreline_temperate_rocks_dirt";
const tWater = "sand_temperate_vegetation";
const oTree = "flora_tree_oak";
const oTreeLarge = "flora_tree_oak";
const oBerryBush = "flora_bush_berry";
const oSheep = "fauna_sheep";
const oDeer = "fauna_deer";
const oMine = "geology_stone_temperate";
const oGrass = "props/flora/grass_temp_field.xml";
const oGrassShort = "props/flora/grass_field_lush_short.xml";
const oReeds = "props/flora/grass_temp_field_dry.xml";
const oRockLarge = "geology/stone_granite_large.xml";
const oRockMedium = "flora_bush_temperate";
const oBushMedium = "props/flora/bush_tempe_me.xml";
const oBushSmall = "props/flora/bush_tempe_sm.xml";
// initialize map
println("Initializing map...");
init(SIZE, tGrass, 3);
// create tile classes
clPlayer = createTileClass();
clHill = createTileClass();
clForest = createTileClass();
clWater = createTileClass();
clSettlement = createTileClass();
clDirt = createTileClass();
clRock = createTileClass();
clFood = createTileClass();
clBaseResource = createTileClass();
// place players
playerX = new Array(NUM_PLAYERS+1);
playerY = new Array(NUM_PLAYERS+1);
playerAngle = new Array(NUM_PLAYERS+1);
startAngle = randFloat() * 2 * PI;
for(i=1; i<=NUM_PLAYERS; i++) {
playerAngle[i] = startAngle + i*2*PI/NUM_PLAYERS;
playerX[i] = 0.5 + 0.35*cos(playerAngle[i]);
playerY[i] = 0.5 + 0.35*sin(playerAngle[i]);
}
for(i=1; i<=NUM_PLAYERS; i++) {
println("Creating base for player " + i + "...");
// some constants
radius = 17;
cliffRadius = 2;
elevation = 20;
// get the x and y in tiles
fx = fractionToTiles(playerX[i]);
fy = fractionToTiles(playerY[i]);
ix = round(fx);
iy = round(fy);
// calculate size based on the radius
size = PI * radius * radius;
// create the hill
placer = new ClumpPlacer(size, 0.95, 0.6, 0, ix, iy);
terrainPainter = new LayeredPainter(
[cliffRadius], // widths
[tCliff, tGrass] // terrains
);
elevationPainter = new SmoothElevationPainter(
ELEVATION_SET, // type
elevation, // elevation
cliffRadius // blend radius
);
createArea(placer, [terrainPainter, elevationPainter, paintClass(clPlayer)], null);
// create the ramp
rampAngle = playerAngle[i] + PI + (2*randFloat()-1)*PI/8;
rampDist = radius - 1;
rampX = round(fx + rampDist * cos(rampAngle));
rampY = round(fy + rampDist * sin(rampAngle));
placer = new ClumpPlacer(100, 0.9, 0.5, 0, rampX, rampY);
painter = new SmoothElevationPainter(ELEVATION_SET, elevation-6, 5);
createArea(placer, painter, null);
placer = new ClumpPlacer(75, 0.9, 0.5, 0, rampX, rampY);
painter = new TerrainPainter(tGrass);
createArea(placer, painter, null);
// create the central dirt patch
placer = new ClumpPlacer(PI*3.5*3.5, 0.3, 0.1, 0, ix, iy);
painter = new LayeredPainter(
[1,1,1], // widths
[tGrassDirt75, tGrassDirt50, tGrassDirt25, tDirt] // terrains
);
createArea(placer, painter, null);
// create the TC and the "villies"
group = new SimpleGroup(
[ // elements (type, count, distance)
new SimpleObject("hele_civil_centre", 1,1, 0,0),
new SimpleObject("hele_infantry_javelinist_b", 3,3, 5,5)
],
true, null, ix, iy
);
createObjectGroup(group, i);
// Create the Settlement under the TC
group = new SimpleGroup(
[new SimpleObject("special_settlement", 1,1, 0,0)],
true, null, ix, iy
);
createObjectGroup(group, 0);
// create berry bushes
bbAngle = randFloat()*2*PI;
bbDist = 9;
bbX = round(fx + bbDist * cos(bbAngle));
bbY = round(fy + bbDist * sin(bbAngle));
group = new SimpleGroup(
[new SimpleObject(oBerryBush, 5,5, 0,2)],
true, clBaseResource, bbX, bbY
);
createObjectGroup(group, 0);
// create mines
mAngle = bbAngle;
while(abs(mAngle - bbAngle) < PI/3) {
mAngle = randFloat()*2*PI;
}
mDist = 9;
mX = round(fx + mDist * cos(mAngle));
mY = round(fy + mDist * sin(mAngle));
group = new SimpleGroup(
[new SimpleObject(oMine, 4,4, 0,2)],
true, clBaseResource, mX, mY
);
createObjectGroup(group, 0);
// create starting straggler trees
group = new SimpleGroup(
[new SimpleObject(oTree, 3,3, 8,12)],
true, clBaseResource, ix, iy
);
createObjectGroup(group, 0, avoidClasses(clBaseResource,2));
// create grass tufts
for(j=0; j<10; j++) {
gAngle = randFloat()*2*PI;
gDist = 6 + randInt(9);
gX = round(fx + gDist * cos(gAngle));
gY = round(fy + gDist * sin(gAngle));
group = new SimpleGroup([new SimpleObject(oGrassShort, 3,6, 0,1, -PI/8,PI/8)],
false, clBaseResource, gX, gY);
createObjectGroup(group, 0);
}
}
// create lakes
println("Creating lakes...");
placer = new ClumpPlacer(140, 0.8, 0.1, 0);
terrainPainter = new LayeredPainter(
[1,1], // widths
[tShoreBlend, tShore, tWater] // terrains
);
elevationPainter = new SmoothElevationPainter(ELEVATION_SET, -7, 3);
createAreas(placer, [terrainPainter, elevationPainter, paintClass(clWater)],
avoidClasses(clPlayer, 2, clWater, 20),
round(1.3 * NUM_PLAYERS)
);
// create bumps
println("Creating bumps...");
placer = new ClumpPlacer(10, 0.3, 0.06, 0);
painter = new SmoothElevationPainter(ELEVATION_MODIFY, 2, 2);
createAreas(placer, painter,
avoidClasses(clWater, 2, clPlayer, 0),
SIZE*SIZE/100
);
// create hills
println("Creating hills...");
placer = new ClumpPlacer(30, 0.2, 0.1, 0);
terrainPainter = new LayeredPainter(
[3], // widths
[tCliff, [tGrass,tGrass,tGrassDirt75]] // terrains
);
elevationPainter = new SmoothElevationPainter(ELEVATION_SET, 12, 2);
createAreas(placer, [terrainPainter, elevationPainter, paintClass(clHill)],
avoidClasses(clPlayer, 2, clWater, 5, clHill, 15),
2 * NUM_PLAYERS
);
// create forests
println("Creating forests...");
placer = new ClumpPlacer(32, 0.1, 0.1, 0);
painter = new LayeredPainter([2], [[tGrassForest, tGrass, tForest],
[tGrassForest, tForest]]);
createAreas(placer, [painter, paintClass(clForest)],
avoidClasses(clPlayer, 1, clWater, 3, clForest, 10, clHill, 0),
6 * NUM_PLAYERS
);
// create dirt patches
println("Creating dirt patches...");
var sizes = [8,14,20];
for(i=0; i<sizes.length; i++) {
placer = new ClumpPlacer(sizes[i], 0.3, 0.06, 0);
painter = new LayeredPainter([1,1], [
[tGrass,tGrassDirt75],[tGrassDirt75,tGrassDirt50],
[tGrassDirt50,tGrassDirt25]]);
createAreas(placer, [painter, paintClass(clDirt)],
avoidClasses(clWater, 1, clForest, 0, clHill, 0, clDirt, 5, clPlayer, 0),
SIZE*SIZE/4000
);
}
// create grass patches
println("Creating grass patches...");
var sizes = [5,9,13];
for(i=0; i<sizes.length; i++) {
placer = new ClumpPlacer(sizes[i], 0.3, 0.06, 0);
painter = new TerrainPainter(tGrassPatch);
createAreas(placer, painter,
avoidClasses(clWater, 1, clForest, 0, clHill, 0, clDirt, 5, clPlayer, 0),
SIZE*SIZE/4000
);
}
// create mines
println("Creating mines...");
group = new SimpleGroup([new SimpleObject(oMine, 4,6, 0,2)], true, clRock);
createObjectGroups(group, 0,
[avoidClasses(clWater, 0, clForest, 0, clPlayer, 0, clRock, 13),
new BorderTileClassConstraint(clHill, 0, 4)],
3 * NUM_PLAYERS, 100
);
// create settlements
println("Creating settlements...");
group = new SimpleGroup([new SimpleObject("special_settlement", 1,1, 0,0)], true, clSettlement);
createObjectGroups(group, 0,
avoidClasses(clWater, 0, clForest, 0, clPlayer, 15, clHill, 0, clRock, 5, clSettlement, 35),
2 * NUM_PLAYERS, 50
);
// create small decorative rocks
println("Creating large decorative rocks...");
group = new SimpleGroup([new SimpleObject(oRockMedium, 1,3, 0,1)], true);
createObjectGroups(group, 0,
avoidClasses(clForest, 0, clPlayer, 0, clHill, 0, clSettlement, 3),
SIZE*SIZE/1000, 50
);
// create large decorative rocks
println("Creating large decorative rocks...");
group = new SimpleGroup([new SimpleObject(oRockLarge, 1,2, 0,1),
new SimpleObject(oRockMedium, 1,3, 0,2)], true);
createObjectGroups(group, 0,
avoidClasses(clForest, 0, clPlayer, 0, clHill, 0, clSettlement, 5),
SIZE*SIZE/2000, 50
);
// create deer
println("Creating deer...");
group = new SimpleGroup([new SimpleObject(oDeer, 5,7, 0,4)], true, clFood);
createObjectGroups(group, 0,
avoidClasses(clWater, 0, clForest, 0, clPlayer, 0, clHill, 0, clFood, 20, clSettlement, 5),
3 * NUM_PLAYERS, 50
);
// create sheep
println("Creating sheep...");
group = new SimpleGroup([new SimpleObject(oSheep, 2,3, 0,2)], true, clFood);
createObjectGroups(group, 0,
avoidClasses(clWater, 0, clForest, 0, clPlayer, 0, clHill, 0, clFood, 20, clSettlement, 5),
3 * NUM_PLAYERS, 50
);
// create straggler trees
println("Creating straggler trees...");
group = new SimpleGroup([new SimpleObject(oTree, 1,1, 0,0)], true);
createObjectGroups(group, 0,
avoidClasses(clWater, 1, clForest, 1, clHill, 1, clPlayer, 1, clSettlement, 2),
SIZE*SIZE/1100
);
// create small grass tufts
println("Creating small grass tufts...");
group = new SimpleGroup([new SimpleObject(oGrassShort, 3,6, 0,1, -PI/8,PI/8)]);
createObjectGroups(group, 0,
avoidClasses(clWater, 2, clHill, 2, clPlayer, 2, clDirt, 0),
SIZE*SIZE/90
);
// create large grass tufts
println("Creating large grass tufts...");
group = new SimpleGroup([new SimpleObject(oGrass, 20,30, 0,1.8, -PI/8,PI/8),
new SimpleObject(oGrassShort, 20,30, 1.2,2.5, -PI/8,PI/8)]);
createObjectGroups(group, 0,
avoidClasses(clWater, 3, clHill, 2, clPlayer, 2, clDirt, 1, clForest, 0),
SIZE*SIZE/900
);
// create bushes
println("Creating bushes...");
group = new SimpleGroup([new SimpleObject(oBushSmall, 2,4, 0,2)]);
createObjectGroups(group, 0,
avoidClasses(clWater, 1, clHill, 1, clPlayer, 1, clDirt, 1),
SIZE*SIZE/2000, 50
);
// create reeds
println("Creating reeds...");
group = new SimpleGroup([new SimpleObject(oReeds, 5,10, 0,1.5, -PI/8,PI/8)]);
createObjectGroups(group, 0,
[new BorderTileClassConstraint(clWater, 3, 0), new StayInTileClassConstraint(clWater, 1)],
10 * NUM_PLAYERS, 100
);
@@ -1,449 +0,0 @@
const SIZE = 176;
const NUM_PLAYERS = 4;
const WATER_WIDTH = .2;
// Terrain and object constants
tOceanDepths = "ocean_medit_depths";
tOceanRockDeep = "ocean_medit_rock_deep";
tOceanRockShallow = "ocean_medit_rock_shallow";
tOceanCoral = "ocean_medit_coral";
tBeachWet = "beach_medit_wet";
tBeachDry = "beach_medit_dry";
tBeachGrass = "beach_medit_grass_50";
tBeachCliff = "cliff_medit_beach";
tGrassDry = ["grass_mediterranean_dry_a", "grass_mediterranean_dry_b", "grass_mediterranean_dry_c"];
tGrass = ["grass_mediterranean_green_50", "grass_mediterranean_green_flowers"];
tGrassLush = ["grass_temperate_dry_tufts", "grass_mediterranean_green_flowers"];
tGrassShrubs = ["grass_mediterranean_green_shrubs", "grass_mediterranean_green_flowers"];
tGrassRock = ["grass_mediterranean_green_rock"];
tDirt = "dirt_medit_a";
tDirtGrass = "dirt_medit_grass_50";
tDirtCliff = "cliff_medit_dirt";
tGrassCliff = "cliff_medit_grass_a";
tCliff = ["cliff_medit_face_b", "cliff_medit_face_b", "cliff_medit_foliage_a"];
tForestFloor = "forestfloor_medit_dirt";
oPalm = "flora_tree_medit_fan_palm";
oLombardyPoplar = "flora_tree_poplar_lombardy";
oOak = "flora_tree_oak";
oPoplar = "flora_tree_poplar";
oCarob = "flora_tree_carob";
oBeech = "flora_tree_euro_beech";
oPine = "flora_tree_aleppo_pine";
oBerryBush = "flora_bush_berry";
oSheep = "fauna_sheep";
oStone = "geology_stone_greek";
oMetal = "geology_metal_greek";
oBushLargeDry = "props/flora/bush_medit_la_dry.xml";
oBushLarge = "props/flora/bush_medit_la.xml";
oBushMedDry = "props/flora/bush_medit_me_dry.xml";
oBushMed = "props/flora/bush_medit_me.xml";
oBushSmall = "props/flora/bush_medit_sm.xml"
oBushSmallDry = "props/flora/bush_medit_sm_dry.xml"
oGrass = "props/flora/grass_medit_field.xml";
oGrassDry = "props/flora/grass_soft_dry_small.xml";
oRockLarge = "geology/stone_granite_greek_large.xml";
oRockMed = "geology/stone_granite_greek_med.xml";
oRockSmall = "geology/stone_granite_greek_small.xml";
oWaterLog = "props/flora/water_log.xml";
tPalmForest = [tForestFloor+"|"+oPalm, tGrass];
tPineForest = [tForestFloor+"|"+oPine, tGrass];
tMainForest = [tForestFloor+"|"+oCarob, tForestFloor+"|"+oBeech, tGrass, tGrass];
tPoplarForest = [tForestFloor+"|"+oLombardyPoplar, tGrass];
// Initialize world
init(SIZE, tGrass, 0);
// Create classes
clWater = createTileClass();
clCliff = createTileClass();
clForest = createTileClass();
clMetal = createTileClass();
clStone = createTileClass();
clFood = createTileClass();
clPlayer = createTileClass();
clBaseResource = createTileClass();
clSettlement = createTileClass();
// Place players
println("Placing players...");
playerX = new Array(NUM_PLAYERS+1);
playerY = new Array(NUM_PLAYERS+1);
numLeftPlayers = Math.floor(NUM_PLAYERS/2);
for(i=1; i<=numLeftPlayers; i++) {
playerX[i] = 0.28 + (2*randFloat()-1)*0.01;
playerY[i] = (0.5+i-1)/numLeftPlayers + (2*randFloat()-1)*0.01;
}
for(i=numLeftPlayers+1; i<=NUM_PLAYERS; i++) {
playerX[i] = 0.72 + (2*randFloat()-1)*0.01;
playerY[i] = (0.5+i-numLeftPlayers-1)/numLeftPlayers + (2*randFloat()-1)*0.01;
}
for(i=1; i<=NUM_PLAYERS; i++) {
// get fractional locations in tiles
ix = round(fractionToTiles(playerX[i]));
iy = round(fractionToTiles(playerY[i]));
addToClass(ix, iy, clPlayer);
// create TC and starting units
placeObject("special_settlement", i, ix, iy, PI*3/4);
placeObject("hele_civil_centre", i, ix, iy, PI*3/4);
group = new SimpleGroup(
[new SimpleObject("hele_infantry_javelinist_b", 3,3, 5,5)],
true, null, ix, iy
);
createObjectGroup(group, i);
// create starting berry bushes
bbAngle = randFloat()*2*PI;
bbDist = 9;
bbX = round(ix + bbDist * cos(bbAngle));
bbY = round(iy + bbDist * sin(bbAngle));
group = new SimpleGroup(
[new SimpleObject(oBerryBush, 5,5, 0,2)],
true, clBaseResource, bbX, bbY
);
createObjectGroup(group, 0);
// create starting mines
mAngle = bbAngle;
while(abs(mAngle - bbAngle) < PI/3) {
mAngle = randFloat()*2*PI;
}
mDist = 9;
mX = round(ix + mDist * cos(mAngle));
mY = round(iy + mDist * sin(mAngle));
group = new SimpleGroup(
[new SimpleObject(oStone, 2,2, 0,3),
new SimpleObject(oMetal, 2,2, 0,3)],
true, clBaseResource, mX, mY
);
createObjectGroup(group, 0);
// create starting straggler trees
group = new SimpleGroup(
[new SimpleObject(oPalm, 3,3, 7,10)],
true, clBaseResource, ix, iy
);
createObjectGroup(group, 0, avoidClasses(clBaseResource,2));
}
function distanceToPlayers(x, y) {
var r = 10000;
for(var i=1; i<=NUM_PLAYERS; i++) {
var dx = x-playerX[i];
var dy = y-playerY[i];
r = min(r, dx*dx + dy*dy);
}
return Math.sqrt(r);
}
function playerNearness(x, y) {
var d = fractionToTiles(distanceToPlayers(x,y));
if(d < 13) return 0;
else if(d < 19) return (d-13)/(19-13);
else return 1;
}
function max(x, y) {
return x > y ? x : y;
}
function min(x, y) {
return x < y ? x : y;
}
// Paint elevation
println("Painting elevation...");
noise0 = new Noise2D(4 * SIZE/128);
noise1 = new Noise2D(8 * SIZE/128);
noise2 = new Noise2D(15 * SIZE/128);
noise2a = new Noise2D(20 * SIZE/128);
noise2b = new Noise2D(35 * SIZE/128);
noise3 = new Noise2D(4 * SIZE/128);
noise4 = new Noise2D(6 * SIZE/128);
noise5 = new Noise2D(11 * SIZE/128);
for(ix=0; ix<=SIZE; ix++) {
for(iy=0; iy<=SIZE; iy++) {
x = ix / (SIZE + 1.0);
y = iy / (SIZE + 1.0);
pn = playerNearness(x, y);
h = 0;
distToWater = 0;
h = 32 * (x-.5);
// add the rough shape of the water
if(x < WATER_WIDTH) {
h = max(-16.0, -28.0*(WATER_WIDTH-x)/WATER_WIDTH);
}
else if(x > 1.0-WATER_WIDTH) {
h = max(-16.0, -28.0*(x-(1.0-WATER_WIDTH))/WATER_WIDTH);
}
else {
distToWater = (0.5 - WATER_WIDTH - Math.abs(x-0.5));
u = 1 - Math.abs(x-0.5) / (0.5-WATER_WIDTH);
h = 12*u;
}
// add some base noise
baseNoise = 16*noise0.eval(x,y) + 8*noise1.eval(x,y) + 4*noise2.eval(x,y) - (16+8+4)/2;
if( baseNoise < 0 ) {
baseNoise *= pn;
baseNoise *= max(0.1, distToWater / (0.5-WATER_WIDTH));
}
oldH = h;
h += baseNoise;
// add some higher-frequency noise on land
if( oldH > 0 )
{
h += (0.4*noise2a.eval(x,y) + 0.2*noise2b.eval(x,y)) * min(oldH/10.0, 1.0);
}
// create cliff noise
if( h > -10 )
{
cliffNoise = (1*noise3.eval(x,y) + 0.5*noise4.eval(x,y)) / 1.5;
if(h < 1) {
u = 1 - .3*((h-1)/-10);
cliffNoise *= u;
}
cliffNoise += .05 * distToWater / (0.5 - WATER_WIDTH);
if(cliffNoise > .6) {
u = 0.8 * (cliffNoise-.6);
cliffNoise += u * noise5.eval(x,y);
cliffNoise /= (1+u);
}
cliffNoise -= 0.59;
cliffNoise *= pn;
if(cliffNoise > 0) {
h += 19 * min(cliffNoise, 0.045) / 0.045;
}
}
// set the height
setHeight(ix, iy, h);
}
}
// Paint base terrain
println("Painting terrain...");
noise6 = new Noise2D(10 * SIZE/128);
noise7 = new Noise2D(20 * SIZE/128);
noise8 = new Noise2D(13 * SIZE/128);
noise9 = new Noise2D(26 * SIZE/128);
noise10 = new Noise2D(50 * SIZE/128);
for(ix=0; ix<SIZE; ix++) {
for(iy=0; iy<SIZE; iy++) {
x = ix / (SIZE + 1.0);
y = iy / (SIZE + 1.0);
pn = playerNearness(x, y);
// get heights of surrounding vertices
h00 = getHeight(ix, iy);
h01 = getHeight(ix, iy+1);
h10 = getHeight(ix+1, iy);
h11 = getHeight(ix+1, iy+1);
// find min and max height
maxH = max(h00, h01, h10, h11);
minH = min(h00, h01, h10, h11);
// figure out if we're at the top of a cliff using min adjacent height
minAdjHeight = minH;
if(maxH > 15) {
for(nx=max(ix-1, 0); nx<=min(ix+2, SIZE); nx++) {
for(ny=max(iy-1, 0); ny<=min(iy+2, SIZE); ny++) {
minAdjHeight = min(minAdjHeight, getHeight(nx, ny));
}
}
}
// choose a terrain based on elevation
t = tGrass;
// water
if(maxH < -12) {
t = tOceanDepths;
}
else if(maxH < -8.8) {
t = tOceanRockDeep;
}
else if(maxH < -4.7) {
t = tOceanCoral;
}
else if(maxH < -2.8) {
t = tOceanRockShallow;
}
else if(maxH < .9 && minH < .35) {
t = tBeachWet;
}
else if(maxH < 1.5 && minH < .9) {
t = tBeachDry;
}
else if(maxH < 2.3 && minH < 1.3) {
t = tBeachGrass;
}
if(minH < 0) {
addToClass(ix, iy, clWater);
}
// cliffs
if(maxH - minH > 2.9 && minH > -7) {
t = tCliff;
addToClass(ix, iy, clCliff);
}
else if((maxH - minH > 2.5 && minH > -5) || (maxH-minAdjHeight > 2.9 && minH > 0) ) {
if(minH < -1) t = tCliff;
else if(minH < .5) t = tBeachCliff;
else t = [tDirtCliff, tGrassCliff, tGrassCliff, tGrassRock, tCliff];
addToClass(ix, iy, clCliff);
}
// forests
if(maxH - minH < 1 && minH > 1) {
forestNoise = (noise6.eval(x,y) + 0.5*noise7.eval(x,y)) / 1.5 * pn;
forestNoise -= 0.59;
if(forestNoise > 0) {
if(minH > 5) {
typeNoise = noise10.eval(x,y);
if(typeNoise < .43 && forestNoise < .05) t = tPoplarForest;
else if(typeNoise < .63) t = tMainForest;
else t = tPineForest;
addToClass(ix, iy, clForest);
}
else if(minH < 3) {
t = tPalmForest;
addToClass(ix, iy, clForest);
}
}
}
// grass variations
if(t==tGrass)
{
grassNoise = (noise8.eval(x,y) + .6*noise9.eval(x,y)) / 1.6;
if(grassNoise < .3) {
t = (maxH - minH > 1.2) ? tDirtCliff : tDirt;
}
else if(grassNoise < .34) {
t = (maxH - minH > 1.2) ? tGrassCliff : tGrassDry;
if(maxH - minH < .5 && randFloat() < .03) {
placeObject(oGrassDry, 0, ix+randFloat(), iy+randFloat(), randFloat()*2*Math.PI);
}
}
else if(grassNoise > .61) {
t = (maxH - minH > 1.2) ? tGrassRock : tGrassShrubs;
}
else {
if(maxH - minH < .5 && randFloat() < .05) {
placeObject(oGrass, 0, ix+randFloat(), iy+randFloat(), randFloat()*2*Math.PI);
}
}
}
placeTerrain(ix, iy, t);
}
}
println("Placing object groups...");
// create settlements
group = new SimpleGroup([new SimpleObject("special_settlement", 1,1, 0,0)], true, clSettlement);
createObjectGroups(group, 0,
avoidClasses(clWater, 5, clForest, 4, clPlayer, 25, clCliff, 4, clSettlement, 35),
2 * NUM_PLAYERS, 50
);
// create straggler trees
trees = [oCarob, oBeech, oLombardyPoplar, oLombardyPoplar, oPine]
for(t in trees) {
group = new SimpleGroup([new SimpleObject(trees[t], 1,1, 0,1)], true, clForest);
createObjectGroups(group, 0,
avoidClasses(clWater, 5, clCliff, 0, clForest, 1, clSettlement, 4, clPlayer, 15),
SIZE*SIZE/7000, 50
);
}
// create cypresses
group = new SimpleGroup([
new SimpleObject("flora/trees/cypress2.xml", 1,3, 0,3),
new SimpleObject("flora/trees/cypress1.xml", 0,2, 0,2)]);
createObjectGroups(group, 0,
avoidClasses(clWater, 4, clCliff, 2, clForest, 1, clSettlement, 4, clPlayer, 15),
SIZE*SIZE/3500, 50
);
// create bushes
group = new SimpleGroup([
new SimpleObject(oBushSmall, 0,2, 0,2),
new SimpleObject(oBushSmallDry, 0,2, 0,2),
new SimpleObject(oBushMed, 0,1, 0,2),
new SimpleObject(oBushMedDry, 0,1, 0,2)]);
createObjectGroups(group, 0,
avoidClasses(clWater, 4, clCliff, 2),
SIZE*SIZE/1800, 50
);
// create rocks
group = new SimpleGroup([
new SimpleObject(oRockSmall, 0,3, 0,2),
new SimpleObject(oRockMed, 0,2, 0,2),
new SimpleObject(oRockLarge, 0,1, 0,2)]);
createObjectGroups(group, 0,
avoidClasses(clWater, 0, clCliff, 0),
SIZE*SIZE/1800, 50
);
// create stone
group = new SimpleGroup([new SimpleObject(oStone, 2,3, 0,2)], true, clStone);
createObjectGroups(group, 0,
[avoidClasses(clWater, 0, clForest, 0, clPlayer, 20, clStone, 15, clSettlement, 4),
new BorderTileClassConstraint(clCliff, 0, 5)],
3 * NUM_PLAYERS, 100
);
// create metal
group = new SimpleGroup([new SimpleObject(oMetal, 2,3, 0,2)], true, clMetal);
createObjectGroups(group, 0,
[avoidClasses(clWater, 0, clForest, 0, clPlayer, 20, clMetal, 15, clStone, 5, clSettlement, 4),
new BorderTileClassConstraint(clCliff, 0, 5)],
3 * NUM_PLAYERS, 100
);
// create sheep
group = new SimpleGroup([new SimpleObject(oSheep, 2,4, 0,2)], true, clFood);
createObjectGroups(group, 0,
avoidClasses(clWater, 5, clForest, 1, clCliff, 1, clPlayer, 20,
clMetal, 2, clStone, 2, clFood, 8, clSettlement, 4),
3 * NUM_PLAYERS, 100
);
// create berry bushes
group = new SimpleGroup([new SimpleObject(oBerryBush, 5,7, 0,3)], true, clFood);
createObjectGroups(group, 0,
avoidClasses(clWater, 5, clForest, 1, clCliff, 1, clPlayer, 20,
clMetal, 2, clStone, 2, clFood, 8, clSettlement, 4),
1.5 * NUM_PLAYERS, 100
);
@@ -1,280 +0,0 @@
// constants
const SIZE = 208;
const NUM_PLAYERS = 4;
const tSand = "desert_rough";
const tDunes = "desert_wave";
const tFineSand = "desert_sahara";
const tCliff = "cliff_desert";
const tForest = "grass_sand_75|flora/trees/palm_b.xml";
const tGrassSand75 = "grass_sand_75";
const tGrassSand50 = "grass_sand_50";
const tGrassSand25 = "grass_sand_25_2";
const tDirt = "dirt_hard";
const tDirtCracks = "dirt_cracks";
const tShore = "sand";
const tWater = "water_2";
const tWaterDeep = "water_3";
const oTree = "flora/trees/palm_b.xml";
const oBerryBush = "flora_bush_berry";
const oBush = "props/flora/bush_dry_a.xml";
const oSheep = "fauna_sheep";
const oDeer = "fauna_deer";
const oMine = "geology_stone_light";
const oDecorativeRock = "geology/gray1.xml";
// some utility functions to save typing
function paintClass(cl) {
return new TileClassPainter(cl);
}
function avoidClasses(/*class1, dist1, class2, dist2, etc*/) {
var ar = new Array(arguments.length/2);
for(var i=0; i<arguments.length/2; i++) {
ar[i] = new AvoidTileClassConstraint(arguments[2*i], arguments[2*i+1]);
}
return ar;
}
// initialize map
println("Initializing map...");
init(SIZE, tSand, 10);
// create tile classes
clPlayer = createTileClass();
clHill1 = createTileClass();
clHill2 = createTileClass();
clHill3 = createTileClass();
clForest = createTileClass();
clWater = createTileClass();
clPatch = createTileClass();
clRock = createTileClass();
clFood = createTileClass();
clBaseResource = createTileClass();
// place players
playerX = new Array(NUM_PLAYERS);
playerY = new Array(NUM_PLAYERS);
playerAngle = new Array(NUM_PLAYERS);
startAngle = randFloat() * 2 * PI;
for(i=0; i<NUM_PLAYERS; i++) {
playerAngle[i] = startAngle + i*2*PI/NUM_PLAYERS;
playerX[i] = 0.5 + 0.39*cos(playerAngle[i]);
playerY[i] = 0.5 + 0.39*sin(playerAngle[i]);
}
for(i=0; i<NUM_PLAYERS; i++) {
println("Creating base for player " + i + "...");
// some constants
radius = 20;
cliffRadius = 2;
elevation = 30;
// get the x and y in tiles
fx = fractionToTiles(playerX[i]);
fy = fractionToTiles(playerY[i]);
ix = round(fx);
iy = round(fy);
// calculate size based on the radius
size = PI * radius * radius;
// create the hill
placer = new ClumpPlacer(size, 0.9, 0.5, 0, ix, iy);
createArea(placer, paintClass(clPlayer), null);
// create the central road patch
placer = new ClumpPlacer(PI*2*2, 0.6, 0.3, 0.5, ix, iy);
painter = new TerrainPainter(tDirt);
createArea(placer, painter, null);
// create the TC and the villies
group = new SimpleGroup(
[ // elements (type, count, distance)
new SimpleObject("hele_civil_centre", 1,1, 0,0),
new SimpleObject("hele_infantry_spearman_b", 3,3, 5,5)
],
true, null, ix, iy
);
createObjectGroup(group, i);
// create berry bushes
bbAngle = randFloat()*2*PI;
bbDist = 10;
bbX = round(fx + bbDist * cos(bbAngle));
bbY = round(fy + bbDist * sin(bbAngle));
group = new SimpleGroup(
[new SimpleObject(oSheep, 5,5, 0,2)],
true, clBaseResource, bbX, bbY
);
createObjectGroup(group, 0);
// create mines
mAngle = bbAngle;
while(abs(mAngle - bbAngle) < PI/3) {
mAngle = randFloat()*2*PI;
}
mDist = 12;
mX = round(fx + mDist * cos(mAngle));
mY = round(fy + mDist * sin(mAngle));
group = new SimpleGroup(
[new SimpleObject(oMine, 3,3, 0,2)],
true, clBaseResource, mX, mY
);
createObjectGroup(group, 0);
// create starting straggler trees
group = new SimpleGroup(
[new SimpleObject(oTree, 2,2, 6,12)],
true, null, ix, iy
);
createObjectGroup(group, 0, avoidClasses(clBaseResource,1));
}
// create patches
println("Creating sand patches...");
placer = new ClumpPlacer(30, 0.2, 0.1, 0);
painter = new LayeredPainter([1], [[tSand, tFineSand], tFineSand]);
createAreas(placer, [painter, paintClass(clPatch)],
avoidClasses(clPatch, 5),
(SIZE*SIZE)/600
);
println("Creating dirt patches...");
placer = new ClumpPlacer(10, 0.2, 0.1, 0);
painter = new TerrainPainter([tSand, tDirt]);
createAreas(placer, [painter, paintClass(clPatch)],
avoidClasses(clPatch, 5),
(SIZE*SIZE)/600
);
// create the oasis
println("Creating water...");
placer = new ClumpPlacer(1200, 0.6, 0.1, 0, SIZE/2, SIZE/2);
painter = new LayeredPainter([6,1], [[tSand, tForest], tShore, tWaterDeep]);
elevationPainter = new SmoothElevationPainter(ELEVATION_MODIFY, -10, 5);
createArea(placer, [painter, elevationPainter, paintClass(clForest)], null);
// create hills
println("Creating level 1 hills...");
placer = new ClumpPlacer(150, 0.25, 0.1, 0.3);
terrainPainter = new LayeredPainter(
[1], // widths
[tCliff, tSand] // terrains
);
elevationPainter = new SmoothElevationPainter(ELEVATION_MODIFY, 16, 1);
createAreas(placer, [terrainPainter, elevationPainter, paintClass(clHill1)],
avoidClasses(clForest, 2, clPlayer, 0, clHill1, 16),
(SIZE*SIZE)/3800, 100
);
println("Creating small level 1 hills...");
placer = new ClumpPlacer(60, 0.25, 0.1, 0.3);
terrainPainter = new LayeredPainter(
[1], // widths
[tCliff, tSand] // terrains
);
elevationPainter = new SmoothElevationPainter(ELEVATION_MODIFY, 16, 1);
createAreas(placer, [terrainPainter, elevationPainter, paintClass(clHill1)],
avoidClasses(clForest, 2, clPlayer, 0, clHill1, 3),
(SIZE*SIZE)/2800, 100
);
println("Creating level 2 hills...");
placer = new ClumpPlacer(60, 0.2, 0.1, 0.9);
terrainPainter = new LayeredPainter(
[1], // widths
[tCliff, tSand] // terrains
);
elevationPainter = new SmoothElevationPainter(ELEVATION_MODIFY, 16, 1);
createAreas(placer, [terrainPainter, elevationPainter, paintClass(clHill2)],
[avoidClasses(clHill2, 1), new StayInTileClassConstraint(clHill1, 0)],
(SIZE*SIZE)/2800, 200
);
println("Creating level 3 hills...");
placer = new ClumpPlacer(25, 0.2, 0.1, 0.9);
terrainPainter = new LayeredPainter(
[1], // widths
[tCliff, tSand] // terrains
);
elevationPainter = new SmoothElevationPainter(ELEVATION_MODIFY, 16, 1);
createAreas(placer, [terrainPainter, elevationPainter, paintClass(clHill3)],
[avoidClasses(clHill3, 1), new StayInTileClassConstraint(clHill2, 0)],
(SIZE*SIZE)/9000, 300
);
// create forests
println("Creating forests...");
placer = new ClumpPlacer(25, 0.15, 0.1, 0.3);
painter = new TerrainPainter([tSand, tForest]);
createAreas(placer, [painter, paintClass(clForest)],
avoidClasses(clWater, 0, clPlayer, 1, clForest, 20, clHill1, 0),
(SIZE*SIZE)/4000, 50
);
// create mines
println("Creating mines...");
group = new SimpleGroup([new SimpleObject(oMine, 4,6, 0,2)], true, clRock);
createObjectGroups(group, 0,
[avoidClasses(clWater, 2, clForest, 2, clPlayer, 0, clRock, 13),
new BorderTileClassConstraint(clHill1, 0, 4)],
(SIZE*SIZE)/4000, 100
);
// create decorative rocks for hills
println("Creating decorative rocks...");
group = new SimpleGroup([new SimpleObject(oDecorativeRock, 1,1, 0,0)], true);
createObjectGroups(group, 0,
new BorderTileClassConstraint(clHill1, 0, 3),
(SIZE*SIZE)/2000, 100
);
// create deer
println("Creating deer...");
group = new SimpleGroup([new SimpleObject(oDeer, 5,7, 0,4)], true, clFood);
createObjectGroups(group, 0,
avoidClasses(clWater, 0, clForest, 0, clPlayer, 0, clHill1, 0, clFood, 25),
(SIZE*SIZE)/5000, 50
);
// create sheep
println("Creating sheep...");
group = new SimpleGroup([new SimpleObject(oSheep, 1,3, 0,2)], true, clFood);
createObjectGroups(group, 0,
avoidClasses(clWater, 0, clForest, 0, clPlayer, 0, clHill1, 0, clFood, 15),
(SIZE*SIZE)/5000, 50
);
// create straggler trees
println("Creating straggler trees...");
group = new SimpleGroup([new SimpleObject(oTree, 1,1, 0,0)], true);
createObjectGroups(group, 0,
avoidClasses(clWater, 0, clForest, 0, clHill1, 0, clPlayer, 0),
SIZE*SIZE/1500
);
// create bushes
println("Creating bushes...");
group = new SimpleGroup([new SimpleObject(oBush, 2,3, 0,2)]);
createObjectGroups(group, 0,
avoidClasses(clWater, 3, clHill1, 0, clPlayer, 0, clForest, 0),
SIZE*SIZE/1000
);
// create bushes
println("Creating more decorative rocks...");
group = new SimpleGroup([new SimpleObject(oDecorativeRock, 1,2, 0,2)]);
createObjectGroups(group, 0,
avoidClasses(clWater, 3, clHill1, 0, clPlayer, 0, clForest, 0),
SIZE*SIZE/1000
);
@@ -1,137 +0,0 @@
const SIZE = 160;
const sand = "beach_medit_dry";
const grass1 = "grass_temperate_a";
const grass2 = "grass_mediterranean_green_flowers";
const forestFloor = "forrestfloor";
const dirt1 = "grass_sand_75";
const dirt2 = "grass_sand_50";
const dirt3 = "dirt_brown_e";
const cliffBase = "cliff base a";
const cliffBeach = "beech_cliff_a_75";
const cliff = "cliff_face3";
const oTree = "flora_tree_oak";
const oGrass = "props/flora/grass_soft_small.xml"
const oMine = "geology_stone_light";
// Initialize
init(SIZE, grass1, 0);
// Create classes
clImpassable = createTileClass();
clRock = createTileClass();
// Paint elevation
noise0 = new Noise2D(4 * SIZE/128.0);
noise1 = new Noise2D(8 * SIZE/128.0);
noise2 = new Noise2D(11 * SIZE/128.0);
noise3 = new Noise2D(30 * SIZE/128.0);
noise4 = new Noise2D(60 * SIZE/128.0);
for(ix=0; ix<SIZE+1; ix++) {
for(iy=0; iy<SIZE+1; iy++) {
x = ix / (SIZE + 1.0);
y = iy / (SIZE + 1.0);
// Calculate base noise
n = (noise0.eval(x, y) + 0.4 * noise1.eval(x, y)) / 1.4;
T = .4; // Water cutoff
if(n < T) {
// Tile is underwater - just scale the height down a bit
h = Math.max(-50 * (T-n)/T, -8);
}
else {
// Tile is above water - add some land noise depending on how far we are from the shoreline
u = 27*noise1.eval(x, y) + 14*noise2.eval(x,y) + 9 * noise3.eval(x,y) - 14;
h = 8*(n-T) + Math.max(0, lerp(0, u, Math.min(.1, n-T)*10));
h += 0.4*noise4.eval(x, y);
}
setHeight(ix, iy, h);
}
}
// Paint terrains
for(ix=0; ix<SIZE; ix++) {
for(iy=0; iy<SIZE; iy++) {
h00 = getHeight(ix, iy);
h01 = getHeight(ix, iy+1);
h10 = getHeight(ix+1, iy);
h11 = getHeight(ix+1, iy+1);
maxH = Math.max(h00, h01, h10, h11);
minH = Math.min(h00, h01, h10, h11);
if(maxH <= 0) {
setTexture(ix, iy, sand);
addToClass(ix, iy, clImpassable);
}
else if(maxH - minH > 3.2) {
setTexture(ix, iy, cliff);
addToClass(ix, iy, clImpassable);
}
else if(maxH - minH > 2.7) {
setTexture(ix, iy, cliffBase);
addToClass(ix, iy, clImpassable);
}
else if(minH <= 0) {
setTexture(ix, iy, sand);
addToClass(ix, iy, clImpassable);
}
else {
setTexture(ix, iy, grass1);
}
}
}
// Paint forest and dirt
forestNoise1 = new Noise2D(20 * SIZE/128.0);
forestNoise2 = new Noise2D(40 * SIZE/128.0);
dirtNoise = new Noise2D(80 * SIZE/128.0);
for(ix=0; ix<SIZE; ix++) {
for(iy=0; iy<SIZE; iy++) {
x = ix / (SIZE + 1.0);
y = iy / (SIZE + 1.0);
h00 = getHeight(ix, iy);
h01 = getHeight(ix, iy+1);
h10 = getHeight(ix+1, iy);
h11 = getHeight(ix+1, iy+1);
maxH = Math.max(h00, h01, h10, h11);
minH = Math.min(h00, h01, h10, h11);
if(maxH - minH < 1.7 && minH > 0) {
fn = (forestNoise1.eval(x,y) + .5*forestNoise1.eval(x,y)) / 1.5;
if(minH > .5 && fn < .38 && dirtNoise.eval(x,y) > .55) {
if(dirtNoise.eval(x,y) > .72) {
setTexture(ix, iy, dirt2);
}
else {
setTexture(ix, iy, dirt1);
}
}
if(fn > .6 && randFloat() < (.3 + .7 * Math.min(fn-.6, .1) / .1) ) {
placeObject(oTree, 0, ix+.4+.2*randFloat(), iy+.4+.2*randFloat(), randFloat()*2*Math.PI);
addToClass(ix, iy, clImpassable);
if(randFloat() < .7) {
setTexture(ix, iy, forestFloor);
}
}
}
}
}
println("Creating mines...");
group = new SimpleGroup([new SimpleObject(oMine, 3,4, 0,2)], true, clRock);
createObjectGroups(group, 0,
new AvoidTileClassConstraint(clImpassable, 2, clRock, 13),
12, 100
);
@@ -1,5 +0,0 @@
//TODO: Move to some library file?
initFromScenario("mediterannean", LOAD_ALL);
@@ -1,272 +0,0 @@
// Object type constants
const
TYPE_RECT_PLACER = 1,
TYPE_TERRAIN_PAINTER = 2,
TYPE_NULL_CONSTRAINT = 3,
TYPE_LAYERED_PAINTER = 4,
TYPE_AVOID_AREA_CONSTRAINT = 5,
TYPE_CLUMP_PLACER = 6,
TYPE_AVOID_TEXTURE_CONSTRAINT = 7,
TYPE_ELEVATION_PAINTER = 8,
TYPE_SMOOTH_ELEVATION_PAINTER = 9,
TYPE_SIMPLE_GROUP = 10,
TYPE_AVOID_TILE_CLASS_CONSTRAINT = 11,
TYPE_TILE_CLASS_PAINTER = 12,
TYPE_STAY_IN_TILE_CLASS_CONSTRAINT = 13,
TYPE_BORDER_TILE_CLASS_CONSTRAINT = 14;
// SmoothElevationPainter constants
const ELEVATION_SET = 0;
const ELEVATION_MODIFY = 1;
// PI
const PI = Math.PI;
// initFromScenario constants
const LOAD_NOTHING = 0;
const LOAD_TERRAIN = 1;
const LOAD_INTERACTIVES = 2;
const LOAD_NON_INTERACTIVES = 4;
const LOAD_ALL = LOAD_TERRAIN | LOAD_INTERACTIVES | LOAD_NON_INTERACTIVES;
// Utility functions
function fractionToTiles(f) {
return getMapSize() * f;
}
function tilesToFraction(t) {
return t / getMapSize();
}
function fractionToSize(f) {
return getMapSize() * getMapSize() * f;
}
function sizeToFraction(s) {
return s / getMapSize() / getMapSize();
}
function cos(x) {
return Math.cos(x);
}
function sin(x) {
return Math.sin(x);
}
function tan(x) {
return Math.tan(x);
}
function abs(x) {
return Math.abs(x);
}
function round(x) {
return Math.round(x);
}
function lerp(a, b, t) {
return a + (b-a) * t;
}
function println(x) {
print(x);
print("\n");
}
function argsToArray(x) {
if(x.length!=1) {
var ret = new Array();
for(var i=0; i<x.length; i++) {
ret[i] = x[i];
}
return ret;
}
else {
return x[0];
}
}
function chooseRand() {
if(arguments.length==0) {
error("chooseRand: requires at least 1 argument");
}
var ar = argsToArray(arguments);
return ar[randInt(ar.length)];
}
function createAreas(centeredPlacer, painter, constraint, num, retryFactor) {
if(retryFactor == undefined) {
retryFactor = 10;
}
var maxFail = num * retryFactor;
var good = 0;
var bad = 0;
var ret = new Array();
while(good < num && bad <= maxFail) {
centeredPlacer.x = randInt(SIZE);
centeredPlacer.y = randInt(SIZE);
var r = createArea(centeredPlacer, painter, constraint);
if(r) {
good++;
ret[ret.length] = r;
}
else {
bad++;
}
}
return ret;
}
function createObjectGroups(placer, player, constraint, num, retryFactor) {
if(retryFactor == undefined) {
retryFactor = 10;
}
var maxFail = num * retryFactor;
var good = 0;
var bad = 0;
while(good < num && bad <= maxFail) {
placer.x = randInt(SIZE);
placer.y = randInt(SIZE);
var r = createObjectGroup(placer, player, constraint);
if(r) {
good++;
}
else {
bad++;
}
}
return good;
}
// Area placers
function RectPlacer(x1, y1, x2, y2) {
this.TYPE = TYPE_RECT_PLACER;
this.x1 = x1;
this.y1 = y1;
this.x2 = x2;
this.y2 = y2;
}
function TerrainPainter(terrain) {
this.TYPE = TYPE_TERRAIN_PAINTER;
this.terrain = terrain;
}
function ClumpPlacer(size, coherence, smoothness, failFraction, x, y) {
this.TYPE = TYPE_CLUMP_PLACER;
this.size = size;
this.coherence = coherence;
this.smoothness = smoothness;
this.failFraction = failFraction!=undefined ? failFraction : 0;
this.x = x!=undefined ? x : -1;
this.y = y!=undefined ? y : -1;
}
// Area painters
function LayeredPainter(widths, terrains) {
this.TYPE = TYPE_LAYERED_PAINTER;
this.widths = widths;
this.terrains = terrains;
}
function ElevationPainter(elevation) {
this.TYPE = TYPE_ELEVATION_PAINTER;
this.elevation = elevation;
}
function TileClassPainter(tileClass) {
this.TYPE = TYPE_TILE_CLASS_PAINTER;
this.tileClass = tileClass;
}
function SmoothElevationPainter(type, elevation, blendRadius) {
this.TYPE = TYPE_SMOOTH_ELEVATION_PAINTER;
this.type = type;
this.elevation = elevation;
this.blendRadius = blendRadius;
}
// Constraints
function NullConstraint() {
this.TYPE = TYPE_NULL_CONSTRAINT;
}
function AvoidAreaConstraint(area) {
this.TYPE = TYPE_AVOID_AREA_CONSTRAINT;
this.area = area;
}
function AvoidTextureConstraint(texture) {
this.TYPE = TYPE_AVOID_TEXTURE_CONSTRAINT;
this.texture = texture;
}
function AvoidTileClassConstraint(tileClass, distance) {
this.TYPE = TYPE_AVOID_TILE_CLASS_CONSTRAINT;
this.tileClass = tileClass;
this.distance = distance;
}
function StayInTileClassConstraint(tileClass, distance) {
this.TYPE = TYPE_STAY_IN_TILE_CLASS_CONSTRAINT;
this.tileClass = tileClass;
this.distance = distance;
}
function BorderTileClassConstraint(tileClass, distanceInside, distanceOutside) {
this.TYPE = TYPE_BORDER_TILE_CLASS_CONSTRAINT;
this.tileClass = tileClass;
this.distanceInside = distanceInside;
this.distanceOutside = distanceOutside;
}
// Object groups
function SimpleObject(type, minCount, maxCount, minDistance, maxDistance,
minAngle, maxAngle) {
this.type = type;
this.minCount = minCount;
this.maxCount = maxCount;
this.minDistance = minDistance;
this.maxDistance = maxDistance;
this.minAngle = minAngle!=undefined ? minAngle : 0;
this.maxAngle = maxAngle!=undefined ? maxAngle : 2*PI;
}
function SimpleGroup(elements, avoidSelf, tileClass, x, y) {
this.TYPE = TYPE_SIMPLE_GROUP;
this.elements = elements;
this.avoidSelf = avoidSelf!=undefined ? avoidSelf : false;
this.tileClass = tileClass!=undefined ? tileClass : null;
this.x = x!=undefined ? x : -1;
this.y = x!=undefined ? y : -1;
}
// Utility functions for classes
// Create a painter for the given class
function paintClass(cl) {
return new TileClassPainter(cl);
}
// Create an avoid constraint for the given classes by the given distances
function avoidClasses(/*class1, dist1, class2, dist2, etc*/) {
var ar = new Array(arguments.length/2);
for(var i=0; i<arguments.length/2; i++) {
ar[i] = new AvoidTileClassConstraint(arguments[2*i], arguments[2*i+1]);
}
return ar;
}
Binary file not shown.
Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More