Commit Graph

514 Commits

Author SHA1 Message Date
Peter Ferrie
d8e235d753 minor size optimisations
note that fontengine.s!Wp_CFnt has a bad compare
2016-04-12 16:54:00 -07:00
Martin Haye
1a36b10698 Handle de-quoting the enemies.tsv file. 2016-04-07 10:11:35 -07:00
Martin Haye
312ee3a8a3 Fixed problem clearing portrait after teleport. 2016-04-07 07:35:28 -07:00
Martin Haye
ccc43368d4 Encounter zones working now. 2016-03-31 10:01:04 -07:00
Martin Haye
453d44b11a Speed things up a little. 2016-03-29 15:22:31 -07:00
Martin Haye
d17ef502e3 Good progress on implementing encounter zones. 2016-03-29 15:17:42 -07:00
Martin Haye
510385ccd3 Better error reporting. 2016-03-27 08:18:32 -07:00
Martin Haye
3a1ad7a0c0 Streamlined packing procedure for Windows use. 2016-03-25 09:39:15 -07:00
Martin Haye
44ef8798e7 Now packing global scripts from the Outlaw file. In particular, now requires a 'New game' script to be present, that it used to set map coordinates now (and much more later). 2016-03-24 09:45:07 -07:00
Martin Haye
99f5879993 String response gathering and checking now working. 2016-03-22 08:22:26 -07:00
Martin Haye
4bf6d8204a Look for enemies.tsv and font.bin in current directory if not found in the standard place. This will allow Seth to be fully independent of us developers and our exacting directory structure. 2016-02-27 11:02:58 -08:00
Martin Haye
c845bf6587 A few changes to support unibuild on Windows. 2016-02-16 09:33:16 -08:00
Martin Haye
7d6393d9c8 PackPartitions now grabs code files as resources from the Jar file if they're not present locally. 2016-02-15 16:25:24 -08:00
Martin Haye
e05a9691f9 Further work on just-in-time copy to build dir. 2016-02-15 14:43:25 -08:00
Martin Haye
ed21cb6d23 Now doing a better job of packing if/else statements and variables. 2016-02-15 13:58:30 -08:00
Martin Haye
5aeabcde51 Use user-defined script names in generated PLASMA code. 2016-02-10 04:58:14 -08:00
Martin Haye
291d529d5a Added incremental build of map scripts. 2016-02-09 08:39:52 -08:00
Martin Haye
e12555531a Pure-PLASMA scripts from Outlaw now working. 2016-02-09 08:23:25 -08:00
Martin Haye
042450d4ce Map scripts now being built as PLASMA source which is then compiled, instead of direct-to-bytecode. This will be much easier to maintain once it's fully working. 2016-02-03 08:50:22 -08:00
Martin Haye
c0e98cd6c4 Merge branch 'master' of https://github.com/badvision/lawless-legends 2016-02-01 08:07:19 -08:00
Martin Haye
8439e6840d PackPartitions now builds a 'fat' jar file containing all classes and dependent libraries. 2016-02-01 08:07:12 -08:00
dschmenk
d975768c62 Merge branch 'master' of http://github.com/badvision/lawless-legends 2016-01-29 13:46:03 -08:00
dschmenk
4efbe1bc23 Fix IDXW bug 2016-01-29 13:45:08 -08:00
Martin Haye
10db0b073a Added hex character constants within strings. 2016-01-29 08:27:00 -08:00
Martin Haye
4f6ca7ed34 Added cache to speed up packing. 2016-01-24 17:00:40 -08:00
Martin Haye
2851e6ca24 Cleaned up texture divvy code. 2016-01-24 13:11:35 -08:00
Martin Haye
c445c9808f Integrated disk image generation into PackPartitions. 2016-01-24 12:37:11 -08:00
Martin Haye
f239bd4ac2 PackPartitions now does everything itself: compile, assemble, pack. 2016-01-18 19:55:36 -08:00
Martin Haye
d1558d67cf PackPartitions now calls ACME to assemble sources. 2016-01-18 19:28:59 -08:00
Martin Haye
4caf8033b7 More progress building PLASMA code. 2016-01-18 18:23:02 -08:00
Martin Haye
26bc00f3af First steps getting PLASMA compiler to run inside PackPartitiions. 2016-01-18 17:59:54 -08:00
Martin Haye
4a410c8a07 Fixed circular dependencies at build time. 2016-01-18 17:00:31 -08:00
Martin Haye
79c30b84fc Added PLASMA makefile rule to build plasm.jar 2016-01-18 13:11:43 -08:00
Martin Haye
db1e6c3a6c Took non-working null func out of test. 2016-01-07 11:32:15 -08:00
Martin Haye
b1eb16df92 Merge branch 'master' of https://github.com/badvision/lawless-legends 2016-01-07 11:29:33 -08:00
Martin Haye
9883d292fc Start with first portrait for test mode. 2016-01-07 11:29:31 -08:00
Martin Haye
a93db4ea66 Took out some useless main/aux switching in decomp routine. 2016-01-07 11:28:03 -08:00
Martin Haye
59106ae953 Fixed nasty decompression bug having to do with match len multiple of 256. 2016-01-07 11:23:46 -08:00
dschmenk
328b0b5a1c Add increment/decrement statements and increase ID lenght to 32 2016-01-06 12:30:49 -08:00
Martin Haye
ecc9cc2016 Fixed portrait confusion, and moved enemy selection code to combat module. 2016-01-01 10:18:33 -08:00
Martin Haye
7e9bcabcc1 Now generating enemies from table instead of hand coding them. 2016-01-01 07:53:57 -08:00
Martin Haye
8c6c658ecf Making translating enemy table to code. 2016-01-01 06:04:42 -08:00
Martin Haye
55cd9892e3 More efficient way to call global scripts. 2015-12-31 09:56:50 -08:00
Martin Haye
9a1a1d0a0e Refactored global scripts into their own module. 2015-12-29 11:22:14 -08:00
Martin Haye
c4e46238cd Centralized all shared function vectors for efficiency; made mem debug printout fit on screen; use better notation for pointer-to-pointer; fixed bug causing combat to fail on 3D map. 2015-12-29 08:59:13 -08:00
Martin Haye
12a1427af6 Removed some gamelib functions that are better being only in the main module. 2015-12-28 10:52:57 -08:00
Martin Haye
c4e88d3873 Added texture control, so we can swap out textures in 3D mode to make room for a portrait. 2015-12-28 10:20:28 -08:00
Martin Haye
d5d30639d6 Save map state to global vars. 2015-12-28 09:13:18 -08:00
Martin Haye
5fc03b6f55 Better debug for out-of-memory. 2015-12-23 15:59:11 -08:00
Martin Haye
df901ee94f Fixed some bugs introduced by refactoring, and also the portrait preview facility. 2015-12-23 15:42:37 -08:00
Martin Haye
604857a4d2 Animations working in-engine for the first time. 2015-12-17 09:19:49 -08:00
Martin Haye
a1b60a490c Comment fix for min/max, thanks Dave. 2015-12-17 06:48:30 -08:00
Martin Haye
f46aed43a6 Pick up animation flags properly. 2015-12-17 06:48:15 -08:00
Martin Haye
11464433be Now packing animation sequences. 2015-12-12 07:22:15 -08:00
Martin Haye
70174a3342 Forgot to check in some files from the combat refactor. 2015-12-11 06:48:00 -08:00
Martin Haye
54bdfdd47e Finished moving combat code to a module. 2015-12-10 09:43:21 -08:00
Martin Haye
a48e3cc9d8 Making some progress splitting the combat code into a separate module. 2015-12-09 10:16:05 -08:00
Martin Haye
be7ba4a3ed Added partial support for NPC party members; packer now produces headers for the PLASMA code so we don't have to hard-code image numbers. 2015-12-09 07:35:02 -08:00
Martin Haye
90187c007c Starting to work on translating enemy table to code. 2015-12-06 15:44:28 -08:00
Martin Haye
059f77aba1 Starting in on data generation. 2015-12-06 12:02:18 -08:00
Martin Haye
299b5aed2f Enemies fight back\! 2015-12-05 15:01:44 -08:00
Martin Haye
d6c321b11a Finally happy with combat pacing and spacing. 2015-12-05 11:40:27 -08:00
Martin Haye
c4a7e4fe6a Cleaning up display of combat. 2015-12-05 11:13:35 -08:00
Martin Haye
98d9631a90 More combat. 2015-11-30 08:49:46 -08:00
Martin Haye
f342bb55c0 Fixed scrolling in combat window. 2015-11-30 08:02:32 -08:00
Martin Haye
305e79977d Took out more debugging text. 2015-11-30 07:48:36 -08:00
Martin Haye
20576c9986 Turn off memory debugging when not needed. 2015-11-30 07:46:25 -08:00
Martin Haye
010570bca7 Added more combat mechanics; fixed totally-wrong structure numbers. 2015-11-30 07:46:05 -08:00
Martin Haye
da7356450c Combat order determination implemented. 2015-11-29 09:21:03 -08:00
Martin Haye
4eafd97388 Added a few more messages at the start of combat. 2015-11-29 07:50:29 -08:00
Martin Haye
6b38c49ffd Added fight/run logic. 2015-11-19 08:36:35 -08:00
Martin Haye
87cd0c3fd0 Handle singular/plural and singular(s) forms in display strings. 2015-11-19 08:27:04 -08:00
Martin Haye
ddaca82733 Now displaying start of combat. 2015-11-11 08:55:16 -08:00
Martin Haye
6b3b0372fd Now showing Hue's real data. 2015-11-05 09:09:45 -08:00
Martin Haye
c1bcb8d187 A few minor fixes to game logic. 2015-11-05 07:18:17 -08:00
Martin Haye
6e2187087f Added enemy grouping. 2015-10-01 10:04:01 -07:00
Martin Haye
679a9ae6fb Fleshed out first prototype player, Hue Hauser, along with his chaps and handgun. 2015-10-01 08:34:49 -07:00
Martin Haye
9ff4aeb793 Forgot to commit this. 2015-09-19 13:51:08 -07:00
Martin Haye
6ee122f942 Cleaner initialization of test string table. 2015-09-19 13:46:36 -07:00
Martin Haye
efe6525167 Tested and fixed heap intern of strings. 2015-09-19 13:44:41 -07:00
Martin Haye
2f67d1c72f Reworked GC algorithm to share code better. Passes heap test again. 2015-09-19 13:27:57 -07:00
Martin Haye
bd0426e622 Forgot to check in the actual player types. 2015-09-19 08:30:52 -07:00
Martin Haye
698ce413cc Added string interning to heap. Working on type system for players, items, combat. 2015-09-17 10:03:02 -07:00
Martin Haye
a1186596f9 Fix to allow blank lines and comments within struc definition. 2015-09-15 07:27:16 -07:00
Martin Haye
fa6bdfb86d Added PLASMA support for single-level source code include statement, without needing m4. Usage: include "yourfile.pla" 2015-09-13 09:30:10 -07:00
Martin Haye
a4e87954a3 All code under Apache 1.1 license as we agreed on this morning. We always intended to do this, now actually getting around to it. 2015-09-10 09:22:07 -07:00
Martin Haye
4934a84128 Correct spelling error in build file. 2015-09-10 08:01:14 -07:00
Martin Haye
24bf2c9519 Archived heap test code in a separate place. Ready to actually use the heap, instead of test it. 2015-09-09 07:52:10 -07:00
Martin Haye
f88866085f Heap test now runs for a long, long time. I think the heap code is solid. 2015-09-09 07:31:30 -07:00
Martin Haye
cc9b77f7e6 Heap test runs for a long time now without failing. It does eventually fail, but it's a long time. 2015-09-08 08:46:45 -07:00
Martin Haye
074befaca3 More heap testing and bug fixes. 2015-09-08 08:18:17 -07:00
Martin Haye
da6073fefa More generic linked list support. 2015-09-07 08:46:17 -07:00
Martin Haye
6d61a0073f First time free-and-collect works right. 2015-09-06 11:06:01 -07:00
Martin Haye
1f324ea547 Lots of heap debugging and fixes. 2015-09-05 11:01:45 -07:00
Martin Haye
b5eb726b25 Heap testing going well. 2015-09-02 10:16:39 -07:00
Martin Haye
7aee4a37f7 Now allocating players and items; starting GC debugging. 2015-09-02 09:55:21 -07:00
Martin Haye
95c549984c Hacked into PLASMA's memory accessors to give VM code transparent read/write access to main language card $E000.FFFF, and aux bank 1 language card $D000.DFFF. 2015-09-02 07:54:41 -07:00
Martin Haye
868837d040 More work on small-object heap testing. 2015-08-28 14:24:16 -07:00
Martin Haye
e7ec609e24 Merge branch 'master' of https://github.com/badvision/lawless-legends 2015-08-28 14:04:11 -07:00
Martin Haye
159f956bf7 More heap testing. 2015-08-28 14:04:08 -07:00
dschmenk
64ab54dbf3 Thanks MArtin Haye for the removal of unneccesary ALTRD code! 2015-08-28 12:19:08 -07:00
Martin Haye
ec6368a10b Fixed memory manager init that didn't properly copy heap code. 2015-08-28 08:24:21 -07:00
Martin Haye
f3b8b7b48d Increment random seed in my keyboard loop. 2015-08-21 09:40:53 -07:00
Martin Haye
9eb99c4dc5 Increment random seed in my keyboard loop. 2015-08-21 09:28:57 -07:00
Martin Haye
50a7123381 Added random number generator. 2015-08-21 08:57:15 -07:00
Martin Haye
6cfbe817c2 More cleanup. 2015-08-21 08:03:08 -07:00
Martin Haye
d2e1c28575 Cleanup. 2015-08-21 07:59:03 -07:00
Martin Haye
a8a4fdefed Working on implementing heap API. 2015-08-19 08:45:02 -07:00
Martin Haye
a8ec4fd42c Cleaned up some inefficient memory manager code. 2015-08-19 07:53:08 -07:00
Martin Haye
2e4a992c75 Simplified calling sequence for memory manager. 2015-08-19 07:22:20 -07:00
Martin Haye
39c37c2517 Made API for garbage collector (now called heap system) 2015-08-18 09:39:05 -07:00
Martin Haye
a6c2b46a92 Merged in GC code. 2015-08-18 07:11:59 -07:00
Martin Haye
56163b41d6 More work on GC code; moved init down to be one-time only (saves mem); minor mem mgr fixes. 2015-08-18 06:58:13 -07:00
Martin Haye
d347093dee Added moveFast mode for demos. 2015-08-06 08:43:41 -07:00
Martin Haye
fef4595e9a Using new font engine HTAB code now. 2015-07-11 08:58:00 -07:00
Martin Haye
5c95954cee Fix bug where text prompt on 3D maps was displayed on non-visible page. 2015-07-11 07:39:57 -07:00
Martin Haye
45c993d610 Modified for new XSD place for script names. Also, added new Tab code from Andrew. 2015-07-06 17:09:15 -07:00
Martin Haye
195decd122 Added support for println and clearWindow blocks. Added support for defaults in keyboard teleport. Fixed nasty page-boundary bug for strings in scripts. 2015-07-04 10:02:49 -07:00
Martin Haye
1becc7d61b Added clamping on 2d map, so player never sees the black area outside the map. 2015-07-01 10:04:19 -07:00
Martin Haye
a6876e8d39 Fix rendering bug when switching 3D map to 3D map. Fix keyboard teleport when switching maps. Fix redisplay of map name when changing section. 2015-06-30 09:27:10 -07:00
Martin Haye
03e0117537 Fixed bug with center scroll eventually overflowing. 2015-06-29 08:47:42 -07:00
Martin Haye
cf55e06347 Fixed fake character text; added support for control codes in packer. 2015-06-28 10:07:50 -07:00
Martin Haye
0c4aac3da9 Added aux mem check, and fixed bug in CROSS_WEST. 2015-06-28 09:26:52 -07:00
Martin Haye
6ddc105fd8 Made progress on garbage collection. 2015-06-23 18:33:58 -07:00
Martin Haye
f4e7586c13 Fix for null category, and new font from Seth. 2015-06-19 12:40:41 -07:00
Martin Haye
9e2c0fc3fe New font from Seth, and fixed a few font engine bugs that I introduced. 2015-06-11 11:02:02 -07:00
Martin Haye
f586bc6066 Seth's first tweak of the font. 2015-06-11 05:31:13 -07:00
Martin Haye
81a34f9a61 Checking in Andrew's original font. 2015-06-11 05:30:56 -07:00
Martin Haye
9e64a6df38 Andrew's shiny new proportional font engine is working! 2015-06-08 08:11:39 -07:00
Martin Haye
edc1e7d410 Andrew's shiny new font engine is working! 2015-06-08 08:07:37 -07:00
Martin Haye
0077d9ea05 Working on code to set font window boundaries. Also ported Andrew's word-break parser. 2015-06-07 15:50:06 -07:00
Martin Haye
9991cc1dc4 Displayed first chars from new font engine\! 2015-06-07 13:40:04 -07:00
Martin Haye
edf0433f07 Minor fixes. 2015-06-06 15:19:23 -07:00
Martin Haye
05a6f5390f Proportional font engine now assembles. 2015-06-06 14:57:42 -07:00
Martin Haye
e70280df73 Merge branch 'master' into pfont 2015-06-06 14:23:08 -07:00
Martin Haye
a92f2e1da9 Sped up decompression to aux mem, and sped up fixups, since memory manager now doesn't have to jump through hoops to get to aux mem. 2015-06-06 09:37:04 -07:00
Martin Haye
9d19b46cb1 Memory manager now working fully in LC ram. 2015-06-06 09:32:42 -07:00
Martin Haye
bd1274448d Moving memory manager up into Language Card RAM. 2015-06-06 09:25:04 -07:00
Martin Haye
cd68312dc6 Finished rearranging debug code. 2015-06-06 07:48:21 -07:00
Martin Haye
5b8f75ecd1 Refactored debug macro support to be always present, and provided by the memory manager. 2015-06-05 07:54:09 -07:00
Martin Haye
16509b9942 Fixed bug: need to repair line table in raycaster after using ProDOS, because ProDOS now uses aux ZP. 2015-06-04 10:21:04 -07:00
Martin Haye
a8e501c51b Now can actually make use of the RAM freed by moving ProDOS. 2015-06-04 10:11:38 -07:00
Martin Haye
53b956eccc Relocated ProDOS to aux bank. 2015-06-04 09:17:39 -07:00
Martin Haye
4a1a5b3fd5 Added original code of font and hi-res addr tbl for font engine. 2015-06-04 07:26:08 -07:00
Martin Haye
95c98b631e Converting pfont to ACME. 2015-06-04 07:03:58 -07:00
Martin Haye
de5fce5414 Fix problem with clearing the fake character data. 2015-06-03 09:12:15 -07:00
Martin Haye
960d61e422 Started porting Andrew's proportional font engine. 2015-06-03 09:10:22 -07:00
Martin Haye
5fa973ea7c Added a 'get any key' block. 2015-06-03 07:56:19 -07:00
Martin Haye
331918eb8b Fixed bug that chopped off long texts. Added some faked-up player character stats. 2015-06-01 10:38:22 -07:00
Martin Haye
6b51dff8b9 Added move_backward blockly block. 2015-05-31 19:03:38 -07:00