Commit Graph

355 Commits

Author SHA1 Message Date
Martin Haye
a4eaeb5cf1 Fix map name display when returning from combat. 2016-06-09 07:39:09 -07:00
Martin Haye
c4b973fabf Changed disk activity indicator to blue per Seth's preference. 2016-06-03 09:42:28 -07:00
Martin Haye
64fa3c0ebb Made disk activity icon. 2016-06-03 09:18:25 -07:00
Martin Haye
170c98508f Moved player info display to separate module, party.pla. Added a few descriptive comments to help Dave get started. 2016-06-01 09:03:14 -07:00
Martin Haye
334c7e6d71 Fix for missing hi-bits in text windows making characters look like they were cut off. 2016-05-19 09:31:28 +02:00
Martin Haye
6ed1518520 String management: break up long strings into plasma-size chunks; clear string pool after each. 2016-05-10 07:13:22 +02:00
Martin Haye
0f2f2fa4ab Animations now run during combat pauses. 2016-04-28 08:20:28 -07:00
Martin Haye
9cdc68b0ee Improved messaging for errors. 2016-04-26 06:39:44 -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
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
e05a9691f9 Further work on just-in-time copy to build dir. 2016-02-15 14:43:25 -08:00
Martin Haye
e12555531a Pure-PLASMA scripts from Outlaw now working. 2016-02-09 08:23:25 -08:00
Martin Haye
9883d292fc Start with first portrait for test mode. 2016-01-07 11:29:31 -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
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
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
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
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
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
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
2f67d1c72f Reworked GC algorithm to share code better. Passes heap test again. 2015-09-19 13:27:57 -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
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
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
159f956bf7 More heap testing. 2015-08-28 14:04: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
2e4a992c75 Simplified calling sequence for memory manager. 2015-08-19 07:22:20 -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
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
cf55e06347 Fixed fake character text; added support for control codes in packer. 2015-06-28 10:07:50 -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
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
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
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
de5fce5414 Fix problem with clearing the fake character data. 2015-06-03 09:12:15 -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
Martin Haye
26e7e1b119 More compact aux to main string-copy routine. 2015-05-31 11:35:01 -07:00
Martin Haye
57462b7638 Moved scenario script strings to aux mem. 2015-05-31 11:19:03 -07:00
Martin Haye
fa266e6367 Fixed so portraits work right in 3D maps. 2015-05-28 09:05:24 -07:00
Martin Haye
f1dfcccff3 Added Blockly blocks for showing portraits. 2015-05-28 08:14:01 -07:00
Martin Haye
a2454c1212 Fixes for map name display, sky/ground colors, and portrait rendering. 2015-05-27 08:13:09 -07:00
Martin Haye
2069140e31 Fixed for broken scripting after loading new map sections. 2015-05-21 07:19:22 -07:00
Martin Haye
907666c716 Now able to script transitions from 2D to 3D and back. 2015-05-20 09:47:35 -07:00
Martin Haye
7be0112be4 Symmetric improvements to 2D API. 2015-05-16 08:48:29 -07:00
Martin Haye
80cf3ddb03 Got triggers working right on 3D map, including multiple triggers per location. 2015-05-15 08:19:18 -07:00
Martin Haye
375cac1459 Getting 3D back into shape. 2015-05-07 10:17:38 -07:00
Martin Haye
64870ea6a8 Working on 2D to 3D transition. 2015-05-07 09:12:52 -07:00
Martin Haye
329a7070ce Cleaned some debug stuff up. 2015-05-06 09:45:59 -07:00
Martin Haye
f22f4ed9db Teleportation mostly fixed. 2015-05-06 09:36:27 -07:00
Martin Haye
be7b8a0b70 Testing long-range teleport. 2015-05-03 09:25:57 -07:00
Martin Haye
eada6ad85d Progress on 2D scrolling. 2015-04-27 08:25:15 -07:00
Martin Haye
1f5a6cec29 Basics of 2D teleport kinda working. 2015-04-20 08:32:02 -07:00
Martin Haye
9739fb34e9 Working on 2D teleportation. 2015-04-14 07:19:42 -07:00
Martin Haye
9e94928f0a More refactoring. 2015-04-09 10:31:36 -07:00
Martin Haye
efe2415098 More refactoring. 2015-04-05 09:52:38 -07:00
Martin Haye
4227042b11 More work refactoring API to rendering engines. 2015-03-31 12:02:48 -07:00
Martin Haye
58da79a805 Working on standardized API to 2d and 3d engines. 2015-03-25 11:51:29 -07:00
Martin Haye
a835321b5f Implemented printf for handy debugging, and now generating a map index for the 2D sections. 2015-03-25 07:40:46 -07:00
Martin Haye
56897dd67d Implementing printf-like family of functions. 2015-03-05 09:34:42 -08:00
Martin Haye
315c6b6936 More work on 2D script triggers. 2015-03-03 09:03:22 -08:00
Martin Haye
2b686a8629 More work on script triggers. 2015-02-27 05:33:11 -08:00
Martin Haye
5109fcf41a Now calculating avatar X and Y offsets within current map section. 2015-02-23 08:39:10 -08:00
Martin Haye
abd63d0481 Now loading scripts for 2D maps, and registering the new trigger table. 2015-02-23 08:01:47 -08:00
Martin Haye
792b8854ac More 2d work: tileset division, show avatar in center, fix load bug. 2015-02-16 16:18:00 -08:00
Martin Haye
cc23a96a09 Full map scrolling now works. 2015-02-03 09:16:24 -08:00
Martin Haye
b9a4caba1f Fixed tile address calculation and tileset numbering. 2015-01-27 08:36:05 -08:00
Martin Haye
dc194d44f7 Simplified section math. 2015-01-18 08:59:56 -08:00
Martin Haye
4dec52a4d2 Got some tiles to display\! 2015-01-17 16:38:52 -08:00
Martin Haye
09583ce1ce Now loading the initial 4 map sections in the tile engine. 2015-01-10 13:17:56 -08:00
Martin Haye
4e4892381f Now splitting maps up into sections. Refactored game loop to make room for 2D variant. 2015-01-07 14:48:04 -08:00
Martin Haye
e82f75009d Updated comment style for new PLASMA. 2014-08-21 08:17:50 -07:00
Martin Haye
c7c969d2d0 Fixed bug where println wasn't recognized. 2014-07-25 18:33:44 -05:00
Martin Haye
d66d6acf97 Fixed horrible bug in the memory manager. 2014-07-25 17:05:34 -05:00
Martin Haye
d6d6dbf718 Was fooling around with scrolling. 2014-07-25 13:23:27 -05:00
Martin Haye
f7655e6c79 Fixed scrolling. 2014-07-23 15:39:43 -05:00
Martin Haye
760cccbb80 Fixed mem coalesce bug, and made return to wilderness resume the old position. 2014-07-23 14:50:16 -05:00
Martin Haye
e849051afd Implemented loading screen, fixed a bunch of bugs. 2014-07-21 18:28:39 -07:00
Martin Haye
45c0ccf6c3 Splitting strings into words. 2014-07-20 15:52:51 -07:00
Martin Haye
a2830e9828 More work on init scripts, and proper redrawing after teleport. 2014-07-20 14:43:48 -07:00
Martin Haye
c4e5e84461 Scripted transitions between maps work now. 2014-07-20 07:01:21 -07:00
Martin Haye
97b942036f Added blocks for setting sky and ground colors, and teleporting the player. Added support for init scripts using Blockly. 2014-07-20 06:02:10 -07:00
Martin Haye
ebe228d15f Now processing IF statements with GETYN triggers, and SETMAP events. 2014-07-19 15:55:27 -07:00
Martin Haye
69026ed705 Now scripts have a flag of their own on the map, for speedy detection. 2014-07-19 14:22:31 -07:00
Martin Haye
f4342b12c1 Now scripts have a flag of their own on the map, for speedy detection. 2014-07-19 14:17:40 -07:00
Martin Haye
d6815eab05 Fixes for lots of scripts, and for empty script blocks. 2014-07-19 13:54:41 -07:00
Martin Haye
3bbcc7ed92 Rearranged things a bit in preparation for segmented 2D map packing. 2014-07-15 09:52:58 -07:00
Martin Haye
e56ad5e7da Really running scripts on the map now. 2014-07-08 19:11:03 -07:00
Martin Haye
d06884c0e9 Kinda loading scripts module, but it appears to be trashing memory. 2014-07-08 16:02:10 -07:00
Martin Haye
a330b395fe Working on text functions and scripting in Outlaw. 2014-07-08 09:39:31 -07:00
Martin Haye
3af48520a1 Implemented blocker sprites the right way. 2014-07-06 18:22:31 -07:00
Martin Haye
af0c26944f Can now cycle through sky and ground colors. 2014-07-06 17:04:26 -07:00
Martin Haye
655fe7946f Lots of fixes. 2014-07-06 16:45:27 -07:00
Martin Haye
89d8721afd Added strafing. 2014-07-06 16:13:44 -07:00
Martin Haye
6ca538f33f Can now navigate using the plasma main loop. 2014-07-06 16:09:10 -07:00
Martin Haye
ca45c71605 Can now navigate using the plasma main loop. 2014-07-06 16:02:52 -07:00
Martin Haye
a399d81478 Converting main loop to PLASMA. 2014-07-06 14:40:35 -07:00
Martin Haye
0950b9357e Moved PLASMA compiler to be alongside other Apple platform tools. 2014-07-06 10:21:03 -07:00
Martin Haye
b28b7200fb More work on game loop. 2014-07-06 07:40:57 -07:00
Martin Haye
f43c51dd74 Really loading and running PLASMA code now. 2014-07-03 16:56:26 -07:00
Martin Haye
786853a4a7 Now runs PLASMA code\! 2014-06-25 08:47:28 -07:00