Skip to content
This repository has been archived by the owner on Apr 17, 2022. It is now read-only.

JavaScript Campaign conversion material #4234

Closed
wzdev-ci opened this issue Oct 22, 2014 · 34 comments
Closed

JavaScript Campaign conversion material #4234

wzdev-ci opened this issue Oct 22, 2014 · 34 comments

Comments

@wzdev-ci
Copy link
Contributor

resolution_closed type_task | by vexed


Please use this ticket to attach your completed campaign conversions.


Issue migrated from trac:4234 at 2022-04-16 11:45:45 -0700

@wzdev-ci
Copy link
Contributor Author

NoQ <noqnoqneo@...> commented


In Warzone2100/warzone2100@a52d783:

#CommitTicketReference repository="" revision="a52d783707395a7e702be38fead1156cbe5005c9"
jscam: Fix campaign map labels.
Combined with 72caa08, the campaign should be working again.

refs #4234.
closes #4233

@wzdev-ci
Copy link
Contributor Author

NoQ <noqnoqneo@...> committed [56]


In Warzone2100/warzone2100@56fbcae:

#CommitTicketReference repository="" revision="56fbcaef964449fc7b9f3dfede09b1404ac521b6"
jscam: improved camMarkTiles and eventArea<>.

camMarkTiles now accepts a list of areas to mark. Also,
it adds areas to mark, rather than replaces them.
Add new function: camUnmarkTiles.

New decorator: camAreaEvent, to simplify eventArea coding.

Update the levels to use new features. Areas are no longer
triggered by scavenger units, but only by player units.

refs #4234

@wzdev-ci
Copy link
Contributor Author

NoQ <noqnoqneo@...> commented


In Warzone2100/warzone2100@b615352:

#CommitTicketReference repository="" revision="b615352e33c146b5e0dacbb266aa07cb7d18d5e8"
jscam: An easier way to define factory templates.

refs #4234

@wzdev-ci
Copy link
Contributor Author

NoQ <noqnoqneo@...> committed [04981842746]


In Warzone2100/warzone2100@0498184:

#CommitTicketReference repository="" revision="04981842746d67acf0a0565fd9a06c5f639d0f6f"
jscam: Implement auto-detection of enemy bases.

Group labels for enemy bases are no longer required
most of the time.

Fix base2factory in cam1b.js in the process.

refs #4234

@wzdev-ci
Copy link
Contributor Author

NoQ <noqnoqneo@...> commented


In Warzone2100/warzone2100@c0f45c0:

#CommitTicketReference repository="" revision="c0f45c0d3d83de7f918cf06cd984d8086511d905"
jscam: Convert cam1bx.vlo and cam1bx.slo.

refs #4234

@wzdev-ci
Copy link
Contributor Author

NoQ <noqnoqneo@...> committed [51]


In Warzone2100/warzone2100@51db9f6:

#CommitTicketReference repository="" revision="51db9f637d1a4f7b14163403bfccd50200533678"
jscam: Bring clarity into proximity messages.

Now "enemy base detected" messages are defined
in enemy base structures and played automatically
on seen. Beacons are placed and removed automatically.
New function: camDetectEnemyBase() to manually
highlight an enemy base.

refs #4234

@wzdev-ci
Copy link
Contributor Author

NoQ <noqnoqneo@...> committed [90]


In Warzone2100/warzone2100@90e2f3c:

#CommitTicketReference repository="" revision="90e2f3c1b447a47d9a18778d370c3ddd99762413"
jscam: Minor fixes for levels 1 and 2.

camMakePos(AREA) now returns the center of the area,
because returning random spot in the area causes
hard-to-reproduce bugs and not useful anyway.

refs #4234

@wzdev-ci
Copy link
Contributor Author

NoQ <noqnoqneo@...> committed [567]


In Warzone2100/warzone2100@567c6e8:

#CommitTicketReference repository="" revision="567c6e81ba3abeb18b8e26af90dcceb8a58a6f10"
jscam: Fix some jslint warnings. refs #4234

@wzdev-ci
Copy link
Contributor Author

wzdev-ci commented Nov 1, 2014

NoQ <noqnoqneo@...> commented


In Warzone2100/warzone2100@efc04bd:

#CommitTicketReference repository="" revision="efc04bd7f3266b3098c12f5860b2dd5d20b6dad9"
jscam: Convert cam1-2s.{vlo,slo} into cam1-2s.js.

In the process:
- add a new sort of victory conditions for the pre-away mission.
- fix defeat on mission timeout (aint automatic).
- start fixing loading rules.js for the converted levels.
- fix the POTFILES.in file, adding campaign scripts here.
- add a new function: camSetupTransporter.
- fix crash when "let me win" is called and some
  in-object artifacts were already picked up

refs #4234

@wzdev-ci
Copy link
Contributor Author

wzdev-ci commented Nov 2, 2014

NoQ <noqnoqneo@...> committed [9583]


In Warzone2100/warzone2100@9583cb6:

#CommitTicketReference repository="" revision="9583cb6eb863843dcb69925d37d35d241b81d606"
jscam: Convert cam1-2.{vlo,slo} into cam1-2.js.

In the process:
- Add a new scripted cheat, "ascend <level>".
- Add a new pre-defined victory condition, CAM_VICTORY_OFFWORLD.
- Add a new campaign group order, CAM_ORDER_COMPROMISE.
- Allow CAM_ORDER_ATTACK to take list of positions.
- Implement artifact pickup callbacks.
- Don't cause victory until all enemies are defeated.
- Throw all enemies into last attack when all bases are destroyed,
  which fixes previous missions as well.

refs #4234

@wzdev-ci
Copy link
Contributor Author

wzdev-ci commented Nov 2, 2014

vexed commented


While doing other testing... I ran into a bug (well, let's call it noise).

@@ -1663,18 +1663,21 @@ __camPreHookEvent("eventStartLevel", function()
 	setTimer("__camTick", 5000);
 });
 
 __camPreHookEvent("eventDroidBuilt", function(droid, structure)
 {
-	if (!camPlayerMatchesFilter(structure.player, ENEMIES))
+	if (!__camCheatMode && !camPlayerMatchesFilter(structure.player, ENEMIES))
 		return;
 	if (!camPlayerMatchesFilter(droid.player, ENEMIES))
 		return;
 	if (!camDef(__camFactoryInfo))
 		return;
-	__camContinueProduction(structure);
-	__camAddDroidToFactoryGroup(droid, structure);
+	if (structure)
+		{
+			__camContinueProduction(structure);
+			__camAddDroidToFactoryGroup(droid, structure);
+		}
 });
 
 __camPreHookEvent("eventDestroyed", function(obj)
 {
 	__camCheckPlaceArtifact(obj);

Fixes it.

@wzdev-ci
Copy link
Contributor Author

wzdev-ci commented Nov 3, 2014

NoQ <noqnoqneo@...> committed [0]


In Warzone2100/warzone2100@0d830dc:

#CommitTicketReference repository="" revision="0d830dc2a5a33e027c939a34e4af24d8583c4a5d"
jscam: Fix crashes on clone wars cheat.
Patch by vexed.
refs #4234

@wzdev-ci
Copy link
Contributor Author

wzdev-ci commented Nov 3, 2014

NoQ <noqnoqneo@...> committed [12]


In Warzone2100/warzone2100@12a8af6:

#CommitTicketReference repository="" revision="12a8af64725bc78a61357cc8f7fedadeb2b776f0"
jscam: Fix AI unit movement in SUB_1_2.
Also, fix execution of CAM_ORDER_COMPROMISE
and make use of LZ_COMPROMISED_TIME.
refs #4234

@wzdev-ci
Copy link
Contributor Author

wzdev-ci commented Nov 3, 2014

NoQ <noqnoqneo@...> committed [689]


In Warzone2100/warzone2100@689b6cb:

#CommitTicketReference repository="" revision="689b6cb255c9d7b73792d5b3db5d069502be540f"
jscam: Convert cam1-3s.{vlo,slo} into cam1-3s.js

refs #4234

@wzdev-ci
Copy link
Contributor Author

wzdev-ci commented Nov 4, 2014

NoQ <noqnoqneo@...> committed [815848]


In Warzone2100/warzone2100@815848d:

#CommitTicketReference repository="" revision="815848dcc7f7c96fd77109b60a9e2626304e489a"
jscam: Move eventAttacked and structure limits
to rules.js. Override structure limits
in level scritps when necessary.

refs #4234

@wzdev-ci
Copy link
Contributor Author

wzdev-ci commented Nov 8, 2014

NoQ <noqnoqneo@...> committed [55]


In Warzone2100/warzone2100@55f38a3:

#CommitTicketReference repository="" revision="55f38a3608b5910444e765a160f46a22968f5951"
jscam: Convert cam1-3.{vlo,slo} into cam1-3.js.

In the process:
- Add a new libcampaign.js function, camCallOnce()
- Add a new libcampaign.js order, CAM_ORDER_FOLLOW
- Implement repairing droids managed by libcampaign.js
- Make use of the new functions on earlier levels as well

refs #4234

@wzdev-ci
Copy link
Contributor Author

wzdev-ci commented Nov 8, 2014

vexed uploaded file 0001-That-JSON-still-is-not-correct-for-some-types.-DROID.patch (3.8 KiB)

@wzdev-ci
Copy link
Contributor Author

wzdev-ci commented Nov 9, 2014

vexed commented


In Warzone2100/warzone2100@f0ed5aa:

#CommitTicketReference repository="" revision="f0ed5aad9a19ab9169bb9d5f9cc56d1a207d414f"
That JSON still is not correct for some types...
(DROID_REPAIR is missing, and some others)
Same with the loadTemplateCommon(), it is missing types as well.

refs #4234

@wzdev-ci
Copy link
Contributor Author

wzdev-ci commented Nov 9, 2014

NoQ <noqnoqneo@...> committed [2]


In Warzone2100/warzone2100@2b9ff58:

#CommitTicketReference repository="" revision="2b9ff58084ee2cfb78e5de7f6cc534e5b393f3f4"
jscam: Implement commander support and regrouping in SUB_1_3

refs #4234

@wzdev-ci
Copy link
Contributor Author

wzdev-ci commented Nov 9, 2014

NoQ <noqnoqneo@...> committed [8]


In Warzone2100/warzone2100@8dfaaef:

#CommitTicketReference repository="" revision="8dfaaefce78b1379fa5346452cde1a2ed36abcbb"
jscam: Fix documentation for camManageGroup. refs #4234

@wzdev-ci
Copy link
Contributor Author

wzdev-ci commented Nov 9, 2014

NoQ <noqnoqneo@...> commented


In Warzone2100/warzone2100@d47e122:

#CommitTicketReference repository="" revision="d47e122d64b8de867eef7c6a70320c73b9ee9a63"
jscam: Fix a few issues with convoy and commander unit movement on SUB_1_3.

refs #4234

@wzdev-ci
Copy link
Contributor Author

haoNoQ <noqnoqneo@...> committed [3]


In Warzone2100/warzone2100@3bab86b:

#CommitTicketReference repository="" revision="3bab86b1311b9c6058ff12a52724a34da26e3fec"
jscam: Update campaign lib and levels with new API.

- Simplify eventArea, which no longer needs
  subscriber specified by level scripts, as
  it's part of the label now.
- No longer poll for eventSeen.
- Use RADIUS labels when circular trigger areas
  were used in the original campaign.

refs #4234

@wzdev-ci
Copy link
Contributor Author

NoQ <noqnoqneo@...> commented


In Warzone2100/warzone2100@b68bd50:

#CommitTicketReference repository="" revision="b68bd5056ab6aea11f62de4e471d12b6b49b140b"
jscam: Fix a few race conditions.

Fix warning when factory was destroyed
before its orders were modified.

Fix crashes on end of level when enemy base cleanup
is triggered after global level cleanup.

Fix failed assert on CAM_1B, when New Paradigm
scout droid is destroyed before retreat is triggered.

refs #4234

@wzdev-ci
Copy link
Contributor Author

haoNoQ <noqnoqneo@...> committed [87]


In Warzone2100/warzone2100@87ec0c5:

#CommitTicketReference repository="" revision="87ec0c574afcbba7567e442ccaaeda5e8c9f5503"
jscam: Split __camTacticsTick into smaller calls.

They are smoothed out across different frames
to improve performance. Exactly one group
is handled on every frame.

Add profile() calls for some important functions.

refs #4234

@wzdev-ci
Copy link
Contributor Author

wzdev-ci commented Dec 9, 2014

NoQ commented


Whoops, forgot to ref 139fcd6b3a08330e47beb8d98356bb20805904d4:

jscam: Minor fixes.
- Fix camManageGroup to actually support position labels in data.pos.
- Fix raidTrigger label subscriber in cam1a.js.
- Clear marked tiles end of level.
- Add a new debug command, "make cc", to quickly enable minimap and design.
- On death, don't call gameOverMessage more than once.

@wzdev-ci
Copy link
Contributor Author

NoQ <noqnoqneo@...> committed [346503915396570]


In Warzone2100/warzone2100@3465039:

#CommitTicketReference repository="" revision="346503915396570f05cfd0801e17b543f8fa04af"
jscam: Convert cam1c.{vlo,slo} into cam1c.js.

In the process:

- Add new libcampaign.js functions:
  * camSetEnemyReinforcements
  * camManageTrucks
  * camQueueDroidProduction
- Fix broken assembly points and several tactics bugs.
- Allow bases of different players to be detected by
  overlapping cleanup areas.

refs #4234

@wzdev-ci
Copy link
Contributor Author

NoQ <noqnoqneo@...> committed [15005609]


In Warzone2100/warzone2100@1500560:

#CommitTicketReference repository="" revision="15005609d33cfefcc99b847d92c91bef2333650e"
jscam: Convert cam1ca.{vlo,slo} into cam1ca.js

In the process:

- Queue up transporters in case of timing collisions,
  in order to let multiple un-synchronized landing zones
  function properly. Fix the previous level accodringly.
- Implement orders and messages for transport reinforcements.
- Implement an extra victory condition hook feature.
- Fix crashes on levels with no artifacts or no bases.

refs #4234

@wzdev-ci
Copy link
Contributor Author

NoQ <noqnoqneo@...> commented


In Warzone2100/warzone2100@ac4c7f5:

#CommitTicketReference repository="" revision="ac4c7f58296be8fb0dba79295628130e85b9ec81"
jscam: Add the forgotten labels file.
refs #4234

@wzdev-ci
Copy link
Contributor Author

NoQ <noqnoqneo@...> commented


In Warzone2100/warzone2100@ced794c:

#CommitTicketReference repository="" revision="ced794cc2a718eba0e829ae5cd8ef79f22a84cf9"
jscam: Convert cam1-4as.{vlo,slo} into cam1-4as.js

refs #4234

@wzdev-ci
Copy link
Contributor Author

NoQ <noqnoqneo@...> committed [33283]


In Warzone2100/warzone2100@33283a7:

#CommitTicketReference repository="" revision="33283a7daad4b0f15c7b7e5f14c64ebfe3cc197f"
jscam: Convert cam1-4a.{vlo,slo} into cam1-4a.js.

In the process:

- Add a new libcampaign.js function, camQueueBuilding().
- Accidentally fix order of files in POTFILES.in.

refs #4234

@wzdev-ci
Copy link
Contributor Author

Berserk Cyborg changed status from new to closed

@wzdev-ci
Copy link
Contributor Author

Berserk Cyborg changed resolution from `` to closed

@wzdev-ci
Copy link
Contributor Author

Berserk Cyborg commented


All campaign missions have been converted.

@wzdev-ci
Copy link
Contributor Author

NoQ commented


I'm fascinated, guys.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant