Commit Graph

36 Commits

Author SHA1 Message Date
evanpelle 1ce282d41b Move map metadata to map manifest (#1262)
## Description:

To simply the map binary data, remove height & width data to the
manifest

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

## Please put your Discord username so you can be contacted if a bug or
regression is found:
evan
2025-06-23 14:50:18 -07:00
evanpelle b48770faf0 Move maps generation out of repo, new map structure (#1256)
## Description:

Move map generation outside of main repo, it has been rewritten in Go
and is much faster. Also refactor how maps are stored, one dir per map.
The map binaries are basically identical to before. Some maps like
Africa have 1% difference in bytes, but playing it looks exactly the
same.

Use lazy loading for map data access so only needed files are accessed.

Unit tests now load map binary instead of regenerating it from scratch,
speeding them up.

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

## Please put your Discord username so you can be contacted if a bug or
regression is found:
evan
2025-06-23 11:23:56 -07:00
falc 77f57207be Changed consolex to console logging (#1036)
## Description:
Changed from consolex to console
## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I process any text displayed to the user through translateText()
and I've added it to the en.json file
- [x] I have added relevant tests to the test directory
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

## Please put your Discord username so you can be contacted if a bug or
regression is found:

@qqkedsi
2025-06-04 09:22:17 -07:00
Scott Anderson 70745faac4 Enable strictNullChecks, eqeqeq (#436)
## Description:

Improve type safety and runtime correctness by:
1. Enabling TypeScript's
[strictNullChecks](https://www.typescriptlang.org/tsconfig/#strictNullChecks)
compiler option.
2. Replacing all loose equality operators (`==` and `!=`) with strict
equality operators (`===` and `!==`).
3. Cleaning up of type declarations, null handling logic, and equality
expressions throughout the project.

Currently, the code allows implicit assumptions that `null` and
`undefined` are interchangeable, and relies on type-coercing equality
checks that can introduce subtle bugs. These practices make it difficult
to reason about when values may be absent and hinder the effectiveness
of static analysis.

Migrating to strict null checks and enforcing strict equality
comparisons will clarify intent, reduce bugs, and make the codebase
safer and easier to maintain.

Fixes #466 

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

---------

Co-authored-by: Scott Anderson <662325+scottanderson@users.noreply.github.com>
Co-authored-by: evanpelle <openfrontio@gmail.com>
2025-05-15 16:39:40 -07:00
Evan 950344c0bd created prestart message: add 2 second delay before starting public games to allow all players to connect 2025-04-03 15:42:25 -07:00
Evan 8b6895d745 add prettier import plugin 2025-03-31 13:09:27 -07:00
evanpelle cd1f8b9586 add testing infrastructure and example test (#276) 2025-03-17 12:20:23 -07:00
BeGj 619891741f linting 2025-03-07 16:53:10 +00:00
NewHappyRabbit 949f68287e Added flags 2025-02-11 23:34:19 +02:00
Evan 4ee37323f9 format codebase with prettier 2025-02-01 12:05:11 -08:00
evanpelle 42490e2aef use renderTroops & renderNumber for playerinfo overlay 2025-02-01 12:05:11 -08:00
Evan f0f5bae79f thread_split: convert all tile to tileref 2025-02-01 12:05:11 -08:00
evanpelle c42cc2a9b4 have Game delegate to GameMap for cleaner API 2025-02-01 12:05:11 -08:00
evanpelle 2068e42982 use GameMap for storage in worker thread 2025-02-01 12:05:11 -08:00
evanpelle 2a2f62436c have terrainmaploader return GameMap 2025-02-01 12:05:11 -08:00
evanpelle 0d764eb885 update gamemap, rename gamemap enum => gamemaptype 2025-02-01 12:05:11 -08:00
evanpelle f0d9477e56 use terrain tile for search 2025-02-01 12:05:11 -08:00
evanpelle 05564b7668 make terrain tile load lazily save memory 2025-02-01 12:05:11 -08:00
evanpelle 29ad62c2a4 leaderboard works with view 2025-02-01 12:05:11 -08:00
Evan 2441abd7c8 game kind of working with GameView 2025-02-01 12:05:11 -08:00
Evan dab427d614 put methods onto terraintile 2025-02-01 12:05:11 -08:00
evanpelle 111775a3f4 generate mini map offline and load it from binary. this reduces loading time by 30-40% 2024-12-25 11:27:36 -08:00
evanpelle ff02d9d8b6 have core/ directory use consolex for remote logging 2024-12-18 12:00:00 -08:00
Evan da7637477c add Oceania and North America maps 2024-12-08 20:56:19 -08:00
Evan 30f72a3365 NPCs create battleships, destroyers. start work on miniastar 2024-11-30 12:41:22 -08:00
Evan 5d4befb117 Created mini map for a star search 2024-11-29 20:35:08 -08:00
Evan 020d193667 create async path finder, trade ships use async when captured 2024-11-29 15:41:13 -08:00
Evan 3e4f4e42cf created path finding web worker 2024-11-29 11:34:03 -08:00
Evan 2216c34c41 create terrainsearchmap 2024-11-28 12:25:10 -08:00
Evan 8b76717ef0 added Mena 2024-10-30 20:45:08 -07:00
evanpelle d92dc9eba6 rewrite game join network logic: don't load client game until game starts. Allows setting attrs like game map, difficulty 2024-10-16 19:52:05 -07:00
evanpelle 5da1c2f620 can select map private game 2024-10-12 20:54:18 -07:00
evanpelle bb8827c8ad use europe map 2024-10-09 10:51:56 -07:00
evanpelle 7235b73b6c * deleted old maps
* fixed bug where NPC and Bots had same id
* NPCs spawn near IRL location
* NPCs have different strength (starting troops)
* game has more NPCs than before
* Needs more balancing
2024-10-08 20:42:35 -07:00
evanpelle d7725e3619 fix map load build error 2024-10-08 19:36:40 -07:00
evanpelle f3307300ef refactored GameImpl into multiple files 2024-09-17 19:49:16 -07:00